khảo sát các thư viện bắt gói lớp 2 và lớp 3

78 251 0
khảo sát các thư viện bắt gói lớp 2 và lớp 3

Đ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

HC VIN CÔNG NGH N THÔNG KHOA CÔNG NGH THÔNG TIN 2  ÁN/KHOÁ LUN TT NGHII HC Đề tài: KHN BT GÓI LP 2 VÀ LP 3 Mã số đề tài: 11407170011 ng dn : ThS LÊ PHÚC Sinh viên thc hin : NGUY Mã s sinh viên : 407170067 Lp :  Khoá : 2007-2012 H : I HC CHÍNH QUY TP.HCM , tháng 12/2011    Nguy-D07THM1 NHN XÉT CNG DN    TP Hồ Chí Minh, Ngày …… tháng 12 năm 2011 ng dn ThS. LÊ PHÚC    Nguy-D07THM1 LI M U Công ngh mng máy tính và truyn thông ngày c s dng mt cách rng rãi vi nhng phn mm ng dng c vi cung ci dùng. S thành công ca mng Internet mang thông tin n m, mi t chc và mi công ty. Mi ngày mi sn phm phn mm c vit ra nhng công ngh mi. Sc m phc tp ca mc phát trin mu   s dng ca thit b i dùng cuu  i làm khó cho nhi thit k, b ng và m bo tính an ninh ca mng.  nhng công c cn thit có kh  tích, chm tra hong và v bo mt ca các thông tin truyn trên mng.  có th kic các lung, theo dõi  ng thi theo dõi hong ci s dng v các v trên ng truyn, s tn công ca virus hay nhng tn công ca Hacker. Mt git  dng nhng công c bt gói và phân tích kt qu t các gói b có th gii quyt các v nêu trên. Hin nay, có rt nhiu công c bc phát trin bi các nhà phát trin ng dng ni ti công c bt gói Wireshare, Tcpdump          . Chính vì  nêu trên, em   .     nm bc các git  có th thu thp, giám sát, quc thông tin trên mng qua vic phân tích ni dung các gói tin b giúp em có th trang b tt cho hành trang kin thc ca mình ng. Ni dung ca báo cáo  án tt nghip gm 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 LI C Sau thi gian hc tp tng Hc Vin Công Ngh  s ti thành ph H c các thy cô giáo trang b cho em nhng kin thn ca ngành Công ngh ng th v chuyên ngành mng máy tính và truyn thông. u kin cho em có th tìm hic các v n tng vng chc ng vn dng nhng kin thc h có th góp phn xây dng ngành công ngh thông tin nói chung và ngành mng máy tính và truyn thông nói riêng ngày càng phát trin vi nhng công ngh tiên tin hin nay. Em xin bày t lòng cng, ti thy, cô và các anh ch khoa Công ngh n tình ging d cho em trong sut thi gian hc tp va qua tng. ng thi em xin gi li cu sc ti Th, ng dn em hc tp, tìm hiu, nghiên cu và trau di kin th hoàn  tài báo cáo tt nghip này. M gng trong nghiên cu và thc hi i gian và  còn hn ch nên chc chn bài báo cáo s không tránh khi nhiu thiu sót. E   .    Nguy-D07THM1 Trang i MC LC  LI M U LI C MC LC i DANH MC CÁC BNG, HÌNH iv DANH MC CÁC CM T VIT TT v CHƯƠNG 1. TNG QUAN V BT GÓI 6 1.1 Gii thiu . 6 1.2 Kin trúc bt gói d liu 7 1.2.1 Card mng và trìu khin thit b NIC. 7 1.2.2 u khin bt gói. 10 1.3 i NDIS 13 1.4 Các quá trình x lý bt và gi gói. 19 1.4.1 Quá trình lc. 19 1.4.2 c d liu. 20 1.4.3 Quá trình tiêm gói. 23 1.5 Các loi b m. 23 1.5.1 B m ht nhân. 23 1.5.2 B m mi dùng 24 1.6 Các kin trúc bt gói. 25 1.6.1 Kin 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 Kin trúc ca WinPCap. 29 1.6.2.a. Tng quan v kin trúc. 29 1.6.2.b. Nha WinPCap. 31 CHƯƠNG 2. CÁC GIAO THC VÀ KHUÔN DNG D LIU CHÍNH 34 2.1 B giao thc TCP/IP. 34 2.1.1 Khái nim. 34 2.1.2 Mn gc. 34 2.1.3 m. 36 2.1.4  liu trong chng giao thc TCP/IP 36    Nguy-D07THM1 Trang ii 2.1.5 t cha các tng. 37 2.1.5.a. Tng ng dng(Application Layer). 37 2.1.5.b. Tng giao vn(Transport Layer). 37 2.1.5.c. Tng Internet(Internet Layer). 37 2.1.5.d. Tng Liên kt(Link Layer). 38 2.1.6 So sánh mô hình TCP/IP và OSI 38 2.2 Cu trúc khung tin và các giao thc truyn tin. 39 2.2.1 Ethernet. 39 2.2.1.a. Cu trúc khung tin Ethernet. 39 2.2.1.b. Ca 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 LC GÓI LP 2 VÀ LP 3 52 3.1 Các khái nim liên quan. 52 3.2 n bt gói lp 3 (.NET Library). 52 3.2.1 Khái nim 53 3.2.2 Hong ca .NET Socket. 55 3.3 n bt gói lp 2. 55 3.3.1 WinPcap 55 3.3.1.a. Khái nim. 56 3.3.1.b. Hong ca Winpcap. 57 3.3.2 PacketX. 58 3.4 So sánh và Nh bt 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 KT LUN 73 DANH MC TÀI LIU THAM KHO 74  n  Nguy-D07THM1 Trang iv DANH MC CÁC BNG, HÌNH Danh mc các bng: Bng 2.1  37 Danh mc các hình nh: Hình 1.1 Cu trúc NPF 8 Hình 1.2  n ng dng 9 Hình 1.3 Cu trúc cu khin bt gói 11 Hình 1.4 Cu trúc cu khin vi hai adapter và hai ng dng 12 Hình 1.5 Mt kin 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 Kin trúc Winpcap tng quát 31 Hình 2.1  35 Hình 2.2  liu theo giao thc 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 MC CÁC CM T VIT TT T VIT TT T VI GI OSI Open Systems Interconnection Kt ni h thng m LAN Local Area Network Mng cc b WAN Wide Area Network Mng din rng SA Source Address a ch ngun DA Destination Address a ch  UDP User Datagram Protocol Giao thc d lii dùng TCP Transmission Control Protocol Giao thu khin truyn dn ICMP Internet Control Message Protocol Giao thu khin Internet SNMP Simple Network Management Protocol Giao thc qun lý mng n IP Internet Protocol Giao thc Internet FTP File Transfer Protocol Giao thc truyn tp tin CPU Center Processing Unit  x lý trung tâm DNS Domain Name Service Dch v tên min DHCP Dynamic Host Configuration Protocol Giao thc cu hình máy ch ng HTTP Hyper Text Transfer Protocol Giao thc truy bn PPP Point-to-Point Protocol Giao thm nm DLL Dynamic Link Library n liên kng TOS Type Of Service Loi dch v TTL Time To Live Thi gian sng NDIS Network Driver Interface Specification nh rõ giao tiu khin mng     D07THM1 Trang 6 CHƯƠNG 1. TNG QUAN V BT GÓI 1.1 Gii thiu . Nhng công c bt gói c t thc hin công vic riêng cng cn thu thp d liu truyn trên mng, bt gói (capturing) trong khi m vic. Vic x lý bt gói tp trung  ch thu thp, lng nghe trên mng, mi khung truyn, không ph thuc vào ngun. Hu ht các công ngh truyn dn và giao thc truyn thông làm phc tp thêm nhim v  na, kh tht quan trng,  có th bc d liu t mng hong nhanh vi t cao mà không làm mt gói d liu.  bt d liu t mt mng: Th nht là da trên vic s dng nhng thit b phn cng chuyên dng, trong khi cách th hai là s dng phn cng ca mt PC hay máy tr  ng kt nn kênh truyn   hai, card mng ca máy tính s d thu thp cách khung (frames) t mng, và phn mm m nhim x lý bt gói. Gii pháp phn mm ng có kh c hin thc bit là trên nhng máy tính yu. Ni r , d chnh sa và nâng cp chn mm. Vc hin din trong hu ht kin trúc m kh c hin cao ca nhng phn cng chuyên dng không thc s cn. Vic thc hin b  c l  ng t Berkeley Packet Filter (BPF), c phát trin bi S.McCanne và V.Jaconbson ti hc ca California. BPF là mt thành phn ht nhân ni ting s du khin bt gói (capture driver) trong nhng phiên bn ca UNIX vi hiu qu ca nó rt cao, d trin khai và kh  ng ca nó cho giao tip mi dùng vn libpcap. S phát trin rng rãi ca Windows vi nhng nhim v thc hin  là nhng nhim v truyn thc thc hin mt cách tin cy trên nhng máy trm Unix làm b qua nhvi nhiu v . Do vy, nó hn ch s ng ca nhng công c cho vic phân tích và bo mt trên nn tng này. Nhng c gc t to ra mt kin trúc có kh   rng và mnh m cho vic phân tích mng  mc thp trên nn tng Wini kin trúc này là mt h thng m u tiên cho vic bt gói d liu trên Win32 và nó ly khong trng quan trng gia Unix và Windowsc tiêu vi hiu sut là v  nó có th h tr cho các ng di hiu sut cao. Vic lc to ra t mt thành phn nhân ca h    la chn gói tin) và m n ch     cung c  n ng dng). Thành phn sau cùng cung cp mt chun giao tip cho vic truy cp mng [...]... ơ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 bt gói lp 3 (.NET Library). 52 3 .2. 1 Khái nim 53 3 .2. 2 Hong ca .NET Socket. 55 3. 3 n bt gói lp 2. 55 3. 3.1 WinPcap 55 3. 3.1.a. Khái nim. 56 3. 3.1.b kt(Link Layer). 38 2. 1.6 So sánh mô hình TCP/IP và OSI 38 2. 2 Cu trúc khung tin và các giao thc truyn tin. 39 2. 2.1 Ethernet. 39 2. 2.1.a. Cu trúc khung tin Ethernet. 39 2. 2.1.b. Ca

Ngày đăng: 01/08/2014, 21:43

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

Tài liệu liên quan