我的代码在这里。
#!/usr/bin/env python3
import os
print(os.sys.path)
from scapy.all import*
def sniff(interface):
scapy.sniff(iface=interface, store=False, prn=process_sniffed_packet)
def process_sniffed_packet(packet):
print(packet)
sniff("eth0")
得到的错误代码是这样的
python3 row. py
['/home/kali/Desktop', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.7/dist-packages']
Traceback (most recent call last):
File "row.py", line 11, in <module>
sniff("eth0")
File "row.py", line 6, in sniff
scapy.sniff(iface=interface, store=False, prn=process_sniffed_packet)
AttributeError: module 'scapy' has no attribute 'sniff'
谁能帮帮我?
你刚刚从scapy中导入了所有可用的函数,包括 from scapy.all import *
这意味着你必须使用 sniff
而不是 scapy.sniff
如果您想使用 scapy.sniff
你必须将你的导入改为 import scapy.all as scapy
注:有一个 sniff
作用于 scapy.all
但你在定义一个新的 sniff
函数(第5行)。重新命名,这样你就不会有名字冲突了。
#!/usr/bin/env python3
import os
print(os.sys.path)
from scapy.all import *
def mysniff(interface):
sniff(iface=interface, store=False, prn=process_sniffed_packet)
def process_sniffed_packet(packet):
print(packet)
mysniff("eth0")