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

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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đồ ả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 ngày phát triển không ngừng trở nên tiện MỤC LỤC HÌNH ẢNH iv dùng kèmLỤC theoBẢNG tính phức tạp cồng kềnh không Các dự án nghiên cứu, xây MỤC BIÈƯ V CHƯƠNG GIỚI THIỆU VỀứng HỆdụng THỐNG TÊNđềMIỀN dựng phát triển chương trình cập vàDNS .1 quan tâm mức 1.1 TÊN MIỀN LÀ GÌ? thời1.2 gianHỆ gầnTHỐNG Muốn dựngLÀ cụ mạnh đáp ứng nhu cầu phát triển TÊNxây MIỀN GÌcông (DOMAIN NAME SYSTEM) .2 1.2.1 L mạng cần 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 1.2.2 Mục hệ thống tênmẽ miền Vớiđích phát triển mạnh của(DNS) mạng máy tí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) ngày 1.3.1 cao nên việc dựng chương trình ứng dụng nhằm tạo tiện ích cho Cấu trúc xây sở liệu Cấulàtrúc tên miền người1.3.2 sử dụng cần thiết Nhiều chương trình ứng dụng mạng đời 1.3.2.1 Cách đặt tên miền hữu ích,1.3.2.2 mà công việc lập trình mạng phát triển mạnh mẽ cần thiết Chúng em P hân loại tên miền 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 1.3.3 Máy chủ quản lý tên miền (Domain name server-dns) .5 dễ dàng có tratrong cún thông tin liệu tên miền nhanh 1.3.4 Cácviệc bảntìm ghi hiếu thuờng sở DNS server: .6 1.3.4.1 Bản ghi SOA (Start of Authority) 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ả ghihoàn kiểu thiện A lập trình1.3.4.3 hiếuBản sâughi hơnCNAME hệ thống mạng Đe tài có ý nghĩa thiết thực việc tìm 1.3.4.4 Bản ghi MX hiểu và1.3.4 xây dựng mềm, đồng thời xây dựng nên sở tảng lý thuyết Bảnphần ghiNS 1.3.4.6 Bản ghi PTR 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 1.4.2 Đồng liệu DNS server( Zone transfer) .10 1.4.2.1 Các phương pháp đồng dừ liệu DNS server .10 1.4.2.2 Cơ chế hoạt động đồng dừ liệu DNS server .11 CHƯƠNG 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.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 phương thức Non-Blocking 18 Nhóm - MM02A - Tấn Việt — Nguyễn Hoàng - Hữu Nghị Trang ii Đồ ả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 lệnh ping 26 3.2 VIẾT CHƯƠNG TRÌNH 28 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 - 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ụ gởi nhận 1CMP 21 Hình 3.1 Cách thức hoạt động Whois 26 Hình 3.2Ví dụ Ping .27 Hình 3.3 Giao diện chương trình .39 Hình 3.4 Các tính chương trình 40 Hình 3.5 Ket thông tin domain truy vấn domain quantrimang.com .41 Hình 3.6 Ket truy vấn domain 2mit.org 42 Hình 3.7 Demo tính PING .43 Hình 3.8 Demo tính DNS Address Resover 44 Nhóm - 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 Root Server DNS 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 lớp UDP Client 17 Bảng 2.7 Các loại thông điệp quan trọng thường sử dụng 20 Bảng 2.8 Nhũng loại Code thông điệp ICMP Unreachable 21 Bảng 2.9 Cấu trúc tin ICMP 22 Bảng 3.1 Các yếu tố liệu chung lớp ICMP 32 Nhóm - 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 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áy tính cần có địa xác định mạng.Hiện địa dùng mạng địa IP Mỗi máy tính cấp phát địa IP địa Địa IP đang sử dụng phô biến IPv4 có 32 bit chia thành phần Mỗi phần bít( tương đương byte) cách đếm từ trái qua phải.Các phần cách dấu chấm (.) biểu diễn dạng thập phân đầy đủ 12 số Mỗi phần số.Ví dụ địa Internet : 146.123.110.224 Vì mạng máy tính toàn cầu phát triển mạnh mẽ nên nhu cầu địa IP ngày tăng Địa IP tới sử dụng IPv6 có 128 bit dài gấp lần IPv4.Phiên Ipv4 có khả cung cấp 232 = 294 967 296 địa Phiên IPv6 có khả cung cấp 2128 địa Hiện nước ta triển khai thử nghiệm IPv6 Kiến thức Internet thực hành triển khai dịch vụ cần thiết cho Nhóm - MM02A - Tấn Việt - Nguyễn Hoàng - Hữu Nghị T rang Đồ á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 máy tính nối mạng toàn cầu liên lạc với , tìm đường mạng nhận diện địa IP phía người sử dụng đế có thê sử dụng dịch vụ mạng họ phải nhớ địa máy chủ cung cấp dịch vụ Do người sử dụng phải nhớ địa IP với dạng chữ sổ dài nối mạng khó khăn có nhu cầu địa thân thiện, mang tính gợi mở dỗ nhớ hon cho người sử dụng 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 nhỏ Bộ quốc phòng Mỹ cần tệp HOSTS.txt chứa thông tin chuyến đối địa tên mạng Nhưng mạng máy tính ngày phát triển với tệp HOSTS.txt không khả thi Do đến năm 1984 Paul Mockpetris thuộc viện USC’s Intbrmation Sciences Institute phát triển hệ thống quản lý tên miền lấy tên Hệ thống tên miền - Domain Name System ngày phát triên 1.2.2 Mục đích hệ thống tên miền (DNS) Nhóm - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị T rang Đồ á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ỏ' liệu Cơ sở dừ liệu hệ thống DNS hệ thống sở liệu phân tán phân cấp hình Với Root server đỉnh sau miền (domain) phân nhánh dần xuống phân quyền quản lý Khi máy khách (client) truy vấn tên miền từ root phân cấp xuống để đến DNS quản lý domain cần truy vấn Tô chức quản lý hệ thống tên miền giới The Internet Coroperation for Assigned Names and Numbers (ICANN) Tổ chức quản lý mức cao hệ thống tên miền (mức root) có quyền cấp phát tên miền mức cao gọi Top-Level-Domain Cấu trúc dừ liệu phân cấp hình root quản lý toàn sơ đồ phân quyền quản lý xuống tiếp tên miền lại chuyển xuống cấp thấp (delegale) xuống 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 zone quản lý tên miền phân chia đó.Các Zone chứa thông tin vê miền cấp thấp hơn, có khả chia thành zone cấp thấp phân quyền cho DNS server khác quản lý Ví dụ : Zone “.vn” DNS server quản lý zone “.vn” chứa thông tin Nhóm - MM02A - Tấn Việt - Nguyễn Hoàng - Hữu Nghị T rang Đồ án Lập trình mạng nâng cao VIETHANITC - Edu: Tên miền dùng cho quan giáo dục, trường học - Net: Tên miền dùng cho tổ chức mạng lớn - Gov: Tên miền dùng cho tô chức phủ - Org: Tên miền dùng cho to chức khác - Int: Tên miền dùng cho tổ chức quốc tế - Info: Tên miền 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 tổ chức quân sự, quốc phòng Mã nước giới tham gia vào mạng internet, quốc gia qui định hai chữ theo tiêu chuấn ISO-3166 (Ví dụ : Việt Nam vn, Singapo la sg—) Tổ chức ICANN thông qua hai tên miền : - Travel: Tên miền dành cho tổ chức du lịch - Post: Tên miền dành cho to chức bưu Các tên miền mức root gọi Top -Level - Domain 1.3.2.3 cấu trúc tên miền Tên miền phân thành nhiêu cấp như: Nhóm - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị T rang 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 “edu” có nghĩa tổ chức thuộc giáo dục Cuối Danh sách Root19836 Server DNS 192.41.0.4 VeriSign Global Dulles VB Bảng 1.1 Registry Services “.vn”, Del tên miền toàn miền tbanày thuộc quyền quản lý ĨPv4:192.228.79.2 Iníbrmation tên miềnMarina Rey Sciences mạng CA Institute Internet Viet nam Cogent Hemdon VA; Los Một số ý đặt tên miền: - Tên miền nên đặt giới hạn từ cấp đến cấp nhiều việc nhớ tên quản trị khó khăn - Sử dụng tên miền phải mạng Internet - Nên đặt tên đơn giản gợi nhớ 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 khu vực, theo cấp nhu : tổ chức, công ty hay vùng lãnh thô.Máy chủ chứa thông tin liệu vê địa tên miền khu vực , cấp mà quản lý dùng đe chuyên tên miền địa IP đồng thời có khả hỏi máy chủ quản lý tên miền khác Nhóm - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị T rang IN NS [...]... 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... — 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... 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... 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 lý 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ụ... + Xây dựng đối tượng ICMP: Với các biến là các trường cơ bản của gồm: Type, Code, Checksum, MessageSize Sau khi gửi một gói ICMP, rất có thề sẽ Nhóm 8 - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị Trang 32 gói PING Raw Socket trả về toàn bộ gói tin IP Điều này có nghĩa là phải thông tin tiêu đề IPĐồ án Lập trình mạng nâng cao _VIETHANỈTC bó qua những trước khi có thể trích xuất các thông tin. .. 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. .. 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... 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... + 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ó... 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ó ... tính chương trình Nhóm - MM02A — Tẩn Việt — Nguyễn Hoàng — Hữu Nghị Trang 40 Đồ án Lập trình mạng nâng cao VIETHANITC Hình 3.5 Kết thông tin domain truy vấn domain quantrimang.com Các thông tin. .. server cung cấp chương trình gởi truy vấn với giá trị tên domain: + Registrar: Nơi trì tên miền + Whois server: Nơi chứa thông tin whois chi tiết, ta dùng thông tin cho bước (lẩy thông tin chi tiết)... Nghị Trang 41 Đồ án Lập trình mạng nâng cao VIETHANITC Hình 3.6 Ket truy vấn domain 2mit.org Ket nhận thể xác định nhóm thông tin liên hệ là: + Registrant: Thông tin đăng ký + Administration: Thông

Ngày đăng: 07/01/2016, 17:42

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan