我有 3 个主机:
客户A
客户端B
服务器。
我有以下测试场景:
客户端A将原始数据包发送到服务器(将源mac地址更改为客户端B的)
Server reply this packet(我用tcpdump来确定Server已经回复了这个包)
Client B在netfilter pre-routing上安装了一个注册hook函数的模块,但是没有收到任何信息。
有谁知道为什么客户端 B 的钩子(Hook)函数什么都接收不到?
谢谢!
最佳答案
可能是因为您的交换机在客户端 A 的端口上看到了客户端 B 的 MAC 地址,并且记住了该地址。因此它将在以太网端口上将回复发送到客户端 A,而不是客户端 B 的 erhernet 端口。
这似乎是网络问题,而不是编程问题。因此,这个问题在不同的论坛上可能更合适。
关于linux - 客户端A发送数据包时将源MAC地址更改为客户端B,但客户端B的模块在服务器发送后无法接收数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17480751/