如何在本地获取https包的纯文本?

问题描述 投票:2回答:3

如何获取我程序发送的https包的纯文本?我的系统上有一个tcpdump。谢谢。

linux tcpdump
3个回答
3
投票

使用tshark,一种类似wireshark的命令行工具。

示例用法(具有适合我的系统的参数):

tshark -i eth1 port 443 -o "ssl.keys_list:any,443,http,/path/to/your/server.key" -o ssl.debug_file:"/home/your_user/ssl_debug.log"

当然,用您的界面替换“ eth1”。ssl_debug.log是“以防万一”。

您可以解析更多数据(标题,.. like this

tshark documentation


2
投票

由于对HTTPS上的任何流量进行了加密,因此无法使用tcpdump嗅探纯文本。

您可以对HTTPS流进行man-in-the-middle攻击(例如,使用Fiddler)。但是,这会使您的客户端出现证书错误。


0
投票

Wireshark具有解密SSL / TLS流量的功能;有关此信息,请参见the SSL page in the Wireshark Wiki。当然,您需要从计算机中获取一些信息才能执行此操作(如果可以解密任意 SSL / TLS通信,则SSL / TLS不会很有用...)。您可以使用tcpdump捕获流量(请确保使用-w捕获,以使跟踪以pcap格式保存,并使用-s 0捕获,以捕获all数据包中的数据)或Wireshark。

© www.soinside.com 2019 - 2024. All rights reserved.