使用scapy嗅探http数据包

时间:2018-07-12 11:51:00

标签: python http scapy

我在Windows上使用python 2.7.15,scapy和scapy-http。 我想嗅探所有http数据包并提取发送的html页面。 这是我使用的代码:

from scapy.all import *
import scapy_http.http

def printPacket(packet):
    if packet.haslayer('HTTP'):
        print '='*50
        print packet.show()

sniff(prn=printPacket)

但是由于某种原因,它只捕获了一些http数据包(当我使用浏览器时,我看不到任何数据包),并且在它打印的那些代码中也看不到任何html代码。

1 个答案:

答案 0 :(得分:0)

我认为这是因为发送的某些流量是HTTPS(= HTTP + TLS)。在您的函数中,您希望使用HTTP应用程序层,该应用程序层在TLS层中进行了封装和加密,因此不匹配。

要嗅探HTTPS,可以使用以下命令:https://github.com/tintinweb/scapy-ssl_tls(我还没有尝试过)。