ImportError:无法从“ scapy.layers”导入名称“ http”

时间:2019-05-28 14:30:50

标签: scapy python-3.7

我收到此错误,但我不明白为什么?

ImportError: cannot import name 'http' from 'scapy.layers

这是我的代码:

import scapy.all as scapy
from scapy.layers import http  #error line


def sniff(interface):
    scapy.sniff(iface=interface,store=False,prn=p_s_p)

def p_s_p(packet):
    if packet.haslayer(http.HTTPRequest):
        print(packet)


sniff('wlan0')

4 个答案:

答案 0 :(得分:0)

使用scapy_http库:

from scapy_http import http

答案 1 :(得分:0)

from scapy.layers.http import *

在以下答案中讨论了在python 3 *中导入鱼尾鱼的要点-Cannot get scapy 2.4.3 http layer support to work

奇怪地不在文档中。

答案 2 :(得分:0)

要弄清楚:

    从Scapy v2.4.3 +开始不推荐使用
  • scapy-http

  • Scapy 2.4.3+现在包括scapy-http的修改(改进)版本,默认情况下禁用,以便向后兼容。您可以使用以下方式加载它:

    • from scapy.layers.http import *
    • load_layer("http")(如果在控制台中)

答案 3 :(得分:-1)

从终端安装scapy http库:

0