SO_REUSEPORT和SO_REUSEADDR

时间:2018-04-10 09:50:49

标签: python sockets

我试图嗅探通过某个端口的帧,所以我在绑定它之前使用SO_REUSEPORT和SO_REUSEADDR选项创建了套接字侦听器。但是,在我启动应用程序的地方,我只在应用程序端获取框架,而不是监听器。

有人知道我做错了吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

SO_REUSEPORT / SO_REUSEADDR意味着多个进程可以在同一端口上侦听,但是每个连接(对于TCP)或数据包(对于UDP / ICMP)将仅进入单个进程。因此,您不能以这种方式嗅探流量,因为(a)另一个进程获取了数据包而您的进程没有,或者(b)您的进程获取了数据包,但是另一个却没有,因此不会响应

要嗅探流量,可以使用Wiresharktcpdump或libpcap / WinPCAP之类的内容,如果您需要以编程方式捕获数据包的话。