是否有用于构建网络协议头的封装软件?
看到我的代码,我可以使用struct.pack()来构造ICMP数据包。
import socket
import struct
rawsocket = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.getprotobyname('icmp'))
packet = struct.pack('!BBHHH13s', 8, 0, 0, 1, 0, b'qasdssdehello')
chksum = checksum(packet)但是,我认为它是复杂和难以使用的,是否有任何开放源代码的封装struct?这样我就可以很容易地构造一个协议包。
发布于 2020-10-01 14:41:01
斯卡皮是允许以高级方式构造网络数据包的库:
可以使用以下命令模拟ICMP Ping : ans,unans =sr(IP(dst=“192.168.1.1-254”)/ICMP(),可以通过以下请求收集有关活动主机的信息: ans.summary(lambda,r: r.sprintf("%IP.src%是活着的“))
https://softwarerecs.stackexchange.com/questions/76264
复制相似问题