2012-03-27 154 views
1

我是一名首發的C/C++程序員。Ping網絡並獲取mac地址

我想要的是以下東西:
啓動程序,開始ping整個網絡並保存活動的地址。完成後,從以前存儲的IP地址獲取MAC地址,並將其保存。

完成後,循環瀏覽MAC地址列表,找到1個MAC地址,找到時發出,喊出他發現它。

類似的東西,我想做。

我搜索了很多,但沒有真正幫助我。

所以我的問題,我需要什麼(哪些庫,哪些語句),所以我可以編程。

請注意,我的操作系統目前是Windows,但我希望將來它也能與Linux兼容。

+0

我提示將檢查[Boost Asio](http://www.boost.org/libs/asio) – Default 2012-03-27 21:18:28

+0

我會檢查後面 – Mathlight 2012-03-28 05:25:09

回答

0

使用的命令行如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?

+0

這是一個開始,但首先我需要ping整個網絡,並找到actifs之一(而且速度很快,並不是每個主機都等待8秒鐘他找不到 – Mathlight 2012-03-27 21:05:46

+0

@TWCrap:如果你不願意等待他們的回覆,你無法可靠地確定網絡上的設備。 – dreamlax 2012-03-27 21:07:08

+0

@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