Ser*_*van 11 c++ wireshark windows-subsystem-for-linux
我尝试在我的 WSL2 本地主机客户端和服务器之间发送 udp 数据包,我可以成功发送数据,但是当想要在wireshark上进行分析时,wireshark无法在环回流量适配器和vEthernet捕获处捕获任何内容。在发送者代码之后运行程序和wireshark窗口图像。
发送者.cpp
#define PORT 50254
int main(){
Client* client = new Client("127.0.0.1", PORT);
memset(&client->serv_addr, 0, sizeof(client->serv_addr));
client->serv_addr.sin_family = AF_INET;
client->serv_addr.sin_port = htons(port);
client->serv_addr.sin_addr.s_addr = inet_addr(client->ipAddres);
if ((client->Socket = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
perror("socket creation failed");
exit(EXIT_FAILURE);
}
if (connect(client->Socket, (struct sockaddr*)&client->serv_addr, sizeof(client->serv_addr)) < 0)
{
printf("\n Error : Connect Failed \n");
exit(0);
}
char* message = "Hello Server";
cout << "Sent Size : " << send(client->Socket,message, 100, 0) << endl;
}
Run Code Online (Sandbox Code Playgroud)
看来你必须在 WSL2 上安装 Wireshark 才能看到环回流量。您可以使用以下命令在 WSL2 上安装 Wireshark。
sudo apt install wireshark
sudo dpkg-reconfigure wireshark-common
sudo chmod +x /usr/bin/dumpcap
Run Code Online (Sandbox Code Playgroud)
安装后,输入wiresharkWSL2,wireshark gui 应该会弹出。缺点是 WSL2 Wireshark 的缩放功能似乎在高分辨率显示器上运行不佳。但我仍然没有找到解决这个问题的方法;如果你不介意像素化,你可以尝试这个。结果并非不可接受,但仍然非常模糊。
| 归档时间: |
|
| 查看次数: |
2216 次 |
| 最近记录: |