如何在scapy中获得http支持



我正在使用scapy在python中构建一个数据包嗅探器,现在,我想过滤我正在接收的http数据包,并从中提取url(Host+Path(,但我的程序崩溃,消息为:File"packet_sniffer.py",第4行来自scape.layers.http-import*ImportError:没有名为http 的模块

当键入scapy layers http import时,我可以自动完成http部分,这样它看起来确实能识别它,但在运行时会崩溃。

我在代码部分尝试了其他语法,例如使用"scapy.http.HTTPRequest"scapy.layers.http.HTTPRequest">

#!/usr/bin/env python
import scapy.all as scapy
from scapy.layers.http import *


def sniff(interface):
scapy.sniff(iface=interface,
store=False,
prn=process_sniffed_packet,
lfilter=lambda p: "POST" in str(p),
filter="tcp port 80")

def process_sniffed_packet(packet):
url = packet[scapy.layers.http.HTTPRequest].Host + packet[scapy.layers.http.HTTPRequest].Path
print(url)

我的模块导入或代码有问题吗?

**注意,我使用的是scapy 2.4.3

确保您使用的是Scapy 2.4.3

from scapy_http import *替换from scapy.layers.http import *来使用库scapy_http怎么样像这个

最新更新