Mục lục lời mở ĐẦU



tải về 2.04 Mb.
trang2/4
Chuyển đổi dữ liệu04.12.2017
Kích2.04 Mb.
#3883
1   2   3   4

Sniffing.

190 28 6E 65 74 77 6F 72 6B 20 77 69 72 65 74 61 70 (network.wiretap

1A0 2C 20 73 6E 69 66 66 65 72 29 20 46 41 51 3C 2F ,.sniffer).FAQ

1B0 68 31 3E 0D 0A 0D 0A 54 68 69 73 20 64 6F 63 75 h1>....This.docu

1C0 6D 65 6E 74 20 61 6E 73 77 65 72 73 20 71 75 65 ment.answers.que

1D0 73 74 69 6F 6E 73 20 61 62 6F 75 74 20 74 61 70 stions.about.tap

1E0 70 69 6E 67 20 69 6E 74 6F 20 0D 0A 63 6F 6D 70 ping.into...comp

1F0 75 74 65 72 20 6E 65 74 77 6F 72 6B 73 20 61 6E uter.networks.an

Ví dụ phân tích Network Traffic


Ta nhận thấy trong packet trên chứa 14-byte Ethernet header, 20-byte IP header, 20-byte TCP header, HTTP header có dấu hiệu kết thúc là (0D 0A 0D 0A) và cuối cùng là phần dữ liệu. Dữ liệu thu được như sau:

Ethernet header: 00 00 BA 5E BA 11 00 A0 C9 B0 5E BD 08 00

IP header: 45 0005 DC 1D E4 40 00 7F 06 C2 6D 0A 00 00 020A 0001 C9

TCP header: 00 50 07 75 05 D0 00 C0 04 AE 7D F5 50 1070 79 8F 27 00 00

HTTP header: 48 54 54 50 2F 31 2E 31 20 32...

. ... 3A 61 34 61 22 0D 0A 0D 0A


Một “Protocol Analyzer” sẽ nhận vào những dữ liệu ở trên và phân tích chúng, trích xuất thông tin và chuyển thành các trường thông tin có thể dễ dàng đọc bởi con người, ví dụ đối với packet ở trên sau khi thực hiện phân tích thông tin ta sẽ có:

ETHER: Destination address : 0000BA5EBA11

ETHER: Source address : 00A0C9B05EBD

ETHER: Frame Length : 1514 (0x05EA)

ETHER: Ethernet Type : 0x0800 (IP)

IP: Version = 4 (0x4)

IP: Header Length = 20 (0x14)

IP: Service Type = 0 (0x0)

IP: Precedence = Routine

IP: ...0.... = Normal Delay

IP: ....0... = Normal Throughput

IP: .....0.. = Normal Reliability

IP: Total Length = 1500 (0x5DC)

IP: Identification = 7652 (0x1DE4)

IP: Flags Summary = 2 (0x2)

IP: .......0 = Last fragment in datagram

IP: ......1. = Cannot fragment datagram

IP: Fragment Offset = 0 (0x0) bytes

IP: Time to Live = 127 (0x7F)

IP: Protocol = TCP - Transmission Control

IP: Checksum = 0xC26D

IP: Source Address = 10.0.0.2

IP: Destination Address = 10.0.1.201

TCP: Source Port = Hypertext Transfer Protocol

TCP: Destination Port = 0x0775

TCP: Sequence Number = 97517760 (0x5D000C0)

TCP: Acknowledgement Number = 78544373 (0x4AE7DF5)

TCP: Data Offset = 20 (0x14)

TCP: Reserved = 0 (0x0000)

TCP: Flags = 0x10 : .A....

TCP: ..0..... = No urgent data

TCP: ...1.... = Acknowledgement field significant

TCP: ....0... = No Push function

TCP: .....0.. = No Reset

TCP: ......0. = No Synchronize

TCP: .......0 = No Fin

TCP: Window = 28793 (0x7079)

TCP: Checksum = 0x8F27

TCP: Urgent Pointer = 0 (0x0)

HTTP: Response (to client using port 1909)

HTTP: Protocol Version = HTTP/1.1

HTTP: Status Code = OK

HTTP: Reason = OK


    1. Các thành phần của một chương trình sniffer

Hardware

Phần cứng thỏa mãn các tiêu chuẩn của network adapter. Ngoài ra có thể có các tính năng đặc biệt bổ sung để kiểm tra lỗi CRC, lỗi điện thế, lỗi cáp...

Chú ý: Để có thể chặn bắt các gói tin vào/ra một mạng gián tiếp từ một nút mạng thì card mạng của nút mạng đó phải hỗ trợ chế độ đa hỗn tạp (promiscuous mode). Hầu hết các card mạng hiện nay đều hỗ trợ chế độ này. Tuy nhiên, các mạng hiện nay đang dần chuyển sang sử dụng switch thay vì broadcast gói tin như hub, vậy nên để chặn bắt gói tin trong một mạng không còn đơn giản như trước đây nữa.

Capture driver

Là phần quan trọng nhất. Nó có nhiệm vụ bắt lấy network traffic trên đường dây, lưu trữ dữ liệu vào buffer và lọc lấy thông tin cần thiết.



Buffer

Dữ liệu sau khi được lấy về sẽ được lưu trữ tạm thời tại buffer. Thường có 2 phương pháp sử dụng buffer: ghi vào cho tới khi buffer đầy, hoặc ghi theo phương pháp vòng tròn khi mà dữ liệu mới nhất sẽ thay thế dữ liệu cũ nhất.



Real-time analysis

Phân tích traffic về protocol, kiểm tra lỗi khi capture packet.



Decode

Giải mã và hiển thị nội dung của network traffic dưới dạng phù hợp tùy thuộc vào yêu cầu.



Packet editting/transmission

Một vài chương trình cho phép chúng ta tự tạo cho mình những packet và đưa chúng lên mạng.




    1. Phòng chống sniffer

Trước tiên, chắc chắn rằng không một máy riêng biệt nào có thể lắng nghe hay chặn bắt toàn bộ mạng Internet. Thứ hai, để có thể lắng nghe một liên kết, cần phải truy nhập được vào dây nối vật lý của liên kết đó (hay có thể tham gia vào giữa đường truyền vật lý của các gói tin). Vậy nên trước hết để phòng chống sniffer là ngăn chặn không để sniffer được cài đặt hay chạy trên bất kì máy nào trong mạng cũng như kiểm tra cẩn thận dây nối trong mạng (đối với mạng có dây). Ngoài ra để phòng chống sniffer ta cần:


      1. Phát hiện sniffer trong mạng

Một số phương thức đơn giản nhất để phát hiện chương trình sniffer:

  • Phương thức Ping: gửi một gói tin ping tới địa chỉ IP mà không phải là Ethernet Adapter, gồm những bước như sau:

    • Giả sử máy nghi ngờ có địa chỉ IP 10.0.0.1 và MAC là 00-40-05-A4-79-32

    • Gửi một gói tin “ICMP Echo Request” (ping) có IP của máy nghi ngờ và địa chỉ MAC thay đổi (ví dụ 00-40-05-A4-79-31).

    • Nếu như ta nhận được phản hồi tức là máy nghi ngờ đã bỏ chức năng Ethernet Filter, do đó nó đang lắng nghe trên đường dây.

  • Phương thức ARP

Tương tự như phương thức Ping nhưng sử dụng gói tin ARP thay cho ICMP

  • Phương thức DNS

Rất nhiều chương trình sniffer sẽ tự động chuyển đổi địa chỉ IP thông qua DNS. Ta có thể phát hiện promiscuous mode của một máy dựa vào DNS traffic mà nó tạo ra (yêu cầu cần phải thiết đặt máy nghi ngờ request tại DNS server mà ta có thể kiểm soát, sau đó dựa vào traffic để kiểm tra).

      1. Ngăn chặn sniffer

  • Chống sniffing dữ liệu

  • Cài đặt mạng để sniffing khó khăn hơn

    • Kiểm tra đường dây và các máy trong mạng.

    • Sử dụng Switch thay vì Hub.

  • Sử dụng Adapter không hỗ trợ sniffing

Một vài loại Adapter cũ không hỗ trợ promiscuous mode.

      1. Một số chương trình phát hiện sniffer

  • AntiSniff

http://www.l0pht.com/antisniff/

  • CPM (Check Promiscuous Mode)

ftp://coast.cs.purdue.edu/pub/tools/unix/cpm/

  • Dành cho UNIX.

    • neped

http://www.apostols.org/projectz/neped/

    • sentinel

http://www.packetfactory.net/Projects/sentinel/

    • cpm (Check Promiscuous Mode)

ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/cpm/

  1. Các Phương Pháp Xây Dựng

Để xây dựng chương trình sniffer, chúng ta có các lựa chọn chính: Chặn bắt ở mức ứng dụng, mức hệ điều hành và mức network adapter.

    1. Raw Socket – mức hệ điều hành

Socket là một phương pháp để thiết lập kết nối truyền thông giữa một chương trình yêu cầu dịch vụ ( client) và một chương trình cung cấp dịch vụ (server) trên mạng LAN, WAN hay Internet và đôi lúc là giữa những quá trình ngay bên trong máy tính. Mỗi socket có thể được xem như một điểm cuối trong một kết nối. Một socket trên máy yêu cầu dịch vụ có địa chỉ mạng được cấp sẵn để “gọi” một socket trên máy cung cấp dịch vụ. Một khi socket đã được thiết lập phù hợp, hai máy tính có thể trao đổi dịch vụ và dữ liệu.

Các đặc tính của Socket bao gồm:



  • Giao thức (TDP, UDP hay raw IP).

  • Số hiệu cổng.

  • Địa chỉ IP.

Phân loại: Có vài loại Socket thông dụng như:

  • Datagram Socket hay còn gọi là connectionless socket sử dụng UDP.

  • Stream Socket hay còn gọi là connection – oriented socket sử dụng TCP.

  • Raw Socket (hay là Raw IP Socket). Với socket dạng này tầng giao vận được bỏ qua và ứng dụng có thể truy nhập trực tiếp vào dữ liệu của gói tin IP.

Tóm lại, sử dụng Socket ta có thể chặn bắt và truy nhập các thông tin từ tầng giao vận trở lên (TCP và UDP) và có thể truy nhập tới tầng Internet ( IP) nếu sử dụng raw socket. Tuy nhiên hiện nay trên hệ điều hành window chỉ có thư viện winsock dành cho Visual C++ và Socket trong .Net hỗ trợ raw socket. Thư viện lập trình mạng của Java không cho phép người phát triển được sử dụng tới raw socket.

Raw socket là một socket cho phép truy nhập trực tiếp tới header của một packet. Nói một cách khác, raw socket là một cách bỏ qua toàn bộ network stack và đưa packet tới thẳng tầng ứng dụng. Raw socket có thể thực hiện một trong hai tác vụ:

Packet Sniffing: nhận các packet từ raw socket.

Packet Injection: gửi các packet tới raw socket.

Raw socket không nằm ở tầng ngôn ngữ lập trình mà là một phần networking API của hệ điều hành. Sử dụng raw socket chúng ta có thể lấy về header của packet khác với socket thông thường chỉ lấy về payload của packet. Raw socket được sử dụng trong transport layer và network layer.

Khi Window XP được phát hành năm 2001, raw socket được cài đặt trong thư viện Winsock, tuy nhiên Microsoft tuyên bố raw socket chỉ được hacket dùng trong việc thực hiện TCP reset attacks. Do vậy sau 3 năm sau trong bản hotfix, Mircrosoft đã hạn chế hỗ trợ raw socket trong winsock cũng như không hỗ trợ cho ứng dụng nào sử dụng chúng nữa.


    1. Pcap – mức network adapter

Pcap (packet capture) bao gồm những giao diện lập trình ứng dụng (API) dùng để chặn bắt network traffic. Đối với các hệ thống thuộc họ Unix ta có thư viện libpcap, còn đối với Window ta có thư viện được port từ libpcap là winpcap. Pcap thường có hai thành phần cơ bản:

  • Driver: packet capture driver không thể được viết bằng các ngôn ngữ bậc cao mà thường viết bằng C hoặc assembly. Hai driver được sử dụng rộng rãi nhất hiện nay là driver thương mại nằm trong PCAUSA và driver miễn phí nằm trong Windump package.

  • Interface: là giao diện thực hiện packet capture.

Libpcap và Winpcap được sử dụng từ link layer trở lên. Chúng cung cấp cơ chế packet capture và packet filter, có thể lưu trữ packet thu được vào file hay đọc file đó... Ngoài ra chúng còn cho phép tạo các custom packet và injection chúng trên mạng. Rất nhiều ứng dụng đã sử dụng libpcap hay winpcap vào các mục đích khác nhau như packet sniffer, network monitor, network tester hay network intrusion detection system...

Tuy nhiên nhược điểm của việc sử dụng các thư viện này là chúng chỉ có thể sử dụng để chặn bắt gói tin mà không thể block một địa chỉ hay một cổng hay một tiến trình truy nhập mạng như socket.

API của libpcap và winpcap được viết bằng C hoặc C++ nên để có thể xây dựng ứng dụng bằng các ngôn ngữ khác như .NET, Java ta cần có wrapper.

Danh sách các wrapper để sử dụng libpcap/winpcap với ngôn ngữ khác C/C++:



  • Net::Pcap, a Perl wrapper for pcap

  • python-libpcap, a Python wrapper for pcap

  • pcapy, another Python wrapper for pcap

  • PacketFu, a Ruby wrapper for pcap

  • tclpcap, a Tcl wrapper for pcap

  • jpcap, a Java wrapper for pcap

  • jNetPcap, another Java wrapper for pcap

  • WinPcapNET, SharpPcap, Pcap.Net, .NET wrappers for WinPcap

  • pcap, Haskell bindings for pcap

  • mlpcap, Objective Caml bindings for pcap

  • pcap, Chicken Scheme wrapper for pcap

    1. So sánh Raw Socket và Pcap

Tương ứng giữa Socket và Pcap

Raw socket và pcap đều có thể được sử dụng để viết chương trình 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 pcap 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) (nguồn). 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ư:


  • Dữ liệu TCP không thể được gửi qua raw socket.

  • UDP datagram với địa chỉ nguồn không hợp lệ sẽ không thể gửi qua raw socket.

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, ICMP 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.

Kết luận: Để xây dựng một ứng dụng sniffer, ta hoàn toàn có thể sử dụng bất kỳ một trong hai phương pháp trên. Tuy nhiên, tùy vào nhiều yếu tố khác nhau mà ta có thể chọn một trong hai phương pháp hay kết hợp cả hai phương pháp.

CHƯƠNG III. PHÂN TÍCH, LỰA CHỌN VÀ THIẾT KẾ GIẢI THUẬT


  1. Chi Tiết Các Phương Pháp

    1. Winsock

Sử dụng Winsock để xây dựng chương trình sniffer nghĩa là chặn bắt ở mức hệ điều hành với Raw Socket. Do đề tài thực hiện trong phạm vi hệ điều hành Windows nên chúng ta chỉ xét tới Winsock (ngoài ra còn có thể có .NET Socket)..

      1. Khái niệm

Là viết tắt của từ Window Socket. Là một thư viện socket, nó được dùng như là giao diện giữa TCP/IP và Windows. Winsock là một thư viện liên kết động .DLL chạy trên nên hệ điều hành Windows. WINSOCK.DLL liên hệ với TCP từ đó giao tiếp ra ngoài mạng Internet. Hình dưới thể hiện cách làm việc của Winsock:


Sơ đồ giao tiếp thông qua winsock

Winsock thực sự như một tầng giữa các ứng dụng winsock và ngăn xếp TCP/IP. Các ứng dụng yêu cầu Winsock.dll cần làm những gì, nó biên dịch các câu lệnh dịch chuyển tới bộ giao thức TCP/IP và bộ giao thức TCP/IP chuyển chúng lên mạng. Yêu cầu là Winsock.dll đang dùng phải có phiên bản đúng với phiên bản của TCP/IP đang chạy.



      1. Các sự kiện của Winsock

DatArribal: Đây là nơi phát hiện dữ liệu đến thông qua cổng cục bộ.

  • Connect: Tạo lập một kết nối tới trạm khác.

  • SendProgesss: Phần lớn được kết hợp với việc truyền file. Cho biết muốn làm gì trong khi nó vẫn xử lý việc gửi thông tin dữ liệu.

  • SendComplete: Sau khi gửi dữ liệu hoàn thành cho biết xảy ra chuyện gì.

  • Close: Dùng để đóng kết nối, ngắt kết nối.

  • SendData: Báo cho Winsock điều khiển việc gửi dữ liệu.

  • GetData: Báo cho Winsock điều khiển nhận dữ liệu thông đang được gửi thông qua RemotePort.

      1. Loại Socket trong Winsock

Stream Socket : Cung cấp liên lạc 2 chiều, chuỗi tuần tự và tin cậy. Stream Socket hoạt động giống như cuộc đàm thoại. Trong Winsock được ký hiệu là kiểu SOCK_STREAM dùng giao thức điều khiển truyền thông mạng TCP.

Datagram Socket : Hỗ trợ dòng thông báo 2 chiều. Datagarm Socket hoạt động như việc gửi thư đi gửi thư lại và thiếu độ tin cậy. Trong Winsock được ký hiệu kiểu SOCK_DGRAM dùng giao thức dữ liệu người dùng UDP.

Sequential Packet Socket : Cung cấp truyền thông 2 chiều, chuỗi tuần tự, tin cậy. Trong Winsock nó có ký hiệu là kiểu SOCK_SEQPACKET.

Raw Socket : Cung cấp truy cập cơ bản các giao thực truyền thông, cho phép truy cập trực tiếp các thông tin header của packet tầng thấp (IP).



      1. Làm việc với Socket trong Winsock

  • Khởi tạo Socket :

Hàm int socket (int domain, int type, int protocol) được gọi để khởi tạo Socket trong miền và kiểu xác định. Nếu giao thức không được chỉ rõ hệ thống sẽ mặc định giao thức hỗ trợ loại socket chỉ định. Các socket nắm giữ sẽ được trả về. Quá trình truyền thông kết nối qua các địa chỉ. Hàm int bind (int s, const struct sockaddr *name, int namelen) được gọi để kết hợp đường dẫn hoặc địa chỉ Internet tới Socket. Sử dụng unlink () rm() để hủy một socket.

  • Kết nối các Stream Socket:

Đối với việc kết nối các Socket, một tiến trình thường hoạt động như Server mà tiến trình khác là Client. Server kết hợp Socket của nó tới đường dẫn hoặc địa chỉ. Sau đó Server giọ hàm int listen (int s, int backlog) cho SOCK_STREAM. Nó xác định có bao nhiêu yêu cầu kết nối trong hàng đợi .Một Client khởi tạo kết nối tới Socket của Server bằng cách gọi hàm int connect (int s, struct sockaddr *name, int namelen) Server gọi hàm accept() để hoàn tất kết nối cho SOCK_STREAM. Hàm int accept (int s, struct sockaddr *addr, int *addrlen) trả về một socket mới phù hợp với sự liên lạc riêng đó. Môt server có thể có nhiều kết nối SOCK_STREAM chủ động trong cùng lúc.

  • Truyền tải và đóng Stream Socket:

Có một số hàm để gửi và nhận dữ liệu từ Socket SOCK_STREAM đó là read()write(). Các hàm send (int s, const char *msg, int len, int flags) , revc (int s, const chả *buf, int len, int flags) giống với read() write() nhưng có thêm một số cờ điều khiển:Dùng hàm close() để đóng Socket.

  • Datagram Socket:

Một Datagram Socket không đòi hỏi phải thành lập kết nối. Mỗi thông điệp sẽ mang một địa chỉ đích. Nếu địa chỉ cục bộ riêng biệt là cần thiết thì việc gọi hàm bind() phải được gọi trước khi truyền dữ liệu. Dữ liệu được gửi thông qua hàm sendto() hoặc sendmsg(). Hàm sendto được gọi giống như hàm send() được gọi với địa chỉ đích xác định. Để nhận các thông báo Datagram Socket ta gọi hàm recvfrom() hoặc recvmsg(). Trong khi revc() yêu cầu một vùng đệm thì recvfrom() yêu cầu tới 2 vùng đệm cho dữ liệu và cho địa chỉ nguồn. Datagram Socket cũng có thể dùng hàm connect() để kết nối socket tới một socket đích được xác định trước. Khi công việc hoàn tất thì hàm send()recv() được dùng để gửi và nhận dữ liệu. Hàm accept()listend() không được sử dụng với Datagram Socket.

    1. .NET Socket

      1. Khái niệm

.NET Socket tương tự như Winsock là một thư viện lập trình socket cho window nhưng hoạt động trên nền .NET. Nói cách khác, .NET Socket là một giao diện lập trình “managed code” của Window Socket (Winsock), tức là nó hoạt động trên nền Winsock. Do vậy, ta hầu như có thể coi lập trình với .NET Socket giống như lập trình với Winsock. Trong .NET Socket, chúng ta có 3 loại Socket tương tự như Winsock là Stream Socket, Datagram Socket và Raw Socket. Hầu hết các lớp dùng để lập trình với .NET Socket nằm trong Namespace System.Net.Sockets.

Sơ đồ giao tiếp thông qua .NET Socket



      1. Làm việc với .NET Socket

Nếu làm việc với các tầng cao, .NET Socket đã cung cấp sẵn các lớp TcpListener, TcpClientUdpClient:

Cơ chế làm việc của .NET Socket

Để làm việc với tầng thấp hơn, ta phải dùng lớp Socket

Khởi tạo Socket

Để khởi tạo 1 Socket ta sử dụng cấu tử: Socket (IPAddress, SocketType, ProtocolType);:


  • Kết nối Socket:

Để kết nối Socket, ta sử dụng hàm Connect() với tham số là địa chỉ IP muốn kết nối tới.

  • Truyền tải dữ liệu thông qua Socket:

Để gửi và nhận dữ liệu thông qua .NET Socket, ta sử dụng hàm Send()Receive() với các tham số phù hợp.

      1. Demo

Demo thực hiện bắt gói tin IP sử dụng Socket




    1. Winpcap

Sử dụng Winpcap để xây dựng sniffer có nghĩa là thực hiện chặn bắt ở mức network adapter.

      1. Khái niệm

Winpcap là một thưu viện mã nguồn mở dành cho việc chặn bắt và phân tích gói tin trên nền hệ thống Win32.

Rất nhiều các ứng dụng mạng hiện nay dựa trên Socket truy cập mạng dựa vào hệ điều hành do hệ điều hành đã thực hiện hầu như các công việc ở mức thấp. Tuy nhiên, đôi khi ta cần truy cập vào dữ liệu nguyên thủy trên mạng mà không quan tâm tới giao thức mà nó sử dụng. Khi đó Winpcap sẽ là sự lựa chọn khi cho phép ta truy cập trực tiếp các gói tin tới mức của network adapter (trong phạm vi đề tài ta chỉ xét Ethernet). Winpcap có các mục tiêu chính sau đây:



  • Chặn bắt các gói tin (raw packet), kể cả gói tin gửi/nhận của máy đang chạy ứng dụng chặn bắt lẫn gói tin chia sẻ thông qua nó.

  • Lọc gói tin theo những quy luật định trước (giao thức, địa chỉ...).

  • Gửi raw packet qua mạng.

  • Thống kê và báo cáo các thông tin liên quan.

Winpcap giống như những bộ thư viện chặn bắt gói tin khác như libpcap,... gồm có 2 thành phần:

Hoạt động của Winpcap được miêu tả trong hình sau:


Cơ chế hoạt động của Winpcap



tải về 2.04 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©tieuluan.info 2022
được sử dụng cho việc quản lý

    Quê hương