【正文】
IP Helper API 提供了管理 ARP 緩沖的過程,所以我修改了這個程序,把 arp – d的功能集成到了自己的程序中來。這樣一來,假設(shè)有計算機中途掉網(wǎng),而它的 ARP 表項還沒有過期,那么這個程序仍然能夠得到它的 IP 到 MAC 的映射,自然也就會錯誤的宣稱這個 IP 地址還在使用中了。 在實現(xiàn)了一個原始的 ARP IP 查找版本以后,我發(fā)現(xiàn)其結(jié)果并不準確,有些已經(jīng)沒有人使用的 IP 地址被錯誤的報成有人占用了,難道我的判斷是錯誤的?當(dāng) 然不,這種錯誤的原因是在 Windows 的 ARP 緩沖中。 ARP的優(yōu)點與缺點正好與 ICMP 相反。這個程序用并發(fā)的幾十個線程同時 PING網(wǎng)絡(luò)上的多臺計算機,如果回送請求被正確的應(yīng)答了,那么可以認為這個 IP 地址已經(jīng)被占用,如果沒有,我們就宣稱它是空閑的。其實用 sniffer 可以看到所謂的“修復(fù)”也不過是發(fā)了幾個 ARP包出去,把 IP“搶”回