网络协议编辑器――简单的发包工具实现(python+scapy+pycharm)

匿名 (未验证) 提交于 2019-12-02 22:51:30

一、实现的功能

二、主要函数说明――IP包的编辑与发送为例

1.创建IP包编辑器界面,为每个按钮绑定单击响应时间。
def create_ip_sender():










2. 在协议字段编辑框中填入默认IP包的字段值,为IP数据包的发送做好准备
def create_default_ip_packet(entries):





3.获取协议编辑器文本框的值,创建对应的数据包并开启一个线程用于连续发送数据包。
def send_ip_packet(entries, send_packet_button):

1. 从协议编辑框中获取要发送的数据包的各个字段的值















4.发送数据包的线程函数,并计算数据包发送速度
def send_packet(packet_to_send):
















7.计算发包的速度

三、基础知识准备

1.构造数据包,发送数据包――“/"运算符数据包的拼装,send()用于3层发包,可直接发送IP数据包,自动加以太帧;只发送以太帧使用sendp()。

2.计算校验和――IP包的校验和默认值为None,在IP包被发送时,其校验和被被自动计算并填充在IP包中
以下方式可以在发包前计算IP包的校验和,直接用packet.show2()命令也可以显示校验和。raw(packet)将数据包的内容转换为字节。

3.查看数据包的字段值(使用ls()),查看某层协议数据包对象支持的函数(使用help())

四、主要功能实现代码

五、运行结果




标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!