我是个新手,正在尝试使用我的无线接口发送icmp数据包。我一直收到以下错误。我在python3上使用的是最新的版本。当我尝试使用python3外壳发送数据包时,我一直收到分段错误11错误。sr和send都失败了。
bash-3.2$ ifconfig en1
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 24:a0:74:ef:c2:0a
inet6 fe80::1421:2877:9b9f:8b7e%en1 prefixlen 64 secured scopeid 0x5
inet 192.168.0.56 netmask 0xffffff00 broadcast 192.168.0.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
bash-3.2$ ping -S 192.168.0.56 www.google.com
PING www.google.com (172.217.166.68) from 192.168.0.56: 56 data bytes
64 bytes from 172.217.166.68: icmp_seq=0 ttl=55 time=26.458 ms
64 bytes from 172.217.166.68: icmp_seq=1 ttl=55 time=21.927 ms
bASH-3.2$ scapy
WARNING: Cannot read wireshark manuf database
WARNING: Crypto-related methods disabled for IPsec, Dot11 and TLS
layers (needs python-cryptography v1.7+).
WARNING: No route found for IPv6 destination :: (no default route?)
INFO: Can't import python-cryptography v1.7+. Disabled WEP
decryption/encryption.
INFO: Can't import python-cryptography v1.7+. Disabled IPsec
encryption/authentication.
WARNING: IPython not available. Using standard Python shell instead.
AutoCompletion, History are disabled.
aSPY//YASa
apyyyyCY//////////YCa |
sY//////YSpcs scpCY//Pp | Welcome to Scapy
ayp ayyyyyyySCP//Pp syY//C | Version 2.4.0rc4
AYAsAYYYYYYYY///Ps cY//S |
pCCCCY//p cSSps y//Y | https://github.com/secdev/scapy
SPPPP///a pP///AC//Y |
A//A cyP////C | Have fun!
p///Ac sC///a |
P////YCpc A//A | To craft a packet, you have to be a
scccccp///pSP///p p//Y | packet, and learn how to swim in
sY/////////y caa S//P | the wires and in the waves.
cayCyayP//Ya pY/Ya | -- Jean-Claude Van Damme
sY/PsY////YCc aC//Yp |
sc sccaCY//PCypaapyCP//YSs
spCPY//////YPSps
ccaacs
>>> sr(IP(dst='www.google.com')/ICMP())
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/Library/Python/2.7/site-packages/scapy-2.4.0rc4-
py2.7.egg/scapy/sendrecv.py", line 364, in sr
s = conf.L3socket(promisc=promisc, filter=filter, iface=iface,
nofilter=nofilter)
File "/Library/Python/2.7/site-packages/scapy-2.4.0rc4-
py2.7.egg/scapy/arch/bpf/supersocket.py", line 57, in __init__
(self.ins, self.dev_bpf) = get_dev_bpf()
File "/Library/Python/2.7/site-packages/scapy-2.4.0rc4-
py2.7.egg/scapy/arch/bpf/core.py", line 98, in get_dev_bpf
raise Scapy_Exception("No /dev/bpf handle is available !")
Scapy_Exception: No /dev/bpf handle is available发布于 2018-12-27 16:38:25
在sudo scapy上试一下,它对我很有效。
我在这里找到了解决方案:https://github.com/secdev/scapy/issues/1343
在9月8日发表评论说,需要以根用户身份运行Scapy才能发送数据包。guedou
发布于 2020-09-07 16:15:32
我遇到了同样的问题,但也只是为了嗅探数据包(即不发送,我知道这需要root)。因此,只要启动scapy并运行>>> sniff()就会返回Scapy_Exception: No /dev/bpf handle is available。
事实证明,默认情况下,/dev/bpf*设备归wheel所有,我的普通用户不是它的一部分。这就是sudo scapy工作的原因。问题是在sudo下运行并不总是很方便。
我不知道/dev/bpf*设备是否属于任何其他组,但快速解决方法表明它们可以...
只需安装Wireshark!一旦安装了wireshark,/dev/bpf*设备就归access_bpf所有,这个组中添加了非根用户。
发布于 2020-04-26 23:39:51
我在Mac上以具有管理员权限的用户身份运行时遇到了同样的问题。
解决方案是以超级用户sudo身份运行
我在python 2.7.17和3.7.6上都尝试过。确保您有更新的替身包,请参阅https://scapy.readthedocs.io/en/latest/installation.html上的安装说明
在下面的github问题文档https://github.com/secdev/scapy/issues/1851中列出了github的超级管理员权限
https://stackoverflow.com/questions/48907950
复制相似问题