在使用scapy进行数据包嗅探时,我得到了错误的信息。

问题描述 投票:0回答:1

我的代码在这里。

#!/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'

谁能帮帮我?

python python-3.x scapy
1个回答
0
投票

你刚刚从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") 
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.