如何在C中实现IP漫游

如何在C中实现IP漫游,c,linux,unix,networking,network-programming,C,Linux,Unix,Networking,Network Programming,我的计算机的IP是192.168.1.101,高于eth0。 我想知道192.168.1下的其他活动/使用的IP。* 我希望在192.168.1下可以ping的IP地址列表。* 我怎样才能在C语言中做到这一点?最好是在linux平台上。 有可用的C函数吗?C中没有发送ping数据包的内置函数。然而,有一个函数只发送数据包。互联网上还有很多代码已经实现了ping 你所要做的就是拿其中一个(例如)在一个循环中ping你网络中的所有地址 但是,您应该知道,ping并不是一种可靠的方式来表示正在使用哪些

我的计算机的IP是192.168.1.101,高于eth0。
我想知道192.168.1下的其他活动/使用的IP。*
我希望在192.168.1下可以ping的IP地址列表。*
我怎样才能在C语言中做到这一点?最好是在linux平台上。

有可用的C函数吗?

C中没有发送ping数据包的内置函数。然而,有一个函数只发送数据包。互联网上还有很多代码已经实现了ping

你所要做的就是拿其中一个(例如)在一个循环中ping你网络中的所有地址

但是,您应该知道,ping并不是一种可靠的方式来表示正在使用哪些地址。RFC 792-互联网控制消息协议规定:

Internet协议不是设计的 绝对可靠。目的 这些控制消息中的 提供有关项目中问题的反馈 沟通的环境,不去做 IP可靠。仍然不能保证数据报会被删除 已传递或将显示控制消息 被退回。有些数据报可能仍然存在 没有任何报告就无法交付 他们的损失


这意味着任何消息都很容易丢失,无需通知。此外,目标不必响应。

是否允许ping网络上的广播地址?使用的IP地址不一定可以ping。每台机器的防火墙可以很容易地阻止ping。如果你明确了你想要这些信息的目的,你可能会得到更好的答案。试试这个:@cdhowie-如果我不能ping(因为不同的原因,比如防火墙),那么我的C应该跳过这个地址。