【问题标题】:RAW socket issue about Linux关于 Linux 的 RAW 套接字问题
【发布时间】:2018-05-04 05:51:30
【问题描述】:

在 Linux 中,我有 2 个进程使用 1 个 eth 接口,

process1 是socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL))

process2是socket(AF_INET, SOCK_DGRAM, 0)

process1可以接收process2发送/接收的所有包,想知道process1如何过滤process2包

【问题讨论】:

    标签: linux raw-sockets


    【解决方案1】:

    当套接字协议设置为 ETH_P_ALL 时,它可以处理所有协议。

    man packet

    第二个进程通过第一个套接字用于侦听的同一接口发送 udp 数据包。第一个socket的协议设置为ETH_P_ALL,它可以看到所有的包;传入和传出。所有传出的数据包都将具有 PACKET_OUTGOING 的数据包类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-12
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-12
      相关资源
      最近更新 更多