我正在尝试使用 Wireshark,但是当我将过滤器设置为http Wireshark 时不显示任何数据。
不幸的是,我只能看到tcp/dhcp/arp协议,但看不到http:
我的 Wireshark 偏好:
我用的是Linux mint 17
ifconfig
:
wlp2s0 Link encap:Ethernet HWaddr 44:03:2c:de:e9:3c
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::affa:82b5:848f:52f3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:390931 errors:0 dropped:0 overruns:0 frame:0
TX packets:268403 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:458918735 (458.9 MB) TX bytes:39776473 (39.7 MB)
在 Wireshark 中,我wpl2s0
也选择了。
正如评论中提到的,端口号 443 建议使用 HTTPS,因此 SSL/TLS 有效。但是,如果给定必要的密钥,Wireshark 可以解密 SSL/TLS。
所需的密钥取决于使用的加密算法。如果所选算法使用 RSA 而不是DH(即 OpenSSL 风格的算法名称字符串包含RSA而不包含DHE),那么如果您可以向其提供服务器证书的私钥,Wireshark 就可以解密流量。
如果使用 DH 算法,每个会话都有一个单独的会话密钥。在这种情况下,您需要配置一个连接端点来记录使用的 TLS 会话密钥,然后将记录的密钥传递给 Wireshark。对于 Firefox 或 Chrome 浏览器,只需
SSLKEYLOGFILE=<full pathname to the log file>
在启动浏览器之前添加环境变量即可记录会话密钥。此处描述的过程有点复杂,但在 Wireshark 文档中有完整的 SSL/TLS 捕获和解密演练。
此外,Information Security.SE 在这里有一个关于这个主题的好问题 + 答案。这是该程序的另一个详细演练。