我电脑的IP地址是eth0上的192.168.1.101。
我想知道192.168.1以下还有哪些活动/使用的IP。*
我正在等待192.168.1以下可ping通的IP地址列表。*
我如何在C中做到这一点?并且最好是在linux平台上。
有没有可用的C函数?
发布于 2010-12-14 16:02:59
C中没有内置的发送ping数据包的函数。但是,有一个函数只发送数据包。互联网上也有很多已经实现了ping的代码。
您需要做的只是获取其中一个地址(例如this),然后在循环中ping您网络中的所有地址。
但是,您应该知道,ping并不是一种可靠的方式来判断哪些地址正在使用中。RFC 792 - Internet控制消息协议声明:
互联网协议并不是被设计成绝对可靠的。这些控制消息的目的是提供有关通信环境中的问题的反馈,而不是使IP可靠。仍然不能保证数据报将被传送或控制消息将被返回。有些数据报可能仍然无法传送,而没有任何丢失报告。
这意味着在没有通知的情况下,任何消息都很容易丢失。此外,目标不必做出响应。
https://stackoverflow.com/questions/4431798
复制相似问题