首页 文章

从UDP端口接收以太网帧

提问于
浏览
0

我需要监听多个UDP端口并将接收的数据报处理为以太网帧 . 除了创建SOCK_RAW套接字以接收以太网帧之外,我想不出任何其他解决方案,检查我收到的是UDP数据报,然后提取数据报以识别UDP端口 .

有没有更好的办法?是否有某种套接字可以让我在特定端口上接收UDP数据报并仍然访问整个以太网帧?

2 回答

  • 0

    我建议你使用pcap库 . 它's not hard and it' s便携式广域系统之间 . 您可以简单地过滤和捕获您想要的内容 .

    libpcap和WinPcap提供许多开源和商业网络工具的数据包捕获和过滤引擎,包括协议分析器(数据包嗅探器),网络监视器,网络入侵检测系统,流量生成器和网络测试器 .

    另一个建议是libcrafter,它是一个高级数据包创建者和解码器 . 虽然它只是C .

  • 1

    不确定您的平台是否支持此功能,但请尝试:

    int s=socket(AF_INET,SOCK_PACKET,htons(ETH_P_ALL));
    

    http://www.tldp.org/HOWTO/Ethernet-HOWTO-2.html

相关问题