У меня есть брандмауэр, который перенаправляет порт 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, как это делал ваш цикл.