Попробуйте arp -a
посмотреть текущую таблицу arp вашего компьютера. Он покажет только те IP-адреса, с которыми взаимодействовал ваш компьютер. Вывод так (немного скрыт, чтобы скрыть MAC-адреса в моей сети):
$ arp -a
? (10.1.168.1) at xx:xx:9e:82:ab:f6 on en1 ifscope [ethernet]
? (10.1.168.16) at xx:xx:29:d3:17:8 on en1 ifscope [ethernet]
? (10.1.168.115) at xx:xx:2:4f:76:14 on en1 ifscope [ethernet]
? (10.1.168.131) at xx:xx:6b:d0:36:a5 on en1 ifscope [ethernet]
? (10.1.168.134) at (incomplete) on en1 ifscope [ethernet]
? (10.1.168.137) at xx:xx:65:46:cd:b8 on en1 ifscope [ethernet]
? (10.1.168.255) at ff:ff:ff:ff:ff:ff on en1 ifscope [ethernet]
? (192.168.4.255) at ff:ff:ff:ff:ff:ff on vmnet8 ifscope [ethernet]
? (192.168.110.255) at (incomplete) on vmnet1 ifscope [ethernet]
Если у вас нет дополнительной информации о том, какой компьютер какой, вы можете получить немного больше информации, определив производителей сетевых карт с помощью поиска MAC-адреса .
arp -a
покажет только те IP-адреса, с которыми взаимодействовал ваш компьютер». ? Должен ли я сначала пропинговать широковещательную рассылку (192.168.110.255) и получить ответ от каждого устройства, а затем использовать arp для получения полного списка, поскольку я только что взаимодействовал / пинговал все устройства?Предполагая, что все другие машины находятся в том же широковещательном домене, что и тот, к которому у вас есть доступ, пинг широковещательного адреса часто будет достаточным. Он не найдет машины, которые спят, ни те, которые настроены не отвечать на пинги, ни те, которые будут отвечать на пинги, но не широковещательные.
Первый и последний ответ почти всегда будет вашей локальной машиной. Эти
(DUP!)
ответы от других машин (хотя этот пример показывает какую - то машину оказывающей самого широковещательного адрес, который не очень полезно).Вы также можете попробовать широковещательный адрес «все единицы»:
Этот пример показывает меньшую хитрость. Все
(DUP!)
это другие машины, и локальная машина легко идентифицируется как 127.0.0.1.источник
Все ваши компьютеры Mac имеют имена хостов, поэтому вам не нужно знать IP-адреса. Вместо этого вы просто будете использовать имя хоста.
Имена хостов основаны на любом имени, которое вы дали компьютеру. Поэтому, если компьютер называется «Jon's Mac», имя хоста, которое вы будете использовать, будет выглядеть как «jons-mac.local».
Если вы еще не знаете имен хостов своих компьютеров, вы можете узнать имена хостов компьютера в настройках общего доступа на этом компьютере или узнать имена хостов других компьютеров в сети с помощью команды dns-sd. Эта команда использует Bonjour, чтобы позволить вам просматривать сетевые сервисы; вы найдете только компьютеры, которые фактически рекламируют какой-либо сетевой сервис (который, по большому счету, является единственным, о котором вы заботитесь).
Если вы хотите подключиться к некоторому компьютеру с поддержкой ssh, вы можете найти доступные компьютеры, используя:
В общем, вы можете искать хосты, предоставляющие определенные сервисы, используя названия сервисов: http://www.dns-sd.org/ServiceTypes.html
Протокол Bonjour также предоставляет возможность просмотра всех служб, а не только определенных. Вы можете сделать это, просмотрев специальную услугу
_services._dns-sd._udp
Вопрос заключается в том, чтобы найти другие компьютеры в сети из командной строки, но вы также можете просматривать рекламируемые сервисы dns-sd в графическом интерфейсе. Например, Terminal.app> Новое удаленное соединение ... открывает окно, в котором отображаются рекламируемые службы ssh, sftp, ftp и telnet.
источник
dns-sd -B _ssh._tcp .
?Вы можете попробовать использовать его
dns-sd
для выполнения запросов Bonjour в локальной сети.источник
dns-sd -B _ssh._tcp .
Может быть, это немного излишне, но вы могли бы использовать Nmap
источник
Быстрый CLI один вкладыш для пошагового выполнения / 24 подсети пингует каждый IP-адрес. Быстро и немного грязно, но это работает.
Объяснение: Чтобы изменить диапазон, измените x = 1 на x = 130, или как хотите, с 254 до конца, скажем, 135.
ping -c 3 отправляет три пинга. Чтобы изменить количество пингов, измените 3 на другое, а для изменения диапазона адресов измените 192.168.0 на другое.
источник
fping -ag 172.16.0.0/16
Если вы знаете имена других компьютеров в локальной сети, самый простой способ - проверить их:
Это может зависеть от вашего локального маршрутизатора или DHCP-сервера. Если пустое имя хоста не работает, попробуйте добавить .local (т. Е. Ping hostname.local ).
Очевидно, что это плохо работает для больших локальных сетей или людей с плохой памятью.
источник
Если вы используете Mac (при условии 10,5 или более), просто включите VNC для доступа к рабочему столу и используйте Flame.app.
http://husk.org/apps/flame/
Это действительно хорошая маленькая утилита, которая дает вам именно то, что вам нужно, очень быстро. Единственное, что вам придется идти дальше, чем SSH.
источник
Для Windows:
1) Запись: для / L% I в (1,1254) DO ping -w 30 -n 1 168.29.0.% I Это будет пинговать все адреса в вашей локальной сети
2) Затем напишите: arp -a Это даст вам все адреса, которые ответили
источник