Wireshark 如何从 Windows10 中获取来自 WSL2 的网络流量

Wireshark 如何从 Windows10 中获取来自 WSL2 的网络流量

我的任务是创建 2x 个用 C/C++ 编写的程序,它们可以在 WSL2 和 Windows 10 内部相互通信。我能够将流量从 WSL2 发送到 Windows 10,但是我无法使用用 C 编写的简单嗅探器程序(在我自己的电脑上)从 WSL2 的 Windows 10 端拾取网络流量,但是我能够在打开的 2x WireShark 上看到(一个在 Windows 10 中,一个在 WSL2 中)我试图发送到 Windows 中 WSL2 的 IP 地址的 UDP 消息。

  • 我尝试将端口放入防火墙的入站规则中(没有结果)。
  • 我尝试在 WSL2 中将我的网络接口设置为混杂模式(没有结果)。
  • 我尝试树立榜样这里(在 WSL2 中没有结果,但是它在 WSL1 下可以工作,但我对 WSL1 不感兴趣)。
  • 我已经尝试设置这个项目(没有结果)。
  • 我尝试使用以下方式建立通信USB(没有结果,我收到一条与第三方防火墙阻止指定通信端口有关的消息,但没有解决该问题)。
  • 我试过了WSL 网络指南WSL Networking guide(没有结果)。
  • 我无法创建桥梁,因为它在我的公司环境中被禁止,我无法转发端口。

我想了解 WireShark 如何嗅探流量并可能在我这边通过简单的通信实现它 WSL2 发送消息 ---> Windows 接收消息。

答案1

Wireshark 使用自定义驱动程序 Npcap 来捕获流量。(以前称为 WinPcap。)请参阅使用 Npcap 开发软件

Npcap 只需要用于网络嗅探(数据包捕获);您不需要它来进行主机和 VM 之间的正常通信 - 常规 UDP 套接字就足够了。

相关内容