![Wireshark 和 IPSec](https://linux22.com/image/504003/Wireshark%20%E5%92%8C%20IPSec.png)
我正在尝试排除 Windows 网络上两台服务器之间的通信故障,其中 IPSEC 正在加密所有内容。我在源服务器上安装了 wireshark 并在通信失败时捕获了流量,但除了一些 ARP 和 DNS 数据包外,捕获的其他所有内容都是 ESP(封装安全有效负载)加密数据包。
如果我正在执行中间人捕获,我会理解这一点,但我在源机器上。有没有办法指定Wireshark捕获堆栈更上层(解密完成后)?如果重要的话,源机器是作为Hyper-V VM运行的W2K8R2。
答案1
如果您想直接检查和分析 ESP 流量,您的 Wireshark 版本需要与 libcrypt 链接。更多详情请点击此处。
答案2
回答我自己的问题(或者至少提到我的解决方案),Netmon 能够毫无问题地捕获和解析相同的流量。我保存了 Netmon 捕获并在 Wireshark 中打开它,所有内容仍然显示为 ESP 数据包。显然 Wireshark 不喜欢解密数据包。也许 Netmon 使用本地密钥来执行此操作?无论如何,答案是使用 Netmon。它对于分析流量来说并不那么好,但如果您从端点捕获 ESP 数据包,它确实会打开它们。
答案3
您可能只需要告诉 Wireshark 在 IPSec VPN 服务提供的虚拟接口上进行捕获,而不是在实际接口上进行捕获。转到捕获->接口或捕获->选项,然后从下拉列表中选择接口。
答案4
在 Wireshark 中,转到编辑/首选项并展开协议列表。在列表中找到 ESP 并输入您的密钥信息。