作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我尝试了这段在python中使用scapy发送数据包的代码
data= "University of texas at San Antonio"
a=IP(dst="129.132.2.21")/TCP()/Raw(load=data)
sendp(a)
但是我在第三行“sendp(a)”中遇到错误
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
sendp(a)
File "C:\Python25\lib\site-packages\scapy\sendrecv.py", line 259, in sendp
__gen_send(conf.L2socket(iface=iface, *args, **kargs), x, inter=inter, loop=loop,
count=count, verbose=verbose, realtime=realtime)
File "C:\Python25\lib\site-packages\scapy\arch\pcapdnet.py", line 313, in __init__
self.outs = dnet.eth(iface)
File "dnet.pyx", line 112, in dnet.eth.__init__
OSError: No such file or directory
请让我知道我哪里错了。
最佳答案
您直接对 IP
数据包使用 sendp()
,这是错误的。
使用 sendp(Ether()/IP()/...)
或 send(IP()/...)
。
顺便说一句,你不需要添加 Raw(load=...)
,因为 Scapy 将 str
视为 Raw
.
那么试试这个:
data = "University of texas at San Antonio"
a = IP(dst="129.132.2.21")/TCP()/data
send(a)
关于python - 如何在python中发送数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20570259/
我是一名优秀的程序员,十分优秀!