我需要知道什么时候特定的pc(我知道ip和MAC)插在LAN上。我想避免所有轮询机制,是否有可能在linux下实现这一点?也许通过嗅探icmp数据包?
THX
答案 0 :(得分:1)
如果您控制网关,您可以嗅探流量并查看是否有来自该主机的任何内容(通过MAC或IP地址)。
如果没有,事情变得复杂,在大多数情况下需要进行某种轮询 - 在交换网络中,您通常不会看到发往另一台主机的流量;检查“online-ness”的最可靠方法是ARP,可能是使用arping
(或者自己做ARP请求并嗅探ARP回复的流量)。
请注意,这些方法都没有“确定无误” - 使用powernap
等工具,(临时)离线主机可能似乎在线。
答案 1 :(得分:0)
您可以使用NMAP通过简单的ping类型扫描来扫描您的网络,以查看哪些主机在线,而不是。这是一种轮询机制,但除非您可以对网络中的路由器/交换机进行编程,以告知您的MAC或IP地址XYZ何时开始发送流量,我不知道有任何其他方法可以执行此操作。