我尝试用scapy发送icmp数据包但没有成功,
了解问题的位置和方向。我在python中写了一些发送icmp数据包的代码。
当然代码运行成功没有任何问题。
也是在scapy问题存在,
我的内部IP在10.0.0.8
网络中为10.0.0.0/24
scapy中包含错误的代码例如是:
send(IP(dst="10.0.0.138")/ICMP())
send(IP(dst="8.8.8.8")/ICMP())
错误信息是:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Python26\lib\site-packages\scapy\sendrecv.py", line 251, in send
__gen_send(conf.L3socket(*args, **kargs), x, inter=inter, loop=loop, count=count,verbose=verbose, realtime=realtime)
File "C:\Python26\lib\site-packages\scapy\sendrecv.py", line 234, in __gen_send
s.send(p)
File "C:\Python26\lib\site-packages\scapy\arch\pcapdnet.py", line 237, in send
ifs = dnet.eth(iff)
File "dnet.pyx", line 112, in dnet.eth.__init__
OSError: Result too large
注意:当我尝试运行时:
send(IP(dst="10.0.0.8")/ICMP())
或
send(IP(dst="127.0.0.1")/ICMP())
数据包发送成功!
答案 0 :(得分:1)
你必须用sudo scapy