Я хочу найти все системы, которые находятся в той же локальной сети, то есть имеют ту же маску подсети.Как получить все IP-адреса подсети, которые выполняются на определенном порту
Я думаю, что должен работать с InetAddress
Класс на Java, но я не знаю, что мне делать. Мой алгоритм:
Найти все доступные системы в локальной сети
Проверьте, если они работают на моем запрошенный порт
Имейте в виду IP-системы, которая работает на этом порту
InetAddress localHost = Inet4Address.getLocalHost();
NetworkInterface networkInterface = NetworkInterface.getByInetAddress(localHost);
System.out.println(networkInterface);
networkInterface.getByInetAddress(localHost);
for(){
networkInterface.getByInetAddress(localHost)
}
Я думаю, что networkInterface.getByInetAddress(localHost)
может предоставить мне все доступные IP-адреса в подсети, но я не могу это сделать для всех доступных систем и каково условие для статьи for
.
getbyInetAddress возвращает сетевой интерфейс на вашем компьютере, привязанный к указанному сетевому адресу. он не сообщает вам, какие адреса используются в других местах локальной сети. Ничто из того, что вы можете сделать локально, скажет вам, какие IP-адреса используются. Для этого вам нужно исследовать таблицы маршрутизаторов/arp. –