我对套接字真的很新。我使用原始套接字,因为我正在等待UDP数据包,但我不知道它将从哪个端口到达。我在这里找到了代码:http://www.binarytides.com/packet-sniffer-code-c-linux/。我将socket更改为:sock_raw = socket(AF_INET,SOCK_RAW,IPPROTO_UDP)以仅查看UDP。它只适用于我使用浏览器上网冲浪 - 我看到所有的DNS重播。但是,当我尝试从另一台PC接收UDP数据包时,它无法正常工作。在wireshark中,我看到了我的PC创建的数据包和ICMP请求:“端口无法访问”。什么可能是一个问题????非常感谢! 顺便说一句,我使用的是Ubuntu 12.04,Eclipse 3.7.2。