我是一名首發的C/C++程序員。Ping網絡並獲取mac地址
我想要的是以下東西:
啓動程序,開始ping整個網絡並保存活動的地址。完成後,從以前存儲的IP地址獲取MAC地址,並將其保存。
完成後,循環瀏覽MAC地址列表,找到1個MAC地址,找到時發出,喊出他發現它。
類似的東西,我想做。
我搜索了很多,但沒有真正幫助我。
所以我的問題,我需要什麼(哪些庫,哪些語句),所以我可以編程。
請注意,我的操作系統目前是Windows,但我希望將來它也能與Linux兼容。
我是一名首發的C/C++程序員。Ping網絡並獲取mac地址
我想要的是以下東西:
啓動程序,開始ping整個網絡並保存活動的地址。完成後,從以前存儲的IP地址獲取MAC地址,並將其保存。
完成後,循環瀏覽MAC地址列表,找到1個MAC地址,找到時發出,喊出他發現它。
類似的東西,我想做。
我搜索了很多,但沒有真正幫助我。
所以我的問題,我需要什麼(哪些庫,哪些語句),所以我可以編程。
請注意,我的操作系統目前是Windows,但我希望將來它也能與Linux兼容。
使用的命令行如arp -a 192.168.0.100
的arp
工具從C++這取決於您的操作系統,在Windows上是SendArp()
來掃描局域網內的所有機器使用nmap
- 看How do I get a list of the active IP-addresses, MAC-addresses and NetBIOS names on the LAN?
這是一個開始,但首先我需要ping整個網絡,並找到actifs之一(而且速度很快,並不是每個主機都等待8秒鐘他找不到 – Mathlight 2012-03-27 21:05:46
@TWCrap:如果你不願意等待他們的回覆,你無法可靠地確定網絡上的設備。 – dreamlax 2012-03-27 21:07:08
@TWCrap,如果您知道機器響應速度有多快,您可以更改ping/arp的超時時間。掃描所有機器的更好方法是nmap http://stackoverflow.com/questions/90755/how-do-i-get-a-list-of-the-active-ip-addresses-mac-addresses-and- netbios名稱,但你仍然需要等待他們 – 2012-03-27 21:08:18
我提示將檢查[Boost Asio](http://www.boost.org/libs/asio) – Default 2012-03-27 21:18:28
我會檢查後面 – Mathlight 2012-03-28 05:25:09