So sánh Raw Socket và WinPcap

Một phần của tài liệu khảo sát các thư viện bắt gói lớp 2 và lớp 3 (Trang 63 - 64)

Raw socket trong th viện .net và WinPCap đều có thể đ ợc sử dụng để viết ch ơng trình bắt gói (sniffer). Tuy nhi n socket chỉ có thể làm việc từ tầng thứ 4 trong mô hình OSI trở l n (transport layer trong TCP/IP) và raw socket có thể làm việc đ ợc v i tầng thứ 3 trong mô hình OSI trở l n (network layer trong TCP/IP) còn WinPCap có thể làm việc v i tầng thứ 2 trở l n trong mô hình OSI (link layer trong TCP/IP).Ngoài ra raw socket tr n window đã không còn đ ợc Microsoft hỗ trợ cũng nh tính năng bị gi i hạn nh UDP datagram v i địa chỉ nguồn không hợp lệ sẽ không thể gửi qua raw socket.

Hình 3.3 T ơng ứng giữa Socket và Pcap

Do vậy, nếu sử dụng Socket để đo đạc toàn bộ l u l ợng thông tin vào/ra một hệ thống hay một trạm thì sẽ d n t i kết quả có thể không chính xác do nó chỉ có thể chặn bắt một số loại packet nhất định (TCP và UDP) (IP nếu nh sử dụng raw IP socket). Các giao thức v i các gói dữ liệu khác nh ARP, RARP ta sẽ không thể chặn bắt khi sử dụng socket. Nếu sử dụng th viện pcap để chặn bắt ở mức network adapter thì ta sẽ có thể chặn bắt đ ợc toàn bộ thông tin do mức chặn bắt ở đây tầng thứ 2 trong mô hình OSI (link layer trong TCP/IP). Tuy nhi n, độ sai lệch là rất nhỏ do các gói tin ngoài TCP và UDP có rất nhỏ và không th ờng xuy n.

Sử dụng Raw Socket ta có thể block một ứng dụng, một tiến trình sử dụng mạng bằng cách có thể chặn cổng hay chặn địa chỉ IP c a nó. Tuy nhi n, khi sử dụng th viện pcap, ta không thể làm việc này mà chỉ có thể chặn bắt và trích xuất thông tin.

Một phần của tài liệu khảo sát các thư viện bắt gói lớp 2 và lớp 3 (Trang 63 - 64)