You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wireshark可见UDP包无法被Windows套接字(含原始套接字)捕获问题排查

UDP数据包无法传递至套接字问题

我有一块带FPGA的板卡,通过10G网卡连接至Windows 10主机:板卡静态IP为10.254.210.10,主机IP为10.254.210.11。目前在Wireshark中能看到UDP数据包,但这些包无法传递到套接字。(对应截图:UDP数据包无法通过套接字捕获)

已尝试的操作及结果:

  • a) 将UDP服务器套接字绑定到INADDR_ANY和端口2222。主机的Wi-Fi网卡(IP段192.168.x.x)接口的数据包可被套接字正常捕获,因此排除防火墙问题。(对应截图:UDP数据包可通过套接字捕获)
  • b) 创建原始套接字并启用混杂模式,仍无法捕获Wireshark中可见的数据包,相关代码如下:
// 启用混杂模式
DWORD dwValue = RCVALL_ON;
DWORD dwBytesReturned = 0;
if (WSAIoctl(s, SIO_RCVALL, &dwValue, sizeof(dwValue), NULL, 0, &dwBytesReturned, NULL, NULL) == SOCKET_ERROR)
{
    
    sprintf(err_msg, "设置混杂模式失败: WSAIoctl 返回错误码 %d\n", WSAGetLastError());
    printf("Ioctl 执行失败,错误码: %d", WSAGetLastError());
    fwrite(err_msg, sizeof(err_msg), 1, fp);
    closesocket(s);
    WSACleanup();
    exit(EXIT_FAILURE);
}
puts("Ioctl 执行完成\n");
  • c) 通过netstat查看“UDP Statistics for IPv4”,未发现任何错误。
  • d) 板卡发送的数据包中IP校验和与UDP校验和均设为0000(即已禁用校验和)。

内容的提问来源于stack exchange,提问作者skallurr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 12:40:12