我需要做下一步。
我正在为我的期末学位项目做一些在openwrt固件上运行的C语言的嗅探器。我已经做了每一件事,但我还剩下一件事,我不知道如何开始。
我有下一个私有网络:http://img443.imageshack.us/img443/999/sinttulo2de.png
我的嗅探器所做的是嗅探所有通过我的路由器运行的数据包,当这些数据包中的一个发送到我连接的任何一台PC时,如果那台PC处于睡眠状态,它就会唤醒它。就像是伊恩的自动唤醒一样。
所以,我有个问题。假设PC3向PC4发送数据包,则来自交换机的arp表知道PC4的位置,并将该数据包引导到PC4网关。如果发生这种情况,我的嗅探器将永远不会看到该数据包,因为嗅探器正在路由器的处理器中运行,并且只能看到通过它的数据包。
我需要做下一步。当PC4睡着了,我的嗅探器检测到它(已经这样做了),嗅探器必须发送一个带有PC4的IP地址源的假广播,以欺骗交换机并使其认为PC4现在连接到路由器的网关中。因此,下一个将从PC3发送到PC4的数据包将转到路由器而不是PC4,我的嗅探器将会看到它。
我希望你已经理解我了。对不起,我的英语不好。
发布于 2012-12-10 00:51:44
你要找的东西叫做"Gratuitous ARP“。
我找到了一个c实现的here。
但是,在我看来,如果它没有经过你的路由器,就不要去嗅探它。
https://stackoverflow.com/questions/13788901
复制相似问题