2009-09-18 54 views
0

我想獲得給定子網上所有主機的MAC地址。到目前爲止,我通過ping所涉及的所有ips來強制更新arp表。之後,我查詢ARP表,一切都很好。iPhone和ARP表

問題是如何提高更新速度。在iPhone 3GS上Ping 65000個地址大約需要15分鐘。即使我不等待迴應正在發生。這是很長的路要走。 這可能是我的ping代碼中存在一個錯誤,它會降低速度,但目前我找不到任何東西。

我的問題是:
是否有更快的網絡操作觸發arp表更新?

回答

0

你不能在當前子網上做多播嗎?最好是生成ACK nowlegements的東西,這樣如果你在接口上偵聽,你會發現所有的mac地址。

+0

Ping廣播地址不會生成ACKnowlegements,是嗎?這裏的問題是捕捉那些不回答ping的主機。 – Monobono 2009-09-18 09:55:45

1

我的猜測是,最快的方式可能是查詢現有的ARP表,例如,子網的DHCP控制器上的表,使用例如SNMP。

+0

這可能會奏效。但是如果沒有DHCP控制器,該怎麼辦?順便問一下你知道iPhone的snmp棧嗎? – Monobono 2009-09-18 09:57:08

+0

如果沒有DHCP控制器,那麼子網的網關(即子網上的主機用來連接互聯網其餘部分的節點)如何:網關不需要/有最新的ARP表? – ChrisW 2009-09-18 12:31:27

+0

「你知道iPhone的snmp堆棧嗎?」 - 我不。此外,這隻適用於您擁有權限的子網(即主機支持SNMP的地方,您擁有使用它的憑證)。在這些情況下,您也可以在您的手機可以與之通話的主機上安裝自己的軟件(以使用非SNMP方式查詢ARP表)。 – ChrisW 2009-09-18 12:33:53