У меня есть брандмауэр, который перенаправляет порт 2222 на компьютер Linux, на котором запущен SSH-сервер на порт 2222. Проблема в том, что я не знаю IP-адрес брандмауэра. Итак, я хочу просканировать подсеть, чтобы сказать мне, какой IP имеет этот перенаправленный порт.
Я пробовал этот сценарий:
#!/bin/bash
for ((i=2; i<256; i++));
do
sudo nmap -sS -p2222 10.1.$i.0/24
done
Результатом этого будет очень много:
Host is up (0.00039s latency).
PORT STATE SERVICE
2222/tcp open EtherNetIP-1
Для хостов 256x256 это то, что я вижу. Я думаю, что это может быть один из двух ответов:
grep
для этого.nmap
сканировать я должен использовать?Если ответ все же нужен, надеюсь, это поможет. Nmap поддерживает сканирование нескольких хостов, для справки см. Целевая спецификация. Вы можете изменить свою команду так:
sudo nmap -sS -p2222 10.1.2-255.0/24
Это просканирует подсети от 2 до 255, как и ваш цикл.