我正在尋找一些Linux代碼來查找以太網地址的IP地址。我想我必須做一些反ARP欺騙,但我沒有找到任何例子...如何從遠程主機的以太網地址獲取IP地址?
回答
http://compnetworking.about.com/od/networkprotocolsip/f/convertipmacadd.htm
嘗試發送一個IP廣播(例如ping 192.168.1.255
如果你的子網是192.168.1.0/24),以總理的ARP緩存,其次是arp -a
吐一切。
對於已與之通信的計算機,您可以查看其arp條目。例如,這在/proc/net/arp
中以文本格式提供。找到一個你知道但沒有與之通信的MAC地址是非常困難的。最接近的匹配,協議明智的,將是RARP,但很少使用,所以你不可能得到迴應。
您可以隨時掃描您的本地子網,以確保您在arp表中獲得完整視圖。例如,請參閱fping
以瞭解執行此操作的有效方法。請注意,主機實際上並不需要響應有問題的ping出現在ARP表中,所以即使在本地防火牆等情況下,此功能也很有用。
@calmh好,所以沒有其他的辦法。使用ping或fping發送ICMP數據包還是使用類似arping的東西更好? – Fred
Arping會更有效率,因爲它避免了ICMP步驟對於您的目的不必要的步驟。但總的來說,fping可能會更快,因爲它並行化更多,並且實際上是爲了快速掃描子網而製作的。 最好的可能是自己快速發送arp問題,比如arping。使一個線程儘可能快地發送請求(或者具有合理的速率限制),另一個線程監聽傳入的響應。這樣你幾秒鐘就可以獲得/ 24子網的完整圖像。 –
- 1. 獲取遠程主機IP地址QTcpServer
- 2. 如何使用Java獲取遠程主機的IP地址
- 3. 從IP地址獲取主機名
- 4. 從IP地址獲取主機名
- 5. 從Hazelcast網格獲取主IP地址
- 6. Qt - 從IP地址獲取主機名和MAC地址
- 7. 從網址獲取IP地址
- 8. 如何從網絡上的IP地址獲取MAC地址?
- 9. 如何更改本地機器/以太網ip地址
- 10. 獲取SFML中的主機IP地址
- 11. 如何獲取給定IP地址的以太網端口?
- 12. 獲取C#中以太網接口的本地IP地址
- 13. 如何獲取遠程計算機的本地網絡IP地址
- 14. 獲取主機的MAC地址和IP地址 - C++
- 15. vb6從本地主機或遠程IP地址檢索IPV6
- 16. 遠程IP地址
- 17. 使用遠程計算機獲取遠程計算機的IP地址IP地址
- 18. 在Python中獲取遠程IP地址
- 19. 獲取遠程IP地址型號
- 20. 獲取公共(遠程)IP地址
- 21. 獲取遠程名稱地址(非IP)
- 22. 通過IP地址獲取本地主機網頁
- 23. 如何從主機獲取Parallels VM使用的IP地址?
- 24. 如何在Docker容器中獲取本地主機IP地址?
- 25. 如何獲取IP地址?
- 26. 如何獲取IP地址?
- 27. 如何從Docker容器獲取mac主機IP地址?
- 28. 如何從多個IP地址獲取主機名? Java
- 29. 如何從IP地址獲取主機名?
- 30. 無法從getsockname獲取本地主機IP地址?
你的意思是你想要一個來自MAC的IP嗎? – pablochan
@Fred:當你說「Linux代碼」時,你是指編程語言中的代碼嗎?什麼語言? –
以太網地址是一個MAC地址,所以是的 - 你需要使用ARP/RARP來轉換MAC和IP地址。 –