关于Linux的RAW套接字问题

时间:2018-05-04 05:51:31

标签: linux raw-sockets

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

process1是套接字(PF_PACKET,SOCK_RAW,htons(ETH_P_ALL))

process2是套接字(AF_INET,SOCK_DGRAM,0)

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

1 个答案:

答案 0 :(得分:0)

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

man packet

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