一、實現 Sniffer 的基本功能。 Sniffer 是一種用于監測網絡性能、使用情況的工具。
能夠指定需要偵聽的網卡(考慮一臺機器上多張網卡的情況)
能夠偵聽所有進出本主機的數據包,解析顯示數據包( ICMP 、 IP 、 TCP 、 UDP 等)各個字段。比如,對 IP 頭而言,需要顯示 版本、頭長度、服務類型、數據包長度、標識、 DF/MF 標志、段內偏移、生存期、協議類型、源目的 IP 地址、選項內容、數據內容。要求顯示數據的實際含義(例如用 ASCII 表示);
能夠偵聽來源于指定 IP 地址的數據包,能夠偵聽指定目的 IP 地址的數據包,顯示接收到的 TCP 和 UDP 數據包的全部實際內容。需要考慮一個 TCP 或 UDP 包劃分為多個 IP 包傳輸的情況;
能夠根據指定的協議類型來過慮包,例如,只偵聽 ICMP 包,或只偵聽 ICMP 和 UDP 包。
功能驗證手段:在運行 Sniffer 的同時,執行標準的 Ping 、 Telnet 和瀏覽網頁等操作,檢查 Sniffier 能否返回預期的結果。
Windows 平臺上可以用 winpcap 類庫;在 linux 平臺上可以使用 libpcap 類庫。也可以調用 Sockets 等有關的網絡類庫。
標簽:
Sniffer
61548
網卡
監測網絡
上傳時間:
2017-09-09
上傳用戶:siguazgb