我需要做下一个。
我正在为我的最后学位项目做一些嗅探器在C运行在openwrt固件。我已经做了每一件事,但我还有一件事我不知道如何开始。
我有下一个私人网络:http://img443.imageshack.us/img443/999/sinttulo2de.png
我的嗅探器所做的是嗅探通过我的路由器运行的所有数据包,当其中一个数据包进入我连接的任何一台电脑时,如果那台电脑睡着了,它就会唤醒它。好像是局域网上的自动唤醒。
所以,我有个问题。假设PC3向PC4发送一个包,来自交换机的arp表知道PC4在哪里,并将该包引导到PC4网关。如果发生这种情况,我的嗅探器将永远看不到该数据包,因为嗅探器正在路由器的进程中运行,并且只能看到通过它的数据包。
我需要做下一个。当PC4睡着了,我的嗅探器发现它(已经这样做了),嗅探器必须发送一个来自PC4的IP地址源的假广播,以欺骗交换机,使其认为PC4现在连接到了通往路由器的网关。所以,下一个将从PC3发送到PC4的包将转到路由器而不是PC4,我的嗅探器将看到它。
希望你能理解我。对不起我的英语。
最佳答案
你要找的东西叫“Gratuitous ARP”。
我找到了一个c实现here。
但在我看来,如果它没有通过你的路由器,不要嗅它。