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

时间:2012-02-08 12:01:05

标签: linux tcpdump

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

3 个答案:

答案 0 :(得分:3)

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

示例用法(包含适合我的系统的参数): 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

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

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