2013-12-09 58 views
0

我有幾個網絡攝像機的MAC ID已知。我需要一種方法來確定相應的IP地址。假設一切都在同一個WiFi網絡上。但是,我沒有權限修改WiFi網絡路由器設置(換句話說,我無法將靜態IP分配給攝像機)。使用Python標準庫的RARP

我聽說過Reverse-ARP協議,它可以幫助識別給定MAC ID的IP地址。 There is一個可用於ARP/RARP的庫,但我想知道這是否可以在不安裝外部庫的情況下完成。

回答

1

您可以使用原始套接字並自行實施協議。如果你覺得把手弄髒很困難,它不應該那麼複雜。 但是我不確定它會按預期工作。它很舊,可能不受支持。 也許你可以依靠控制DHCP。但是,如果你不能對路由器進行調整,可能唯一要做的就是「ARP掃描」。

+0

什麼是「ARP掃描」?我可以使用Python中的標準庫來做ARP嗎? – Nik

+1

這只是一個「暴力」,你可以爲子網中的每個IP(可能首先詢問你的目標擁有的IP)的ARP請求,直到找到你想要的。這是骯髒和醜陋的,但我想不出更好。然而,ARP協議並不是在python的標準庫中實現的,但它是一個相當簡單的協議,你可以嘗試用struct和raw套接字自己實現它。這裏有一些鏈接:[ARP規範](https://tools.ietf.org/html/rfc826),[結構](http://docs.python.org/2/library/struct.html)。 – smeso

+0

作爲一個方面說明:當處理套接字在低層[scapy](http://www.secdev.org/projects/scapy/)真的很有用,但我想你不想使用外部庫。 – smeso