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盲盒、大象公仔......
扫码添加小蜜蜂微信回复“加群”,申请加入群聊】
https://denizhalil.com/