Как сканировать локальную сеть на наличие компьютеров с поддержкой SSH?

34

Я часто на одном компьютере в моем доме, и я хотел бы подключиться к SSH к другому, но часто не знаю IP-адрес того, к которому я хочу подключиться. Есть ли способ из командной строки сканировать локальную сеть, чтобы я мог найти компьютер, к которому хочу подключиться?

Эндрю
источник
> но часто не знаю IP-адрес того, к которому я хочу подключиться Разве это не то, для чего был придуман DNS?
Крис МакКаун
1
Если вы не знаете, какие компьютеры подключены к сети вашего дома , я думаю, что у вас могут быть проблемы ...
Массимо
1
... и откуда ты знаешь, что ты выбрал правильный? Время, чтобы разобраться с вашими IP-адресами / поиском имен.
Symcbean
2
В защиту Эндрю: да, желательно установить неизменяемые IP-адреса в аренду DHCP и иметь локальные имена. Тем не менее, рассмотрим реальный случай, когда я просто нес безголовый компьютер Ubuntu в офис и подключил его. Для первого подключения я хотел найти IP-адрес без клавиатуры и монитора к нему. На вопрос Symcbean было легко узнать правильный ПК на основе декодирования MAC-адреса (автоматически выполняемого nmap / Zenmap) для производителя материнской платы и используемой операционной системы. Иногда вы не знаете IP и вам нужно его найти.
Phrogz

Ответы:

23

Используйте « nmap » - это скажет вам, какие хосты подключены к сети, а какие действительно имеют открытый порт 22. Вы можете комбинировать его с несколькими другими инструментами (например, grep) для получения более целевого результата, если это необходимо.

Примечание: делайте это только в ВАШЕЙ сети. Запуск nmap или его эквивалентов в чужой сети считается дурным тоном.

Том Ньютон
источник
bluebitter.de/portscn2.htm Используйте BluePortScan, если вы хотите более простую вещь, чем nmap
Gk.
4
Этот принятый ответ даже не имеет простой
примерной
74

Из командной строки вы можете использовать:

sudo nmap -sS -p 22 192.168.10.0/24

Замените локальное адресное пространство в вашей сети. Я иногда использую это, когда подключаю безголовый Rasberry Pi и хочу найти, где ssh.

Джо ЗзЗ
источник
4
Именно один из вариантов использования, который побуждает меня задать этот вопрос. Благодарность!
Андрей
+1 Также использую для sudo nmap -sS -p 22 192.168.10.0/24
Raspberry
26
nmap -p 22 --open -sV 192.168.178.0/24
Motsel
источник
Чем это отличается от других ответов? Как мы узнаем, что это моя локальная сеть?
птенцы
1
Он не требует sudoи может использоваться с Android NetworkMapper
Вадим Тюмиров
2
Я предпочитаю этот ответ. Добавление --openубрало много грязи с выхода и фактически показало мне машину, которую я искал.
Дункан Джонс
3

Вы можете вручную подключить telnet к каждому ip через порт 22

В случае успеха вы должны увидеть строку версии OpenSSH.

Процесс проверки каждого ip в подсети можно выполнить с помощью директивы for.

Гектор Луис Гимбатти
источник