我是一名首发的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