一款使用 Python 3 开发的网络数据包嗅探器。数据包到达指定网络接口控制器时,会被拆解并显示其信息在屏幕上。
本应用程序仅依赖于 NETProtocols 库(同样由 EONRaider 开发和维护)的 2.0.0 及以上版本,并且可以在任何 Python 3.8+ 解释器上运行。

只需用 git clone 克隆此仓库,安装依赖,然后执行 sniffer.py 文件。
user@host:~$ git clone https://github.com/EONRaider/Packet-Sniffer.git
user@host:~$ cd Packet-Sniffer
user@host:~/packet-sniffer$ pip install -r requirements.txt <--或--> poetry install
user@host:~/packet-sniffer$ sudo python3 packet_sniffer/sniffer.py
由于使用了 socket.SOCK_RAW,在 GNU/Linux 上需要管理员权限才能运行,因此需要 sudo 命令。请注意,依赖项的存在可能需要执行虚拟环境中包含的解释器(如果你使用了虚拟环境),而不是直接使用系统解释器。
使用 build.py 文件通过 PyInstaller 包编译你自己的二进制文件。你只需要安装所有依赖并构建即可。依赖管理支持 Poetry(推荐)和 Virtualenv。
<-- 如上步骤 I 所示安装依赖 -->
user@host:~/packet-sniffer$ python3 build.py
sniffer.py [-h] [-i INTERFACE] [-d]
网络数据包嗅探器
可选参数:
-h, --help 显示此帮助信息并退出
-i INTERFACE, --interface INTERFACE
用于捕获数据包的接口(默认监控所有可用接口)。
-d, --data 捕获期间输出数据包数据。
未经事先双方同意,将本仓库中包含的代码(部分或全部)用于攻击目标是非法的。最终用户有责任遵守所有适用的本地、州和联邦法律。
开发者不承担任何责任,并且对于因任何意外或故意情况下,威胁行为者或未授权实体利用本仓库中的任何代码作为手段,损害系统及其相关资源的安全性、隐私性、机密性、完整性和/或可用性,所导致的误用或损害概不负责。在此上下文中,“损害”一词应理解为利用所述系统中已知或未知的漏洞,包括但不限于安全控制的实施、人为或电子化的漏洞利用。
开发者仅在以下情况下认可本代码的使用:直接与教育环境或授权的渗透测试活动相关,且声明目的是发现和缓解系统中的漏洞,限制其遭受恶意代理(如其各自威胁模型中所定义)所采用的漏洞利用和攻击的暴露。