任何人都知道如何使用任何协议在网络中找到可用的IP地址?
UDP广播是一种方式。但在这种情况下,每个人都应该有一个监听器应用程序?
请建议是否有其他方式?
答案 0 :(得分:1)
您可以将ICMP ping发送到广播网络地址。例如,如果您的接口IP位于192.168.0.0/24网络中,则会将ping发送到192.168.0.255 -
[22:45:54 jmac:~]$ ping 192.168.0.255
PING 192.168.0.255 (192.168.0.255): 56 data bytes
64 bytes from 192.168.0.12: icmp_seq=0 ttl=64 time=0.159 ms
64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=99.708 ms
64 bytes from 192.168.0.12: icmp_seq=1 ttl=64 time=0.147 ms
但是,要从应用程序发送ICMP ping,您需要打开原始套接字&因此你需要root权限。大多数操作系统上的ping程序都是setuid root程序,因此任何用户都可以调用它们。