Tải bản đầy đủ (.doc) (44 trang)

Xây dựng chương trình tra cứu thông tin domain

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (748 KB, 44 trang )

Đồ ản Lập trình mạng nâng cao

VIETHANITC

LỜI
NÓILỤC
ĐÀU
MỤC
LỜI NÓI ĐẦU..................................*..........*...........................................................i
MỤC
LỤC....................................................................................................................ii
Ngày
nay, mạng máy tính đang ngày càng phát triển không ngừng và trở nên tiện
MỤC LỤC HÌNH ẢNH..............................................................................................iv
dùng
kèmLỤC
theoBẢNG
đó là tính
phức tạp cồng kềnh không kém. Các dự án nghiên cứu, xây
MỤC
BIÈƯ...........................................................................................V
CHƯƠNG
1. GIỚI
THIỆU
VỀứng
HỆdụng
THỐNG
TÊNđềMIỀN
dựng
và phát triển
chương


trình
chỉ mới
cập vàDNS.................................1
quan tâm đúng mức trong
1.1. TÊN MIỀN LÀ GÌ?...........................................................................................1
thời1.2.
gianHỆ
gầnTHỐNG
đây. Muốn
dựngLÀ
các
cụ mạnh
đáp ứng
được nhu cầu phát triển
TÊNxây
MIỀN
GÌcông
(DOMAIN
NAME
SYSTEM).......................2
1.2.1...................................................................................................................................
L
của mạng
thì cần có các công cụ hỗ trợ mạnh mẽ (như C++, c#, Java..).
ịch sử phát triển hệ thống tên miền..........................................................................2
1.2.2...................................................................................................................................

Mục
của hệ
thống

tênmẽ
miền
Vớiđích
sự phát
triển
mạnh
của(DNS)..................................................................2
mạng máy tính như vậy, nhu cầu sử dụng Internet
1.3. CẤU TRÚC CỦA HỆ THỐNG TÊN MIỀN (DNS)..........................................3
ngày 1.3.1.
càng cao
nên
việc
dựng
những chương trình ứng dụng nhằm tạo sự tiện ích cho
Cấu
trúc
cơ xây
sở dữ
liệu...................................................................................3
Cấulàtrúc
của tên
miền...................................................................................3
người1.3.2.
sử dụng
rất cần
thiết.
Nhiều chương trình ứng dụng trên mạng đã ra đời và rất
1.3.2.1. Cách đặt tên miền.....................................................................................3
hữu ích,1.3.2.2............................................................................................................................

vì vậy mà công việc lập trình mạng phát triển mạnh mẽ và cần thiết. Chúng em
P
hân loại tên miền..................................................................................................3
đã chọn đề tài “Xây dựng chương trình tra cứu thông tin Domain” nhằm giúp người
1.3.2.3............................................................................................................................ C
dùng ấu trúc tên miền....................................................................................................4
1.3.3. Máy chủ quản lý tên miền (Domain name server-dns).................................5
dễ dàng
trong
và có
tratrong
cún thông
tin liệu
về một
tên miền
nào đó được nhanh
1.3.4.
Cácviệc
bảntìm
ghi hiếu
thuờng
cơ sở dữ
của DNS
server:.......................6
1.3.4.1. Bản ghi SOA (Start of Authority)............................................................6
chóng ,1.3.4.2.
việc xâyBản
dựng
chương trình nhằm giúp cho sinh viên tăng khả năng
ghihoàn

kiểu thiện
A..........................................................................................6
lập trình1.3.4.3.
và hiếuBản
sâughi
hơnCNAME......................................................................................7
về hệ thống mạng. Đe tài có ý nghĩa thiết thực trong việc tìm
1.3.4.4. Bản ghi MX..............................................................................................7
hiểu và1.3.4
xây dựng
mềm,
đồng thời xây dựng nên một cơ sở nền tảng lý thuyết về
5 Bảnphần
ghiNS
.......................................................................................
8
1.3.4.6 Bản ghi PTR .... . .. .... .... .... ... ... . ... ....8
1.4. PHẦN LOẠI DNS SERVER VÀ ĐỒNG BỘ DỮ LIỆU GIỮA CÁC DNS
SERVER........ ............ ........................................ .. ....................................... . ........9
1.4.1. Phân loại DNS server.....................................................................................9
1.4.2. Đồng bộ dữ liệu giữa các DNS server( Zone transfer).................................10
1.4.2.1. Các phương pháp đồng bộ dừ liệu giữa các DNS server.......................10
1.4.2.2. Cơ chế hoạt động đồng bộ dừ liệu giữa các DNS server.......................11
CHƯƠNG 2. LẬP TRÌNH MẠNG TRONG .NET FRAME WORK........................13
2.1......................................................................................................................................... S
OCKET KHÔNG HƯỚNG KẾT NỐI (UDP SOCKET)...........................................14
2.2......................................................................................................................................... C
ÁC LỚP HỎ TRỢ ĐƯỢC XÂY DỤƯG TỪ LỚP SOCKET.....................................14
2 2.1 Lớp TCP Client:.............................. ....... . .. ....... . ........................................14
2.2.2. Lớp TCPListener.........................................................................................15

2.2.3. Lớp UDP Client:. .....................................................................................16
2.3. SOCKET KHÔNG ĐỒNG BỘ:.........................................................................17
2.3.1. Sử dụng Socket không đồng bộ:..................................................................17
2.3.2. Sử dụng các phương thức Non-Blocking.....................................................18
Nhóm 8 - MM02A - Tấn Việt — Nguyễn Hoàng - Hữu Nghị

Trang ii

1


Đồ ản Lập trình mạng nâng cao

VIETHANITC
3.1.1. Giới thiệu WHOIS.......................................................................................24
3.1.1.1. Lịch sử....................................................................................................24
3.1.1.2. Các giao thức WHOIS...........................................................................25
3.1.2. Hoạt động của lệnh ping..............................................................................26
3.2. VIẾT CHƯƠNG TRÌNH...................................................................................28
3 2.1 WHOIS........................................................................................................ 28
3.2.2. PING............................................................................................................31
3.3. GIÓI THIỆU CHƯƠNG TRÌNH.......................................................................38
KẾT LUẬN................................................................................................................45
TÀI LIỆU THAM KHẢO..........................................................................................46

Nhóm 8 - MM02A - Tấn Việt — Nguyễn Hoàng - Hữu Nghị

Trang iii



Đồ ản Lập trình mạng nâng cao

VIETHANITC

MỤC LỤC HÌNH ẢNH
Hình 2.1 Socket hướng kết nối (TCP Socket)............................................................13
Hình 2.2 Ví dụ về gởi nhận 1CMP.............................................................................21
Hình 3.1 Cách thức hoạt động của Whois..................................................................26
Hình 3.2Ví dụ về Ping...............................................................................................27
Hình 3.3 Giao diện chính của chương trình...............................................................39
Hình 3.4 Các tính năng chính của chương trình........................................................40
Hình 3.5 Ket quả thông tin về domain khi truy vấn domain quantrimang.com.........41
Hình 3.6 Ket quả khi truy vấn domain 2mit.org........................................................42
Hình 3.7 Demo tính năng PING.................................................................................43
Hình 3.8 Demo tính năng DNS Address Resover......................................................44

Nhóm 8 - MM02A - Tấn Việt — Nguyễn Hoàng - Hữu Nghị

Trang iv


Đồ ản Lập trình mạng nâng cao

VIETHANITC

MỤC LỤC BẢNG BIẺƯ
Bảng 1.1 Danh sách các Root Server DNS................................................................6
Bảng 2.1 Các phương thức khởi tạo...........................................................................14
Bảng 2.2 Một số thuộc tính........................................................................................15
Bảng 2.3 Một số phương thức....................................................................................15

Bảng 2.4 Phương thức khởi tạo TcpListener..............................................................16
Bảng 2.5 Các phương thức khởi tạo TcpListener khác..............................................16
Bảng 2.6 Các phương thức của lớp UDP Client........................................................17
Bảng 2.7 Các loại thông điệp quan trọng và thường sử dụng....................................20
Bảng 2.8 Nhũng loại Code của thông điệp ICMP Unreachable................................21
Bảng 2.9 Cấu trúc bản tin ICMP..................................................................22
Bảng 3.1 Các yếu tố dữ liệu chung trong lớp ICMP..................................................32

Nhóm 8 - MM02A - Tấn Việt — Nguyễn Hoàng - Hữu Nghị

Trang V


Đồ án Lập trình mạng nâng cao

VIETHANITC

CHƯƠNG 1. GIỚI THIỆU VÊ HỆ THỐNG TÊN MIÊN
DNS
1.1. TÊN MIỀN LÀ GÌ?

Mạng máy tính toàn cầu (Internet) bao gồm hàng tỉ máy tính nối mạng
với
nhau, mỗi máy tính cần có một địa chỉ xác định trên mạng.Hiện nay địa chỉ
dùng

trên

mạng là địa chỉ IP. Mỗi máy tính được cấp phát một địa chỉ IP và địa chỉ này là
duy

nhất. Địa chỉ IP hiện đang đang được sử dụng phô biến hiện nay là IPv4 có 32
bit

chia

thành 4 phần. Mỗi phần là 8 bít( tương đương là 1 byte) cách đếm từ trái qua
phải.Các
phần cách nhau bằng một dấu chấm (.) và biểu diễn ơ dạng thập phân đầy đủ là
12

con

số. Mỗi phần là 3 con số.Ví dụ một địa chỉ Internet : 146.123.110.224. Vì mạng
máy
tính toàn cầu hiện nay đang phát triển mạnh mẽ nên nhu cầu về địa chỉ IP ngày
càng
tăng. Địa chỉ IP sắp tới được sử dụng là IPv6 có 128 bit. dài gấp 4 lần
IPv4.Phiên

bản

Ipv4 có khả năng cung cấp 232 = 4 294 967 296 địa chỉ .Phiên bản IPv6 có khả
năng
cung cấp 2128 địa chỉ. Hiện nay nước ta đang triển khai thử nghiệm IPv6.
Kiến thức về Internet cũng như thực hành triển khai các dịch vụ cần thiết
cho

Nhóm 8 - MM02A - Tấn Việt - Nguyễn Hoàng - Hữu Nghị

T rang 1



Đồ án Lập trình mạng nâng cao_________________________VIETHANỈTC
1.2. HỆ THÓNG TÊN MIÈN LÀ GÌ (DOMAĨN NAME SYSTEM)
1.2.1. Lịch sử phát triển hệ thống tên miền

Hiện nay các máy tính nối mạng toàn cầu liên lạc với nhau , tìm đường
trên
mạng và nhận diện nhau bằng địa chỉ IP. về phía người sử dụng đế có thê sử
dụng
được các dịch vụ trên mạng họ phải nhớ được địa chỉ của các máy chủ cung cấp
dịch
vụ này. Do người sử dụng phải nhớ được địa chỉ IP với dạng chữ sổ dài như vậy
khi
nối mạng là rất khó khăn và vì thế có nhu cầu một địa chỉ thân thiện, mang tính
gợi

mở

và dỗ nhớ hon cho người sử dụng đi kèm. Và từ yêu cầu đó đã hình thành hệ
thống

tên

miền.
Ban đầu với mạng máy tính còn nhỏ của Bộ quốc phòng Mỹ thì chỉ cần
một
tệp HOSTS.txt chứa các thông tin về chuyến đối địa chỉ và tên mạng. Nhưng
khi


mạng

máy tính ngày càng phát triển thì với một tệp HOSTS.txt là không khả thi. Do
vậy

đến

năm 1984 Paul Mockpetris thuộc viện USC’s Intbrmation Sciences Institute
phát

triển

một hệ thống quản lý tên miền mới lấy tên là Hệ thống tên miền - Domain
Name
System và ngày càng phát triên
1.2.2. Mục đích của hệ thống tên miền (DNS)

Nhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị

T rang 2


Đồ án Lập trình mạng nâng cao__________________

VIETHANITC

1.3. CÁU TRÚC CỦA HỆ THÓNG TÊN MIỀN (DNS)
1.3.1. Cấu trúc CO' sỏ' dữ liệu

Cơ sở dừ liệu của hệ thống DNS là hệ thống cơ sở dữ liệu phân tán và

phân

cấp

hình cây. Với .Root server là đỉnh của cây và sau đó các miền (domain) được
phân
nhánh dần xuống dưới và phân quyền quản lý. Khi một máy khách (client) truy
vấn
một tên miền nó sẽ đi lần lượt từ root phân cấp xuống dưới để đến DNS quản lý
domain cần truy vấn. Tô chức quản lý hệ thống tên miền trên thế giới là The
Internet
Coroperation for Assigned Names and Numbers (ICANN) .Tổ chức này quản lý
mức
cao nhất của hệ thống tên miền (mức root) do đó nó có quyền cấp phát các tên
miền



mức cao nhất gọi là Top-Level-Domain.
Cấu trúc của dừ liệu được phân cấp hình cây root quản lý toàn bộ sơ đồ


phân

quyền quản lý xuống dưới và tiếp đó các tên miền lại được chuyển xuống cấp
thấp
hơn (delegale) xuống dưới.
Zone: Hệ thống tên miền(DNS) cho phép phân chia tên miền để quản lý





chia hệ thống tên miền thành zone và trong zone quản lý tên miền được phân
chia
đó.Các Zone chứa thông tin vê miền cấp thấp hơn, có khả năng chia thành các
zone
cấp thấp hơn và phân quyền cho các DNS server khác quản lý.
Ví dụ : Zone “.vn” thì do DNS server quản lý zone “.vn” chứa thông tin
Nhóm 8 - MM02A - Tấn Việt - Nguyễn Hoàng - Hữu Nghị
T rang 3


Đồ án Lập trình mạng nâng cao

VIETHANITC

- Edu: Tên miền này được dùng cho các cơ quan giáo dục, trường học
- Net: Tên miền này được dùng cho các tổ chức mạng lớn
- Gov: Tên miền này được dùng cho các tô chức chính phủ
- Org: Tên miền này được dùng cho các to chức khác
- Int: Tên miền này dùng cho các tổ chức quốc tế
- Info: Tên miền này dùng cho việc phục vụ thông tin
- Arpa: Tên miền ngược
- Mil: Tên miền dành cho các tổ chức quân sự, quốc phòng

Mã các nước trên thế giới tham gia vào mạng internet, các quốc gia này
được
qui định bằng hai chữ cái theo tiêu chuấn ISO-3166 (Ví dụ : Việt Nam là .vn,
Singapo
la sg—)

Tổ chức ICANN đã thông qua hai tên miền mới là :
- Travel: Tên miền dành cho tổ chức du lịch
- Post: Tên miền dành cho các to chức bưu chính

Các tên miền dưới mức root này được gọi là Top -Level - Domain
1.3.2.3. cấu trúc tên miền

Tên miền được phân thành nhiêu cấp như:
Nhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị

T rang 4


ROOTSERVE
Serv
e
A
B

c

Đồ
Đồ án
án Lập
Lập trình
trình mạng
mạng nâng
nâng cao
cao_________________________VIETHANỈTC
VIETHANITC

Tổ chức quản lý
Vị trí
Địa chi IP
Số
lấy tên miền ở mức hay là “edu” có nghĩa là tổ chức thuộc về giáo dục. Cuối
Danh sách các Root19836
Server DNS
192.41.0.4
VeriSign
Global Dulles VB Bảng 1.1
cùng

Registry Services
“.vn”, Del
tên miền
chỉ ra toàn bộ miền
tbanày thuộc quyền quản lý của
ĨPv4:192.228.79.2
Iníbrmation tên miềnMarina
Rey này
0
Sciences
mạng CA
1
Institute
Internet Viet nam.
Cogent
Hemdon VA; Los 3
Một số chú ý khi đặt tên miền:
-


Tên miền nên đặt giới hạn từ cấp 3 đến cấp 4 vì nhiều hơn nữa việc nhớ

tên



quản trị khó khăn.
-

Sử dụng tên miền là phải duy nhất trong mạng Internet.

-

Nên đặt tên đơn giản gợi nhớ và tránh.

1.3.3. Máy chủ quản lý tên miền (Domain name server-dns)

Máy chủ quản lý tên miền (dns) theo từng khu vực, theo từng cấp nhu :
một

tổ

chức, một công ty hay một vùng lãnh thô.Máy chủ đó chứa thông tin dữ liệu vê
địa

chỉ

và tên miền trong khu vực , trong cấp mà nó quản lý dùng đe chuyên giữa tên
miền




địa chỉ IP đồng thời nó cũng có khả năng hỏi các máy chủ quản lý tên miền
khác

Nhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị

hoặc

T rang 5


<tên miển>

IN

NS


Vnnic.net.vn

Đồ án
án Lập
Lập
trình mạng
mạng nâng
nâng
cao_________________________VIETHANỈTC

VIETHANITC
IN Đồ
NS trình
dnsl cao_______________________
máy tính có Vnn.vn
cùng tên trên mạng. Ngược
IN lại một máy
MXtính
20 có một địa chỉ IP có
thể

nhiều tên
miền trỏ đến, tuy nhiên chỉ có duy nhất một tên miền được xác định là
backupmail.vnn.vn
tên
của máy,
là thư
tên miền
được
khaitrúc
với bản
ghi
kiếu A trỏ đếntrước
địa chỉ
Thìđó
tấtchính
cả các
điện tử
có cấu
địa chỉ

hếtcủa
sẽ
máy.
được
gửi
đếnBảnghiCNAME
trạm chuyên tiếp thư điện tử mail.vnn.vn.Chỉ trong trường hợp may chủ
13.43.
mail.vnn.vn không thể nhận thư thì các thư này mới chuyển đến trạm chuyển
tiếp

thư
Bản ghi CNAME cho phép một máy tính có thê có nhiều tên. Nói cách
điện
khác tử backupmail.vnn.vn
bản ghi Bản
CNAME
cho phép nhiều tên miền cùng trỏ đến một địa chỉ IP cho
1.3.4.5.
ghi NS
trước.
Đe
server
thể nằm
bấtbuộc
cứ vịphải
trí nào
trênghi
mạng
nhưng

có thể Một
khai DNS
báo bản
ghi có
CNAME
, bắt
có bản
kiểuInternet
A để khai
báo
được
tên
của
cấu
phân
cấpbáo
chuyển
cấp thấp
cho
máy.hình
Tênlogic
miềnđế
được
khai
trongtên
bảnmiền
ghi kiêu
A trỏhơn
đếnxuống
địa chỉ

IPcác
củaDNS
máy
server
được
Với khai báo trên, tên miền vnnic.net.vn sẽ do máy chủ tên miền có tên
kháclànằm
bất cứchính
vị trí(canonical
nào trên mạng
Internet.
nhấtmuốn
là đặttrỏ
DNS
vị
gọi
tên miền
domain
).Các Nhưng
tên miềntốtkhác
đếntại
máy
dns.vnnic.net.vn quản lý. Điều này có nghĩa, các bản ghi như A, CNAME,
trí
nào
tính
MX
...
của
gần

với các
Client
truy
cũng gần với vị trí của
này phải
được
khai để
báodễ
là dàng
bí danh
củavấn
tênđến
máyđồng
(aliasthời
domain).
tên miền cấp dưới của nó sẽ được khai báo trên máy chủ dnsl .vnnic.net.vn. và
DNS
dns2.vnnic.net.vn.
server Bản
cấp cao
trục tiếp
quản
lý như
nó. sau :
ghi hơn
CNAME
có cú
pháp
1.3.4.6. Bản aỉias-domain
ghi PTR

IN
CNAME
canonicaỉ domain
1.3.4. Các bản ghi thường có trong CO’ sỏ' dữ liệu của DNS server:
dụ
: ghìDNS
1.3.4.1.Vỉ
SOAkhông
(Start of
Authority
) việc chuyên đối từ tên miền sang
HệBản
thống
những
thực hiện
địa

chỉ
www.vnn.vn
ĨN
CNAME
home.vnn.vn
ghi này
định máy
chủchỉ
DNS
quyềnhiện
cung
cấp thông
tin chỉ

về
IP mà Bản
còn thực
hiệnxác
chuyển
đổi địa
IP có
màthâm
còn thực
chuyển
đổi địa
tên
Tên miền www.vnn.vn sẽ là tên bí danh của tên miền home.vnn.vn,sang
hai
IP
miền
xác định
trênPTR
DNS.cho phép thực hiện chuyên đôi địa chỉ IP sang tên miền.
tên miền.
Bản ghi
miền
www.vnn.vn
sẽ cùng
1.3.4.2.
Bản ghi kiều
A trỏ đến địa chỉ IP 203.162.0.12
13.4.4.

trên


Bản ghi MX
Bản ghi kiêu A được dùng đê khai báo ánh xạ giữa tên của một máy tính

Bản ghi MX dùng để khai báo trạm chuyển tiếp thư điện tử của một tên
Nhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị
T rang 876


Đồ án Lập trình mạng nâng cao_________________________VIETHANỈTC
1.4. PHÂN LOẠI DNS SERVER VÀ ĐÔNG BỘ DỮ LIỆU GIŨ A CÁC

DNS
SERVER

1.4.1. Phân loại DNS server

Có ba loại DNS server sau:
- Primary server
quản

+ Nguồn xác thực thông tin chính thức cho các domain mà nó đuợc phcp

lý.
+ Thông tin về tên miền do nó đuợc phân cấp quản lý thì đuợc lưu trữ tại
đây
và sau đó có thể được chuyển sang cho các secondary server.
+ Các tên miền do primary server quản lý thì được tạo và sửa đối tai
primary
server và được cập nhật đến các secondary server.

+ Primary server nên đặt gần với các Client để có thể phục vụ truy vấn
tên

miền

một cách dễ dàng và nhanh hon.
-Secondary server:
+ DNS được khuyến nghị nên sử dụng ít nhất là hai DNS server đề luu
cho
mỗi một zone. Primary DNS server quản lý các zone và secondary server sử
dụng

đê

lưu trừ dự phòng cho primary server. Secondary DNS server được khuyến nghị
dung

Nhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị

T rang 9


Đồ án Lập trình mạng nâng cao_________________________VIETHANỈTC
trữ nó. Có hai giải pháp lấy thông tin về các zone mới là lấy toàn bộ (full) hoặc
chỉ

lấy

phần thay đối (incremental)
- Cachỉng-only server:

+ Tất cả các DNS server đều có khả năng lưu trữ dữ liệu trên bộ nhó
cache

của

máy để trả lời truy vấn một cách nhanh chóng. Nhưng hê thống DNS còn có
một

loại

Caching-only server.Loại này chỉ sử dụng cho việc truy vấn, lưu giữ câu trả lờ
dựa
trên thông tin có trên cache của máy và cho kết quả truy vấn. Chúng không hề
quản



một domain nào và thông tin mà nó chỉ giới hạn những gì được lưu trên cache
của
server.
+ Lúc ban đầu khi server bắt đầu chạy thì nó không lưu thông tin nào
trong
cache. Thông tin sẽ được cập nhật theo thời gian khi các Client server truy vấn
dịch

vụ

DNS. Neu bạn sử dụng kết nối mạng WAN tốc độ thấp thì việc sử dụng
caching-only
DNS server là giải pháp hữu hiệu cho phép giảm lưu lượng thông tin truy vấn

trên
đường truyền.
+ Caching-only có khả năng trả lời các câu truy vấn đến Client. Nhưng
không
chứa zone nào và cũng không có quyền quản lý bất kì domain nào. Nó sử dụng
bộ
Nhóm 8 - MM02A - Tấn Việt - Nguyễn Hoàng - Hữu Nghị

T rang 10


Đồ án Lập trình mạng nâng cao

VIETHANITC

-Truyền phần thay đổi(Incremental zone): Theo giải pháp này là chỉ
truyền
những những dừ liệu thay đối của zone . Đồng bộ dừ liệu này được miêu tả
chi

tiết

trong tiêu chuẩn RFC 1995. Nó cung cấp giải pháp hiệu quả cho việc đồng
bộ
những thay đôi, thêm, bớt của zone.
1.4.2.2. Cơ chế hoạt động đồng bộ dữ liệu giữa các DNS server

Với trao đổi ĨXFR zone thì sự khác nhau giữa số serial của nguồn dừ liệu

bản sao của nó. Neu cả hai đều có cùng số serial thì việc truyền dừ liệu của zone

sẽ
không thực hiện.
Neu số serial cho dữ liệu nguồn lớn hơn số serial của secondary server thì


sẽ

thực hiện gửi những thay đổi của bản ghi nguồn (Resource record - RR) của
zone



primary server.
Đê truy vân IXFR thực hiện thành công và các thay đôi được gửi thì tại
DNS
server nguồn của zone phải được lưu giừ các phần thay đổi để sử dụng truyền
đến

nơi

yêu cầu của truy vấn IXFR. Incremental sẽ cho phép lưu lượng truyền dừ liệu ít

thực hiện nhanh hơn.
Zone transíer sẽ xảy ra khi có những hành động sau xảy ra:
-Khi quá trình làm mới của zone đã kết thúc (reíresh exprire )
Nhóm 8 - MM02A - Tấn Việt - Nguyễn Hoàng - Hữu Nghị

T rang 11



Đồ án Lập trình mạng nâng cao

VIETHANITC

-Neu giá trị của số serial tại Primary Server lớn hơn giá trị serial hiện tại
DNS
nhận dừ liệu. Thì nó kết luận zone cần được cập nhật và cần đồng bộ dữ liệu
giữa
hai DNS server
6. Neu DNS server nhận kết luận rằng zone cần phải lấy dữ liệu thì nó sẽ gửi
yêu
cầu IXFR tới DNS server chính đế yêu cầu truyền dữ liệu của zone.

Nhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị

T rang 12


Constructor Method
Name
TcnClient 0
TcnClient
(IPEndPoint)
TcpClient
(Remotellost:
Name
Available

3


Client
3

Connecte
Name
v
ũ

Close

v Connect
G
V
0

Getstream

Đồ án Lập trình mạng nâng cao_________________
cao________________________ VIETHANITC
cao
Description
Bảng 2.2 Một số thuộc tính
2.1. SOCKET KHÔNG HƯỚNG KÉT NÓI (UDP SOCKET)
Tạo một đôi tượng
TcpClient.
Chưathức
đặt khởi
thôngtạo
sôTcpListener
Bảng

2.4 + Phương
gì.
CHƯƠNG 2. LẬP TRÌNH MẠNG TRONG .NET
Tạo một
và gan
FRAME
cho nó
WORK
một EndPoint
ĐặcTcpClient
điểm:
cục bộ.
(Gán địa chi máy cục bộ và số hiệu cổng đê sử dụng
+ Hai tiến trình liên lạc với nhau không kết nổi trực tiếp.
Socket là một giao diện lập trình ứng dụng (API) mạng, thông qua giao
Tạo một đôi tượng TcpClient và kẻt nối đến một
máy + Thông điệp gửi đi phải kèm theo địa chỉ của
có người nhận.
diện
địa chi và số hiệu cổng được truyền vào..
này chúng
thể lập thức:
trình điều khiển việc truyền thông giữa hai máy sử dụng
- Mộttasốcóphương
các + Thông điệp có thể gửi nhiều lần.
Description
Bảng 2.3 Một số phương thức
giao thức mức thấp là UDP, TCP,...
Cho biết số byte đã nhận về từ mạng và có sằn
+ Người gửi không chắc chắn thông điệp tới tay người nhận.

đế đọc.
Socket là sự trừu tuợng hoá ớ mức cao, có thê tuởng tượng nó như là thiết
Trả về Socket ứng với TCPCIient hiện hành.
bị
+ Thông điệp gửi sau có the đến đích trước thông điệp gửi trước đó.
Trạng
thái
cho biết
kểt nổi
đen dữ
Server
truyền thông
hai đàchiều
gửi được
- nhận
liệuhay
giữa hai máy tính với nhau
Application
prograni
2.2.
CÁC LỚP HỒ TRỢ ĐƯỢC XÂY DỤNG TỪ LỚP SOCKET
Description
I
ĨJ
Datagra
Stream
2.2.1.
Lóp đối
TCPtượng
Client:

Raw
m TcpClient nhưng
Socketphóng
Giải
Socket
Socke
interfac
không đóng kết nối.
irileríac
e
TCP
UDP
2.1 Các
phương
thứcvà
khởi tạo
Kết nối đến một Bảng
máy TCP
khác
có Tên
số hiệu cổng.
IP
Trả về NetvvorkStream để từ đó ai ú D ta
gửi hay nhận dữ liệu. (Thường làm tham
Physical and data ỉink layers
số khi tạo StreamReader và
StreamVVriter) .
Khi đã gắn vào StreamReader và
StreamVVriter rồi thì ta có thể gừi và nhận
điểm:

dữĐặcliệu
thông qua các phương thức
2.2.2.
Lóp
TCPListener
Readln,
writeline
tương
các trình.
lớp
+ Có một
đường
kết
nổi ảoứng
giữacủa
hai tiến
này.

Constructor

TCPListener là một lớp cho phép người lập trình có thể xây dựng các ứng
+ Một trong hai tiến trình phải đợi tiến trình kia yêu cầu kết nối.

dụng
Description
Server (ví dụ như SMTP server, FTP server, DNS server, POP3 server hay server
+ Có thể sử dụng để liên lạc theo mô hình Client/Server.
tự Tạo một TcpListener và lẳng nghe tại cổng chi
TcpListener (Port:
-+MộtMỗi

số thuộc
tính: điệp gửi đều có xác nhận trở về.
thông
định.
Int32)
định nghĩa ...). ứng dụng server khác với ứng dụng Client ở chồ nó luôn luôn
tin chuyên đivới
tuầngiá
tự. trị Endpoint
TcpListener
Tạo+ Các
một gói
TcpListener
Nhóm
8
MM02A

Tẩn
Việt

Nguyễn
Hoàng — Hữu Nghị
truyền vào.
14
T rang 15
13
ÍIPEndPointl
Na me

TcpListener

(IPAddress. Int32)

Tạo một TcpListener và lắng nghe các kết nối
đến
tại
địa chi IP và cổng chi định.


Name
v

Description

án Lập
nâng
VIETHANITC
AcceptSocket Đồ
Châp
nhậntrình
mộtmạng
yêu cầu
kẻtcao_________________________
noi đang chờ.

v AcceptTcpClie Chấp nhận một yêu cẩu kết nối đaim chờ. (ứng
Q nt
dụng
sẽ
v
ũ


Pending

Cho biêt liệu có kêt nôi nào đang chờ đợi không ?
(True

v

Start

Bat đầu lẳng nghe các yêu cầu kết nối.

v

Stop

Dìrníi việc nghe.

Constructor methosd

Description

UdpClienl ()

Tao mỏi đối tưưng (thể hiên) mới cùa
lớp

UdpClient (AddressFamilv)

UdpClient (Int32)


Tạo một UdpClient và gán (bind) một
Bảng 2.5 Các phương thức khởi tạo TcpListener khác
Tạo một UdpClicnt và gán (bind) một
IPEndpoint

UdpClient (IPEndBoint)
UdpClient
AddressFamilv)

Tạo một đối tượng (thê hiện) mới của
lớp
UDPCIient. Thuộc một dòng địa chi
+ Các phương thức khác:

(Int32, Tạo một Udpciient và gán sô' hiệu cổng,
AddressFamily

UdpClient (String. Int32)

Tạo một UdpClienl và thiết lập với một
trạm
từ
xa
mặc dịnh.

PUBLIC Method
Name

Description


V

BeginReceive

Nhận dữ liệu Không đổng bộ từ máy ử xa.

V

BeginSend

Gứi
đổngUDP
bộ dữClient:
liệu tới máy ở xa
2.2.3.không Lóp

Close

Đóng kết nỏ'i.

Connect

Giao
UDP (User
Datagram
Thiết
lậpthức
một Deĩault
remote

host. Protocol hay User Define Protocol) là

1 vũ
V
V

giao
EndReceive mộtKết thúc nhận dữ liệu không đổng bộ ở trên
thứcKết
phithúc
kết nối
cóđổng
nghĩabộlàừmột
EndSend
việc(connectionless)
gừi dữ liệu không
trênbên có thể gửi dữ liệu cho bên



Receive

vQ

Sẹnd

2.3. SOCKET
KHÔNG
ĐỒNG
kia Nhãn


dừ liệu (dỏng
bộ) do
máy BỘ:
ơ \a gưi. (Đóng
bộ

không
cầnlàbiết
là lệnh
bên đó
đã sau
sẵn
sang
hay
chưa?
(nói cách khác là không cần
2.3.1.
Sử
dụng
Socket
không
bộ: chi
nghía
các
ngay
lệnh đồng
Receive
thực
thi

nêu
thiếtđưực
lập
Cìưi
liệu
(dỏng
bộ) đồng
cho máy
ừ xa.
Đedửlập
trình
không
bộ với
Socket chúng ta sử dụng các phương thức
— Tẩn
TẩnViệt
Việt —— Nguyễn
NguyễnHoàng
Hoàng — Hữu Nghị
Nhóm 8 - MM02A —
T rang 16
17
— Hữu Nghị


Đồ án Lập trình mạng nâng cao

VIETHANITC

Các phương thức cho việc lập trình bất đồng bộ được chia làm 2 loại,

thương
bắt đầu bằng Begin và End:
-Phương thức bắt đầu bằng Begin, bắt đầu một chức năng và được đăng ký
với
phương thức AsyncCallback
-Bắt đầu bàng End chỉ chức năng hoàn thành khi AsyncCallback được gọi.
-Đe chấp nhận kết nối bất đồng bộ ta sử dụng phương thức BeginAccept()

EndAcceptO, như sau:
+ IAsyncResult BeginAccept(AsyncCallback callback, object State)
+ Socket EndAccept(IAsyncResult iar);
-Đe thiết lập kết nối theo cách bất đồng bộ chúng ta sử dụng phương thức
BeginConnect() và EndConnect().
-Để gửi dừ liệu bất đồng bộ dùng phương thức BeginSendO và EndSendO
-Đe nhận dữ liệu với giao thức hướng kết nối dùng phương thức
BeginReceiveO
và EndReceiveO
-Đe nhận dữ liệu bất đồng bộ với giao thức không hướng kết nối dùng
phương
thức BeginReceiveFrom() and EndReceiveFrom()
2.3.2.

Sử dụng các phương thức Non-Blocking

Đe lập trình bất đồng bộ chúng ta có thê sử dụng các phương thức NonNhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị

T rang 18


Destination


Đưa ra thông báo cho máy nguồn
Đồ biết
án Lập trình mạng nâng cao
VIETHANITC
về những vấn đề liên quan đến quá
Unreachable
Bảng 2.7 Các loại thông điệp quan trọng và thường sử dụng
-Phương
Select():
Socket.Select(IList
check giá
Write,
router)
mà thức
gói
tin
có thể
đi gói
qua.tin
Khi gói tincheckRead,
đi qua mộtIList
router
Time Exceeded
Thời
gian
để
truyền
một
10.1 thì

2.0/24 trị
10.1.1.0/24
10 1.3.0/24
IList
trường
TTL
Source Qưench
Máy nguồn gửi dữ liệu nhanh hơn
0
check
int microseconds)
này
sêError,
được giảm
đi 1, VNE
cứ như
góiR2
tin đó bị router giảm
quy
VNE
R1vậy cho đến khi nào
định;
Thông điệp này sẽ được đưa
VNE_1
Web
giá
trị
2.2 Giao thức ICMP và lệnh PING
Redirect
trường sử

TTL
xuống
trị 0 thìđểgói
Được
dụng
bỡigiárouter
nóitin đó sẽ bị huỷ và router thực hiện việc
cho
2.3.3.
huỷ
gói
máy
nguồnGiao
biết thức
rẳngICMP
nên sử dụng
một
tin đó sẽ gửi một thông điệp ICMP Time Exceeded cho máy nguồn.
2.8thiệu
Những
thông điệp ICMP Unreachable
2.3.3.1. Bảng
Giói
về loại
giaoCode
thức của
ĨCMP
Echo
Được sử dụng bởi câu lệnh Ping để
ICMP Redirect: Thông điệp ICMP Redirect cho phép một router

AddressMask
ĐượcThuật
sử dụng
hỗi thông
ngừ để
ICMP
được tin
viếtvàtắt bởi Internetwork Control Message
Request/Reply
gateway
học
Protocol

nói cho một máy nào đó biết về một router tốt hơn có thê được sử dụng trong
Router A dvertis emộtĐưọ’c
sử
dụng
cho
những
host
để
ment
tựgiao thức hoạt động trên layer 2 - Intemetwork trong mô hình TCP/IP hoặc
Bảng 2.9 Cấu trúc bản tin ICMP
layer
3
Ưnreac Ý nghĩa
Ví dụ
- Network trong mô hình OSI cho phép kiểm tra và xác định lỗi của Layer 3
Networ Một router

không có
Router
VNE_R1
Internetwork
trong
mô hình TCP/IP
bàng cách định nghĩa ra các loại thông điệp
k
đường
không

đi cho có
gói tin đến một đường đi đến
thể
Hình :
mạng
ưnreach mạng đích
sử dụng đê xác định
xem mạngvìhiệnvậy
tại có thê truyên được gói tin hay không.
able
10.1.2.0/24,
- Mỗi
Type
(8bit):
Là của
một
số nguyên
8bit
đế xác

địnhType
thông
Host
thông
điệp
ĨCMP
có chứa
trường
vàđiệp.
một trường Code.
Khi mộtTrong
gói tin
đưực
Máy
Web
đang
ở một
truyền thực tế, ICMP cầntrạng
các thành
phần các
của loại
mọi thông
gói tinđiệp
IP đếcòn
có trường
thê hoạtCode
độngchứa
được.các
Trường Type là trường
biếu diễn

Router
ưnreach đến router cuối cùng, shutdown
Cung cấp thêm thông tin về kiểu thông điệp.
nhưng thông - Codc (8bit):
VNE_R2
ble
Can't
Một gói điệp
tin khi
được Router
VNE_R1
mặc người cho rằng có hai loại thông điệp
con (subtype).
Cho ví
dụ, có nhiều
chuyến
đinh
-Checksum(16bit) : ICMP sử dụng thuật giải checksum như IP, nhưng
được có kích giá trị MTU = 1500
Fragme đến router
thước

ICMPlởn byte,
nt
sử dụng
Ping gửi
như: ICMP Echo Request và ICMP echo
hon giáđưatrịra khi
MTƯ,
một câu

gói lệnh
tin được
Protoco Khi mộtReply,
góichecksum
tin đưựcchỉ Máy
Webthông
không
chạy
tính đến
điệp
ICMP.
l
truyền nhưng
giao
thực tế, hai loại thông điệp đó thuộc cùng một loại thông điệp là Echo và
đền máy đích, nhưng thức TCP. Máy Web
khác
Port
Khi một gói tin đưực Máy Web đang làm
vàviệc,
Reply).
Các loại
thông Thông
điệp của
ICMP
nhưTime
sau: Exceeded đưa
-(Request
Time Exceedcd
ICMP

Message:
điệp
ICMP
truyền Code
2.2.2
Lệnh
PING
nhưng nhưng Web server
ưnreach đến máy đích,
ra
máy
không
able
đích không thông
xử

được
chạy
(tứcnguồn
là một
không
2.33.2.
- ICMP
Unreachable:
Khái
niệm
Khi
thiếtgói
bị tin
thựcmàhiện

việcbịtruyền
tin
báo cho
một
máy
khi một
nó gửi
huỷ bỏmột
bởi gói
vì thời
Type

đến Checksum
gian
Ping,
tắt của
Internet
Grouper
(Groper),
là gói
mộttincông
cụ cần
cho
truyền
gói viết
tin quá
dài. Packet
Khi truyền
dữ liệu
trên mạng

thì các
truyền
Messeage
mạng
phải
máy
sử dụng trên
cácViệt
mạng— TCP/IP
đe Trang
tra
— như
Hữu Internet)
Nghị
Nhómtính
8 - MM02A
— Tẩn
Nguyễn(chẳng
Hoànghạn
Tkiểm
rang22
20
19
21
— Hữu Nghị

Code


Đồ án Lập trình mạng nâng cao_________________________VIETHANỈTC

máy. Công cụ này thực hiện nhiệm vụ trên bàng cách gửi một số gói tin ICMP
đến

Nhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị

Trang 23


Đồ án Lập trình mạng nâng cao

VIETHANITC

CHƯƠNG 3. XÂY DỤNG CHƯƠNG TRÌNH
3.1. CÁCH THỨC HOẠT ĐỘNG .
3.1.1.

Giới thiệu WHOIS

Chương trình WHOIS giúp cho quản trị viên hệ thống để có thể lấy được
thông
tin về địa chỉ IP hoặc tên miền mà mình quản trị. Việc sử dụng hệ thống WHOIS
đã
phát triến thành nhiều loại mục đích khác nhau.
-Hồ trợ an ninh và sự ổn định của Internet bàng cách cung cấp các điểm
liên

hệ

với các nhà khai thác mạng và các quản trị viên, bao gồm cả các ISP, và máy
tính

xác nhận các đội ứng phó sự cố.
-Xác định tình trạng đăng ký tên miền.
-Hồ trợ các cơ quan thực thi pháp luật trong điều tra cho thực thi pháp luật
quốc
gia và quốc tế, bao gồm, ví dụ, chống khủng bố liên quan đến tội phạm hình
sự



trong việc hồ trợ các thủ tục hợp tác quốc tế. Ỏ một số nước, các tổ chức phi
chính
phủ chuyên ngành có thể tham gia vào công tác này;
-Hồ trợ trong việc chống lạm dụng sử dụng công nghệ thông tin truyền
thông;
-Tạo điều kiện để giúp chổng xâm phạm, lạm dụng và trộm cắp sở hữu trí
tuệ
miền
quy định-của
pháp
nướcHoàng
các điều
ướcNghị
quốc tế;
Nhóm
8 theo
- MM02A
Tấn
Việtluật
- nhà
Nguyễn

- Hữu

tên
Trang 24


Đồ án Lập trình mạng nâng cao

VIETHANITC

Đen năm 2005, đã có rất nhiều nhà cung cấp dịch vụ mạng so với nhừng
năm
1980. Điều này đã dẫn đến một mạng lưới phức tạp của các đăng ký tên miền và
các
hiệp hội đăng ký, đặc biệt là quản lý của cơ sớ hạ tầng Internet mà đã trở nên
quốc

tế.

Như vậy, thực hiện một truy vấn WHOIS trớ nên hết sức cần thiết. vWHOIS trớ
nên
rất phổ biến với người dùng Internet hiện nay.
3.1.1.2.

Các giao thức WHOĨS

Các giao thức WHOIS có nguồn trong giao thức ARPANET NICNAME


dựa


trên giao thức NAME/FINGER, được mô tả trong RFC 742

(1977).

NICNAMEAVHOIS lần đầu tiên được mô tả trong RFC 812 vào năm 1982 bởi
Ken
Harrenstien của Trung tâm Mạng lưới thông tin SRI International.
WHOIS ban đầu được thực hiện trên chương trình điều khiến mạng
(NCP),
nhưng hàng sử dụng chính của nó khi TCP/IP được chuân hoá trên toàn bộ các
ARPANET và sau đó là mạng Internet.
Đặc tả quá trình IVHOỈS
Kết nối với các máy chủ dịch vụ
TCP: dịch vụ cảng 43 thập phân
NCP: ICP sang thập phân 43 Socket, thành lập
hai kết
nối 8-bit
Gửi một "dòng lệnh" duy nhất, kết thúc với <CRLF>.
Các

Nhận được thông tin để đáp ứng với các dòng
lệnh.

server đóng kết nối của nó ngay sau khi sản
Nhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị
Trang 25


Đồ án Lập trình mạng nâng cao______________


VIETHANITC

-RFC 954 - NICNAMEAVHOIS (1985, đã cũ)

Hình

3.1

Cách

thức

hoạt

động

của

Whois

Chương trình hoạt động dựa vào mạng internet, đầu tiên Client sẽ gửi yêu cầu
đến máy chủ whois, sau đó máy chủ này sẽ tìm kiếm trong cơ sở dữ liệu của
mình

xem

có thông tin được yêu cầu hay không, nếu có thì máy chủ sẽ gửi trả thông tin
được


yêu

cầu về cho Client, nếu không thì máy chủ này sẽ gửi yêu cầu của Client đến các

3.1.2.

ping

Hoạt động của lệnh

Nhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị

Trang 26


Đồ án Lập trình mạng nâng cao

VIETHANITC

Hình 3.2Ví dụ về Ping
- Neu nhận được thông báo "Host Alive", điều này có nghĩa là host

không

còn

hoạt động.
- Ping gởi một ICMP message "echo request" đến host. Neu nhận được

một

ICMP message "echo reply" của host, ping sê thông báo host còn hoạt động.
Neu
không nhận được ĨCMP message "echo reply" của host, ping sẽ thông báo host
này

đã

ngừng hoạt động!
- định dạng của ICMP "echo request" và "echo reply" có dạng như sau:

7 8 15 16 31
+-------------+....................1-................+
1 Type (0 or 8) I Code (0) I 16-bit Checksum I
+———-- - -—+- -— ------1-- - ----------- +
I Indentiher I sequence number I
+-------------+....................h-------------+
I
I
I (Optional Data) Ị
1
I
0

+---------------------............-...........— +
Nhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị

Trang 27


.


Đồ án Lập trình mạng nâng cao
VIÉT CHƯƠNG TRÌNH
Đồ án Lập trình mạng nâng cao
VIETHANITC
Để viết được chương trình với các chức năng trên yêu cầu trước hết là phải
đã khai báo
nắm được lý thuyết về mạng
(DNS, giao thức ĨCMP, gói PĨNG) ngôn
tcpc máy
= newtính
TcpClient(whoisserverdm.ToString(),
43) ;
lập trình c# và kỹ thuật lập trình Socket.
Tương tự,//tạo
lấy thông
tin của IP bằng cách gởi ĨP đến WHOIS server.
mới
networkstream
3.2.1.
WHOIS
// Tương tự bắt đầu lấy thông
nswhois
tin iP =
tcpc.Getstream();
//Lấy
từ domain nhập ở
Chương trình sử dụng hai thư viện
của hệ IP
thống.

txt_text
//tạo
mới và cài
đặt buffer
using System.Net.Sockets;
IPAddress[]
iphost
=
bfwhois = new
using System.10;____________________________
Bufteredstream(nswhois);
swgoi = new
Đồng thời khai báo hai serverStreamWriter(bfwhois);
WHOIS, một server cho truy vấn thông tin tên

ngữ

//goi yêu cầu lấy thông tin DOMAIN đến
truy vấn thông
WHOIS server
Sử dụngswgoi.WriteLine(txt_ip.Text);
một đối tượng TcpClient để kết nối đến máy chủ, network
//khai bao
swgoi.Flush();
streams
chowhois
giao tiếp giữa Server
và Client, stream readers và writers đảm nhiệm gởi dừ liệu server lay
}
thong tin

domain
TcpClient tcpc;
catch
string
whoisserverdm =
Bufteredstream
"whois.internic.net";
bfwhois;
{
NetworkStream
//khai bao
whoisthể
server
lay tới
thong tin ve ip
MessageBox.Show("Không
kết nối
nswhois;
string
whoisserverip
=
"whoismáy chủ
StreamWriter swgoi;
servers.net";
\r\n Vui lòng kiểm tra kết nối!");

miền và một IP cho
tin Domain

null)


string[] mangl
} = new string[1024];
int i = 0;
//xóa txt_respont để chứa dữ
liệu mới
string
thongtinnhanl;
txt_respont.Clear
();
trỵ
{
{
Ghi
kết
quả
nhận được từ WHOIS server vào mảng.
i = i + 1;

43) ;

//đóng
TCP
Client
tcpc.Close ();
Phần code còn lại sẽ được đặt trong sự kiện của button.
tcpc
=
new
TcpClient(whoisserverip.ToString(),

Bắt đầu tạo mới TCP Client với thông số tên của WHOIS server đã khai
//bắt
//tạo mới đầu
networkstream
// Nếu =
combobox
chọn WHOIS; (index='l) thì
nswhois
tcpc.Getstream()
thực hiện
ifbuffer
(cbb_select.Selectedlndex == 0)
//cài đặt
{
bfwhois = try
new Bufferedstream(nswhois);
Nhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị
swgoi = new StreamWriter(bfwhois);

Trang 29
28


mảng ra

//Xuất thông tin DOMAIN lúc trước đã
lưu
vào
//txt respont
while ((thongtinnhan =

swnhan.ReadLine()) !=

null)

txt_respont.Text = txt_respont.Text
+ "--------------------------------THÔNG TIN VỀ D O M A Ĩ N — + "\r\n";

Tạo vòng lặp để xuất các thông tin đã nhận được. Đối với thông tin về
Domain,
chỉ cần xuất kết quả đã lưu trong mảng. Đối với thông tin về IP sè xuất trực tiếp

txt_respont.Text =
mangl[i] + "\r\n"; txt_respont.Text +
}
server

//Xuất thông tin IP nhận được từ WHOIS


×