關于ICMPWatch
ICMPWatch是一款功能強大的ICMP數據包嗅探工具,該工具基于Python 3開發,可以幫助廣大研究人員捕捉和分析ICMP(Internet控制報文協議)數據包。該工具能提供有關捕捉數據包的詳細信息,包括數據包源IP地址、目標IP地址、MAC地址、ICMP類型以及Payload數據等。除此之外,該工具還支持將捕捉到的數據包存儲到SQLite數據庫中,并以pcap格式保存。
功能介紹
1、捕捉并分析ICMP響應請求和響應回復數據包;
2、顯示有關每個ICMP數據包的詳細信息,包括源IP地址和目標IP地址、MAC地址、數據包大小、ICMP類型和Payload內容;
3、將捕獲的數據包信息保存到文本文件中;
4、將捕獲的數據包信息存儲在SQLite數據庫中;
5、將捕獲的數據包保存到PCAP文件中以進行進一步分析;
6、支持基于源IP地址和目標IP地址的自定義數據包過濾;
7、使用了ANSI轉移編碼的帶顏色高亮的控制臺輸出;
8、用戶友好的命令行界面;
工具要求
Python v3.7+
Scapy v2.4.5+
Colorama v0.4.4+
工具安裝
由于該工具基于Python 3.7開發,因此我們首先需要在本地設備上安裝并配置好Python 3.7環境。
接下來,廣大研究人員可以使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/HalilDeniz/ICMPWatch.git
然后切換到項目目錄中,使用pip工具和項目提供的requirements.txt文件安裝該工具所需的其他依賴組件:
cd ICMPWatch pip install -r requirements.txt
工具使用
python ICMPWatch.py [-h] [-v] [-t TIMEOUT] [-f FILTER] [-o OUTPUT] [--type {0,8}] [--src-ip SRC_IP] [--dst-ip DST_IP] -i INTERFACE [-db] [-c CAPTURE]
可選參數
-v --verbose:開啟Verbose模式,顯示數據包詳細信息; -t --timeout:數據包嗅探超時時間(秒),默認為300秒; -f --filter:數據包嗅探BPF過濾器,默認為“icmp”; -o --output:要存儲捕捉到數據包的輸出文件路徑; --type:設置要過濾的ICMP數據包類型(0: Echo Reply, 8: Echo Request) --src-ip:設置要過濾的源IP地址; --dst-ip::設置要過濾的目的IP地址; -i --interface:設置要用來捕捉數據包的網絡接口(必須); -db --database:將捕捉到的數據包存儲到一個SQLite數據庫中; -c --capture:將捕捉到的數據包存儲為pcap格式;
注意:按下Ctrl + C 組合鍵即可終止嗅探進程。
工具使用樣例
在“eth0”接口上捕捉ICMP數據包:
python icmpwatch.py -i eth0
在“eth0”接口上嗅探ICMP流量,并將結果存儲到一個文件中:
python dnssnif.py -i eth0 -o icmp_results.txt
使用源IP或目的IP過濾數據包:
python icmpwatch.py -i eth0 --src-ip 192.168.1.10 --dst-ip 192.168.1.20
過濾ICMP Echo Request:
python icmpwatch.py -i eth0 --type 8
存儲捕捉到的數據包:
python icmpwatch.py -i eth0 -c captured_packets.pcap
工具運行截圖

許可證協議
本項目的開發與發布遵循MIT開源許可證協議。
項目地址
ICMPWatch:https://github.com/HalilDeniz/ICMPWatch
一顆小胡椒
FreeBuf
一顆小胡椒
一顆小胡椒
瀟湘信安
FreeBuf
商密君
FreeBuf
FreeBuf
FreeBuf
中國信息安全
中國信息安全