Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
2,18 MB
Nội dung
HC VIN CÔNG NGH N THÔNG KHOA CÔNG NGH THÔNG TIN 2 ÁN/KHOÁ LUN TT NGHII HC Đề tài: KHN BT GÓI LP 2 VÀ LP 3 Mã số đề tài: 11407170011 ng dn : ThS LÊ PHÚC Sinh viên thc hin : NGUY Mã s sinh viên : 407170067 Lp : Khoá : 2007-2012 H : I HC CHÍNH QUY TP.HCM , tháng 12/2011 Nguy-D07THM1 NHN XÉT CNG DN TP Hồ Chí Minh, Ngày …… tháng 12 năm 2011 ng dn ThS. LÊ PHÚC Nguy-D07THM1 LI M U Công ngh mng máy tính và truyn thông ngày c s dng mt cách rng rãi vi nhng phn mm ng dng c vi cung ci dùng. S thành công ca mng Internet mang thông tin n m, mi t chc và mi công ty. Mi ngày mi sn phm phn mm c vit ra nhng công ngh mi. Sc m phc tp ca mc phát trin mu s dng ca thit b i dùng cuu i làm khó cho nhi thit k, b ng và m bo tính an ninh ca mng. nhng công c cn thit có kh tích, chm tra hong và v bo mt ca các thông tin truyn trên mng. có th kic các lung, theo dõi ng thi theo dõi hong ci s dng v các v trên ng truyn, s tn công ca virus hay nhng tn công ca Hacker. Mt git dng nhng công c bt gói và phân tích kt qu t các gói b có th gii quyt các v nêu trên. Hin nay, có rt nhiu công c bc phát trin bi các nhà phát trin ng dng ni ti công c bt gói Wireshare, Tcpdump . Chính vì nêu trên, em . nm bc các git có th thu thp, giám sát, quc thông tin trên mng qua vic phân tích ni dung các gói tin b giúp em có th trang b tt cho hành trang kin thc ca mình ng. Ni dung ca báo cáo án tt nghip gm có: Chương 1: Tổng quan về bắt gói. Chương 2: Các giao thức và khuôn dạng dữ liệu chính. Chương 3: Thư viện lọc gói lớp 2 và lớp 3. Chương 4:Đánh giá hiệu suất bắt gói của thư viện bắt gói lớp 2 và thư viện bắt gói lớp 3. Phần kết luận và các tài liệu tham khảo. Nguy-D07THM1 LI C Sau thi gian hc tp tng Hc Vin Công Ngh s ti thành ph H c các thy cô giáo trang b cho em nhng kin thn ca ngành Công ngh ng th v chuyên ngành mng máy tính và truyn thông. u kin cho em có th tìm hic các v n tng vng chc ng vn dng nhng kin thc h có th góp phn xây dng ngành công ngh thông tin nói chung và ngành mng máy tính và truyn thông nói riêng ngày càng phát trin vi nhng công ngh tiên tin hin nay. Em xin bày t lòng cng, ti thy, cô và các anh ch khoa Công ngh n tình ging d cho em trong sut thi gian hc tp va qua tng. ng thi em xin gi li cu sc ti Th, ng dn em hc tp, tìm hiu, nghiên cu và trau di kin th hoàn tài báo cáo tt nghip này. M gng trong nghiên cu và thc hi i gian và còn hn ch nên chc chn bài báo cáo s không tránh khi nhiu thiu sót. E . Nguy-D07THM1 Trang i MC LC LI M U LI C MC LC i DANH MC CÁC BNG, HÌNH iv DANH MC CÁC CM T VIT TT v CHƯƠNG 1. TNG QUAN V BT GÓI 6 1.1 Gii thiu . 6 1.2 Kin trúc bt gói d liu 7 1.2.1 Card mng và trìu khin thit b NIC. 7 1.2.2 u khin bt gói. 10 1.3 i NDIS 13 1.4 Các quá trình x lý bt và gi gói. 19 1.4.1 Quá trình lc. 19 1.4.2 c d liu. 20 1.4.3 Quá trình tiêm gói. 23 1.5 Các loi b m. 23 1.5.1 B m ht nhân. 23 1.5.2 B m mi dùng 24 1.6 Các kin trúc bt gói. 25 1.6.1 Kin trúc BSD Packet Filter. 25 1.6.1.a. Network Tap. 26 1.6.1.b. Filter. 26 1.6.1.c. Kernel Buffer. 28 1.6.1.d. n Libcap. 28 1.6.2 Kin trúc ca WinPCap. 29 1.6.2.a. Tng quan v kin trúc. 29 1.6.2.b. Nha WinPCap. 31 CHƯƠNG 2. CÁC GIAO THC VÀ KHUÔN DNG D LIU CHÍNH 34 2.1 B giao thc TCP/IP. 34 2.1.1 Khái nim. 34 2.1.2 Mn gc. 34 2.1.3 m. 36 2.1.4 liu trong chng giao thc TCP/IP 36 Nguy-D07THM1 Trang ii 2.1.5 t cha các tng. 37 2.1.5.a. Tng ng dng(Application Layer). 37 2.1.5.b. Tng giao vn(Transport Layer). 37 2.1.5.c. Tng Internet(Internet Layer). 37 2.1.5.d. Tng Liên kt(Link Layer). 38 2.1.6 So sánh mô hình TCP/IP và OSI 38 2.2 Cu trúc khung tin và các giao thc truyn tin. 39 2.2.1 Ethernet. 39 2.2.1.a. Cu trúc khung tin Ethernet. 39 2.2.1.b. Ca ch Ethernet. 41 2.2.2 ARP(Address Resolution Protocol). 41 2.2.3 RARP(Reverse Address Resolution Protocol). 42 2.2.4 IP(Internet Protocol). 43 2.2.5 ICMP(Internet Control Message Protocol). 45 2.2.6 TCP(Transmission Control Protocol). 47 2.2.7 UDP(User Datagram Protocol) 48 2.2.8 HTTP (HyperText Transfer Protocol). 49 2.2.9 DNS(Domain Name System). 50 CHƯƠNG 3. N LC GÓI LP 2 VÀ LP 3 52 3.1 Các khái nim liên quan. 52 3.2 n bt gói lp 3 (.NET Library). 52 3.2.1 Khái nim 53 3.2.2 Hong ca .NET Socket. 55 3.3 n bt gói lp 2. 55 3.3.1 WinPcap 55 3.3.1.a. Khái nim. 56 3.3.1.b. Hong ca Winpcap. 57 3.3.2 PacketX. 58 3.4 So sánh và Nh bt gói. 59 3.4.1 So sánh Raw Socket và WinPcap. 59 3.4.2 60 CHƯƠNG 4. 62 4.1 62 4.1.1 2. 62 4.1.2 62 Nguy-D07THM1 Trang iii 4.2 63 4.2.1 63 4.2.2 65 4.2.3 66 4.2.4 67 4.3 71 KT LUN 73 DANH MC TÀI LIU THAM KHO 74 n Nguy-D07THM1 Trang iv DANH MC CÁC BNG, HÌNH Danh mc các bng: Bng 2.1 37 Danh mc các hình nh: Hình 1.1 Cu trúc NPF 8 Hình 1.2 n ng dng 9 Hình 1.3 Cu trúc cu khin bt gói 11 Hình 1.4 Cu trúc cu khin vi hai adapter và hai ng dng 12 Hình 1.5 Mt kin 16 Hình 1.6 Packet Capture Driver trong NDIS 18 Hình 1.7 26 Hình 1.8 WinPCap và NPF 29 Hình 1.9 Kin trúc Winpcap tng quát 31 Hình 2.1 35 Hình 2.2 liu theo giao thc TCP/IP 36 Hình 2.3 38 Hình 2.4 39 Hình 2.5 42 Hình 2.6 43 Hình 2.7 46 Hình 2.8 47 Hình 2.9 49 Hình 2.10 50 Hình 3.1 54 Hình 3.2 55 Hình 3.3 60 Hình 4.1 62 Hình 4.2 63 Hình 4.3 63 Hình 4.4 64 Hình 4.5 64 Hình 4.6 65 Hình 4.7 66 Hình 4.8 68 Hình 4.9 68 Hình 4.10 69 Hình 4.11 70 Hình 4.12 71 D07THM1 Trang v DANH MC CÁC CM T VIT TT T VIT TT T VI GI OSI Open Systems Interconnection Kt ni h thng m LAN Local Area Network Mng cc b WAN Wide Area Network Mng din rng SA Source Address a ch ngun DA Destination Address a ch UDP User Datagram Protocol Giao thc d lii dùng TCP Transmission Control Protocol Giao thu khin truyn dn ICMP Internet Control Message Protocol Giao thu khin Internet SNMP Simple Network Management Protocol Giao thc qun lý mng n IP Internet Protocol Giao thc Internet FTP File Transfer Protocol Giao thc truyn tp tin CPU Center Processing Unit x lý trung tâm DNS Domain Name Service Dch v tên min DHCP Dynamic Host Configuration Protocol Giao thc cu hình máy ch ng HTTP Hyper Text Transfer Protocol Giao thc truy bn PPP Point-to-Point Protocol Giao thm nm DLL Dynamic Link Library n liên kng TOS Type Of Service Loi dch v TTL Time To Live Thi gian sng NDIS Network Driver Interface Specification nh rõ giao tiu khin mng D07THM1 Trang 6 CHƯƠNG 1. TNG QUAN V BT GÓI 1.1 Gii thiu . Nhng công c bt gói c t thc hin công vic riêng cng cn thu thp d liu truyn trên mng, bt gói (capturing) trong khi m vic. Vic x lý bt gói tp trung ch thu thp, lng nghe trên mng, mi khung truyn, không ph thuc vào ngun. Hu ht các công ngh truyn dn và giao thc truyn thông làm phc tp thêm nhim v na, kh tht quan trng, có th bc d liu t mng hong nhanh vi t cao mà không làm mt gói d liu. bt d liu t mt mng: Th nht là da trên vic s dng nhng thit b phn cng chuyên dng, trong khi cách th hai là s dng phn cng ca mt PC hay máy tr ng kt nn kênh truyn hai, card mng ca máy tính s d thu thp cách khung (frames) t mng, và phn mm m nhim x lý bt gói. Gii pháp phn mm ng có kh c hin thc bit là trên nhng máy tính yu. Ni r , d chnh sa và nâng cp chn mm. Vc hin din trong hu ht kin trúc m kh c hin cao ca nhng phn cng chuyên dng không thc s cn. Vic thc hin b c l ng t Berkeley Packet Filter (BPF), c phát trin bi S.McCanne và V.Jaconbson ti hc ca California. BPF là mt thành phn ht nhân ni ting s du khin bt gói (capture driver) trong nhng phiên bn ca UNIX vi hiu qu ca nó rt cao, d trin khai và kh ng ca nó cho giao tip mi dùng vn libpcap. S phát trin rng rãi ca Windows vi nhng nhim v thc hin là nhng nhim v truyn thc thc hin mt cách tin cy trên nhng máy trm Unix làm b qua nhvi nhiu v . Do vy, nó hn ch s ng ca nhng công c cho vic phân tích và bo mt trên nn tng này. Nhng c gc t to ra mt kin trúc có kh rng và mnh m cho vic phân tích mng mc thp trên nn tng Wini kin trúc này là mt h thng m u tiên cho vic bt gói d liu trên Win32 và nó ly khong trng quan trng gia Unix và Windowsc tiêu vi hiu sut là v nó có th h tr cho các ng di hiu sut cao. Vic lc to ra t mt thành phn nhân ca h la chn gói tin) và m n ch cung c n ng dng). Thành phn sau cùng cung cp mt chun giao tip cho vic truy cp mng [...]... ơng trình giám sát và kiểm tra mạng Điểm chính c a trình điều khiển bắt gói là cho hiệu suất bắt gói cao, tính linh hoạt và tính t ơng tác v i BPF gốc trong UNIX Kết quả c a trình điều khiển bắt gói có thể: o Bắt gói l u l ợng dữ liệu thô từ mạng và chuyển chúng t i một ứng dụng mức ng ời dùng o Lọc những gói tin đến bằng việc thực hiện các mã giã BPF Điều này có nghĩa rằng ứng dụng bắt gói có thể định... Windows 95 OSR2, NT 4.0, Windows CE 3. 0 NDIS 5.0: Windows 98, 98 SE, Me, 20 00 NDIS 5.1: Windows XP, Server 20 03, Windows CE 4.x , 5.0 NDIS 5 .2: Windows Server 20 03 SP2 NDIS 6.0: Windows Vista NDIS 6.1: Windows Vista SP1, Server 20 08 NDIS 6 .20 : Windows 7, Server 20 08 R2 NDIS 6 .30 : Windows 8 Do đó, trình điều khiển đ ợc viết phải phù hợp v i từng phi n bản c a windows Trình điều khiển bắt gói tin đ ợc... Unix đến Win 32 dễ dàng và nó có thể cho phép một tập l n các ch ơng trình đ ợc sử dụng trên Win 32 ngay lập tức, chỉ sau một quá trình biên dịch đơn giản Hơn thế nữa, do việc quan trọng c a giám sát l u l ợng, WinPCap cung cấp các lời gọi hệ thống rõ ràng cao cho việc đó 1 .2 Kiến trúc bắt gói dữ liệu Trong phần này sẽ định nghĩa những mô hình đ ợc sử dụng trong việc bắt gói bằng việc nhận diện các thành... hình c a trình điều khiển v i hai card mạng và hai ứng dụng bắt gói Nguyễn Văn Trí – D07THM1 Trang 11 Đồ án/ Khóa luận tốt nghiệp Đại học Ch ơng 1.Tổng quan về bắt gói Hình 1.4 Cấu trúc c a trình điều khiển v i hai adapter và hai ứng dụng Để mỗi phiên bắt gói đ ợc thiết lập giữa một adapter và một ch ơng trình bắt gói, trình điều khiển phải duy trì một bộ lọc và một bộ đệm Một card mạng có thể đ ợc sử... có thể bắt đầu xử lý những gói tin 1 .3 Tƣơng tác với NDIS Chú ý rằng không phải tất cả các phiên bản UNIX đều có BPF (ví dụ khả năng lọc và đệm trong hạt nhân), nh ng các th viện pcap có thể bù đắp sự thiếu hụt này Kiến trúc có thể làm việc bằng cách lọc các gói tin theo cách t ơng thích BPF ở mức ng ời dùng Giải pháp này đ ợc làm theo bản phát hành đầu ti n Nguyễn Văn Trí – D07THM1 Trang 13 Đồ án/... gói tin đặc biệt giống PPP NCP-LCP không thể nhìn thấy đ ợc bằng trình điều khiển giao thức, bởi vì kết nối PPP đ ợc ảo hóa Điều này nghĩa là trình điều khiển gói tin không thể bắt đ ợc những loại gói tin này Chú ý rằng những hệ điều hành WIN 32 có sự khác nhau về phiên bản c a NDIS: NDIS 2. 0: MS-DOS, Windows for Workgroups 3. 1, OS /2 NDIS 3. 0: Windows for Workgroups 3. 11 NDIS 3. 1:... thêm vào trong hệ thống và có thể th ờng xuyên cảnh báo thông qua hàm callback đ ợc gọi là tap() ngay khi gói tin m i đến từ mạng Những thành phần này th ờng đ ợc triển khai nh những trình điều khiển giao thức mạng trong Win 32 Trình điều khiển bắt gói đ ợc thêm vào trong nhân c a windows cho khả năng bắt gói dữ liệu thô từ một mạng bằng cách giống nh BPF trong nhân c a UNIX Thêm nữa, nó cung cấp một vài... mục đích bắt gói: th viện này không cho phép gửi những gói tinvà giám sát mạng Libcap làm việc trong không gian ng ời dùng, ít phụ thuộc vào hệ điều hành, nó có thể chuyển thành công sang vài hệ điều hành Unix Mặt khác, BPF chỉ có thể thực hiện trong vài hệ điều hành Sự thiếu một bộ lọc BPF trong nhân (ví dụ Solaris) nghĩa là tất cả gói tin đ ợc chuyển đến libcap tại mức ng ời dùng và th viện này làm... dụng bắt gói đ ợc bỏ đi bởi hệ thống và không ch p nó đến mức ng ời sử dụng - Không có bộ đệm nào cho gói tin trong nhân Trong môi tr ờng đa nhiệm, ứng dụng bắt gòi phải chia sẽ thời gian xử lý v i ứng dụng khác Điều đó có thể ứng dụng bắt gói sẽ không đ ợc thực hiện khi gói tin đến Hơn nữa, ứng dụng có thể làm nhiều nhiệm vụ khác và có thể không chờ gói tin đến Việc thiếu bộ đệm hạt nhân, trong một vài... sử dụng bởi trình điều khiển bắt gói Nó thi hành máy ghi, cái mà sẽ chạy mã lọc Nó chứa hai bộ đệm: một bộ đệm chứa một gói tin và một bộ đệm chứa ch ơng trình BPF để chạy Nó trả ra chiều dài c a phần gói tin l u trữ, hoặc bằng 0 nếu gói tin đ ợc loại bỏ o bpf_filter_with _2_ buffers: hàm này rất giống v i hàm bpf_filter, nh ng nó có thể lọc các gói lọc gói tin mà có ti u đề và dữ liệu c a nó đ ợc l u . về bắt gói. Chương 2: Các giao thức và khuôn dạng dữ liệu chính. Chương 3: Thư viện lọc gói lớp 2 và lớp 3. Chương 4:Đánh giá hiệu suất bắt gói của thư viện bắt gói lớp 2 và thư viện bắt gói. quan. 52 3 .2 n bt gói lp 3 (.NET Library). 52 3 .2. 1 Khái nim 53 3 .2. 2 Hong ca .NET Socket. 55 3. 3 n bt gói lp 2. 55 3. 3.1 WinPcap 55 3. 3.1.a. Khái nim. 56 3. 3.1.b kt(Link Layer). 38 2. 1.6 So sánh mô hình TCP/IP và OSI 38 2. 2 Cu trúc khung tin và các giao thc truyn tin. 39 2. 2.1 Ethernet. 39 2. 2.1.a. Cu trúc khung tin Ethernet. 39 2. 2.1.b. Ca