Как найти неиспользуемые IP-адреса в сети? - PullRequest
0 голосов
/ 04 июля 2011

Кто-нибудь знает, как найти доступные IP-адреса в сети, используя любой протокол?

UDP-вещание - это один из способов. Но в этом случае у каждого должно быть приложение для прослушивания?

Подскажите, пожалуйста, есть ли другой способ?

1 Ответ

1 голос
/ 21 июля 2011

Вы можете отправлять пинг ICMP на адрес широковещательной сети. Например, если IP-адрес вашего интерфейса находится в сети 192.168.0.0/24, вы отправите эхо-запросы на 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-пинга из приложения вам необходимо открыть необработанные сокеты и, таким образом, вам потребуются права root. Программа ping в большинстве операционных систем является корневыми программами setuid, поэтому они могут быть вызваны любым пользователем.

...