我试图嗅探通过某个端口的帧,因此在绑定它之前,我使用选项SO_REUSEPORT和SO_REUSEADDR创建了套接字侦听器。但是在我启动应用程序的地方,我只能在应用程序端得到我的框架,而不是侦听器。
有人知道我做错了什么吗?
提前感谢
发布于 2018-07-28 00:50:16
SO_REUSEPORT / SO_REUSEADDR意味着多个进程可以侦听同一端口,但是每个连接(用于TCP)或数据包(用于UDP/ICMP)将只去往单个进程。因此,您不能以这种方式嗅探流量,因为(a)其他进程获得数据包,而您的进程没有,或者(b)您的进程获得数据包,但另一个进程没有,因此不会对其做出响应。
如果您需要以编程方式捕获数据包,则可以使用Wireshark、tcpdump或libpcap/WinPCAP等命令来嗅探流量。
https://stackoverflow.com/questions/49750536
复制相似问题