网络包生成和包捕获模块
netpacket的Python项目详细描述
netpacket,一个用cpython编写的python模块
netpacket是一个包创建模块,支持以太网、arp、ipv4, IPv6、ICMPv4、TCP、UDP和DHCPv4。它还包含一个数据包捕获器 称为ppcap(python-pcap)。该项目包含原始的cpython 绑定和用python编写的包装库,可以在 目录“netpacket”。
该模块试图尽可能地方便用户,留下如下任务 对于模块本身的big-endian和little-endian字段,程序员 只需填上田地,而不必担心它。
有关IPv4和IPv6的说明
ipv4和ipv6是同一类,但程序员将被判入狱 基于传递给IP类的参数或 以上协议类。IPv4:0x0800,IPv6:0x86DD。IPv4已经 默认值,不需要传递任何参数。
示例:
obj=_netpacket.udp()print(obj)obj=_netpacket.udp(0x86dd)print(obj)
<;\u netpacket.udpv4对象位于0x7fbff03e3510>;<;\u netpacket.udpv6对象 位于0x7FBFF03E3570>;
安装
# Install libpcap dependency (using gentoo@portage-tree) emerge --ask net-libs/libpcap --quiet-build # Install libpcap dependency (using archlinux) pacman --sync core/libpcap # Build python setup.py build # Build and install python setup.py install
示例
所有示例都可以在“examples”目录中找到。docstrings是 也可用于非常协议类和ppcap类。
支持的平台
netpacket目前只支持linux,但将支持unix variants和mac os x一次成为bpf(berkeley包过滤器)设备 实现是在中编码的。
支持的Python版本
netpacket只支持python3,永远不支持 Python2号。
将在以后阶段出现的内容
- IPv4选项。
- IPv6选项。
- TCP选项。
- 应用层类:
- 域名系统。
- http。