如何配置 Wireshark 以查看 HTTPS 流量?
Posted
技术标签:
【中文标题】如何配置 Wireshark 以查看 HTTPS 流量?【英文标题】:How can I configure Wireshark to see HTTPS traffic? 【发布时间】:2011-11-02 05:20:32 【问题描述】:我正在测试一个 ios 应用程序,我只想查看 HTTPS 流量何时发送。我对流量的内容不感兴趣。 如何配置Wireshark 来执行此操作?
这只是为了验证分析包是否正常工作。我无法控制我的应用正在与之通信的服务器。
谢谢!
编辑#1:我当前的 Wireshark 配置可以看到到 http://www.duckduckgo.com 的流量,但不能看到 https://www.duckduckgo.com 的流量
【问题讨论】:
服务器故障可能相同:serverfault.com/questions/263530/… 【参考方案1】:另一种方法是将您的 Mac 用作 Wi-Fi 接入点并使用 TCPDump 嗅探流量。步骤如下:
使用以太网电缆将您的 Mac 连接到路由器(Wi-Fi 卡将作为接入点忙于工作)。如果您只想嗅探从应用到您自己计算机的流量,或者跳过此步骤。 在工具栏的 Wi-Fi 图标中,单击Create Network
。给它一个随机名称,选择安全性,然后设置一个密码。
在System Preferences > Sharing
中设置To computers using: Wi-Fi
。在Wi-Fi Options...
中选择您之前创建的网络。在Share your connection from:
中,选择您从中获取 Internet 的接口,通常是以太网。
启用Internet Sharing
,并从您的 iPhone 连接到这个新的 Wi-Fi 网络。
将 iPhone 上的 3G 与 Settings > General > Network
断开连接,然后使用 Safari 检查您的互联网。有时需要几秒钟。
在您的 Mac 中键入 sudo tcpdump -s 0 -A -i en1 port 443 > log.txt
。如果您的网络接口不是 en1,请使用 ifconfig
。生成的日志也可以通过 WireShark(tcpdump 的 GUI 版本)导入。
现在您的 iPhone 的所有互联网流量都将被记录。
所有版本的 OS X 都包含 TCPDump。有关其他选项,请参阅Technical Q&A QA1176 Getting a Packet Trace。
【讨论】:
酷!我可以在我的日志文件中看到 HTTPS 流量。如何确定来自 iOS 设备的流量? 您会看到像14:18:52.276484 IP 89.17.221.55.http > 10.0.2.2.49502
这样的行,其中之一是您设备的 IP,您可以前往“设置”>“Wi-Fi”并按您所连接的网络上的箭头进行查找。如果您费心安装 tcpflow,它会更容易阅读。你必须先安装 macports 然后再做sudo port install tcpflow
,用法是:sudo tcpflow -i en1 port 443
。【参考方案2】:
如果您想解密 SSL 流量以监听它,请查看Wireshark Wiki。解释有点长,但可以让您解密 SSL 流量。
您可能还想在端口 443 而不是 80.. 上监听 :-)
【讨论】:
【参考方案3】:在您开始捕获适当的网络接口后,将以下设置为过滤器:
tcp.port == 443 || tcp.port == 80
这将确保仅显示您可以进一步检查的 http 和 https 连接的数据。
【讨论】:
【参考方案4】:是的。 Wireshark 可以监视任何和所有可用的以太网流量。要解决的问题是运行 Wireshark 的机器是否会看到您有兴趣检测存在的所有以太网流量。
【讨论】:
好的。如何配置我的机器和/或 Wireshark 以查看 HTTPS 流量? HTTPS 通常通过端口 443,而不是端口 80 上的 HTTP 流量。如果您将 wireshark 配置设置为监控所有流量,而不仅仅是特定端口的流量,会发生什么情况? 仍然没有回答 OP 的问题:“我该如何配置”。以上是关于如何配置 Wireshark 以查看 HTTPS 流量?的主要内容,如果未能解决你的问题,请参考以下文章
wireshark如何查看有多少个icmp包?我用虚拟机向物理机随机的发送了ping请求,我要怎么用wireshark查看?