一、实现的功能
二、主要函数说明――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())
四、主要功能实现代码
五、运行结果