DNSWatch:一款功能强大的DNS流量嗅探和分析工具
本文由
创作,已纳入「FreeBuf原创奖励计划」,未授权禁止转载
关于DNSWatch
DNSWatch是一款功能强大的DNS流量嗅探和分析工具,该工具基于纯Python开发,可以帮助广大研究人员在目标网络中实现DNS(域名系统)流量的嗅探和监控操作。该工具能够监听DNS请求和响应,并给我们提供针对DNS活动的内部视角。
功能介绍
1、嗅探和分析DNS请求与响应;
2、显示DNS请求对应的源和目的IP地址;
3、可选的Verbose模式提供更详细的数据包审查详情;
4、支持将分析结果存储到指定的输出文件;
5、通过指定的目标IP地址过滤DNS流量;
6、将DNS请求存储到一个数据库中以便后续进行详细分析;
7、支持分析DNS类型;
8、支持DNS over HTTPS(DoH);
工具要求
Python 3.7+
Scapy 2.4.5+
Colorama 0.4.4+
工具安装
由于该工具基于Python开发,因此我们首先需要在本地设备上安装并配置好Python 3.7+环境。接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/HalilDeniz/DNSWatch.git
接下来,切换到项目目录中,并使用pip工具和项目提供的requirements.txt文件安装该项目所需的其他依赖组件:
pip install -r requirements.txt
工具使用帮助
python dnswatch.py -i <interface> [-v] [-o <output_file>] [-k <target_ip>] [--analyze-dns-types] [--doh]
参数命令
-i, --interface:指定目标网络接口,例如eth0 -v, --verbose:使用该参数启用Verbose模式 -o, --output:指定要存储结果的文件名称 -t, --target-ip:指定需要监控的目标IP地址 -adt, --analyze-dns-types:分析DNS类型 --doh:使用DNS over HTTPS(DoH)解析DNS请求 -fd, --target-domains:根据指定的域名过滤DNS请求 -d, --database:启用数据库存储DNS请求
注意:随时按下Ctrl+C即可停止嗅探任务。
工具使用样例
在eth0接口上嗅探DNS流量:
python dnswatch.py -i eth0
在eth0接口上嗅探DNS流量,并将结果存储到一个文件中:
python dnswatch.py -i eth0 -o dns_results.txt
在eth0接口上嗅探DNS流量,并根据指定目标IP地址过滤请求和响应:
python dnswatch.py -i eth0 -t 192.168.1.100
在eth0接口上嗅探DNS流量,并启用DNS类型分析:
python dnswatch.py -i eth0 --analyze-dns-types
在eth0接口上嗅探DNS流量,并使用DNS over HTTPS(DoH):
python dnswatch.py -i eth0 --doh
在wlan0接口上嗅探DNS流量,并启用数据库存储:
python3 dnswatch.py -i wlan0 --database
工具运行截图
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
DNSWatch:【GitHub传送门】
参考资料
https://www.instagram.com/deniz.halil333/
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录