利用pypcap、dpkt和pylibnet轻松实现网络捉包、网络包分析和网络包修改

        最近利用python做一个网络捉包、包分析、包重写修改的程序。因为要修改捉到的TCP包、涉及修改链路层的包(以太网),用到了pylibnet库。

 

一、pypcap捉包并用dpkt组成对象。

        pc = pcap.pcap('eth0', 65535, True, False)

        pc.setfilter('tcp port 80'')

        for ts, pkt in self.pc:
                Eth = dpkt.ethernet.Ethernet(pkt)        //在python环境下,利用dir和help可查看到dpkt的很多有用、详细的用法。

 

二、pylibnet修改低层网络包。

        pylibnet提供了很多有用的接口来修改低层包,例如TCP、ethernet都可很容易修改。

        注意:pylibnet2.0存在一个bug,在修改TCP的序列号时,不是默认的无符号整数,会导致溢出错误,pylibnet3.0没这问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值