2

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

4

3 回答 3

3

由于 HTTPS 上的任何流量都是加密的,因此无法使用 tcpdump 嗅探明文。

您可以对 HTTPS 流进行中间人攻击(例如,使用Fiddler)。但是,这会在您的客户端上产生证书错误。

于 2012-02-08T12:03:11.147 回答
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 是“以防万一”。

您可以像这样解析更多数据(标题,..)

tshark 文档

于 2016-01-13T01:10:48.047 回答
0

Wireshark有一些解密 SSL/TLS 流量的能力;有关这方面的信息,请参阅Wireshark Wiki 中的 SSL 页面。当然,您需要机器上的一些信息才能做到这一点(如果您可以解密任意SSL/TLS 流量,SSL/TLS 就不会很有用......)。您可以使用 tcpdump 捕获流量(确保使用 捕获-w,以便以 pcap 格式保存跟踪,并-s 0捕获数据包中的所有数据)或使用 Wireshark。

于 2012-04-07T04:29:54.677 回答