7

У меня есть root на двух машинах A и B, и я хотел бы знать, какие порты не могут быть доступны на B из A. Есть ли какой-нибудь способ запустить приложение командной строки на B, который прослушивает все порты, а затем может запустить nmap из A? Порты могут быть заблокированы маршрутизаторами, поэтому простой проверки iptables будет недостаточно.

Простой Nmap дает

Starting Nmap 5.21 ( http://nmap.org ) at 2013-04-18 09:32 BST
Nmap scan report for B (xxx.xxx.xxx.xxx)
Host is up (0.00038s latency).
rDNS record for xxx.xxx.xxx.xxx: B
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds

Если я просто сканирую порт 5900 от AI, получаю

nc -v -w 1 B -z 5900
nc: connect to B port 5900 (tcp) failed: Connection refused

А из БИ получай

nc -v -w 1 localhost -z 5900
Connection to localhost 5900 port [tcp/*] succeeded!

Также работает nmap из BI get

nmap localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2013-04-18 09:57 BST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00024s latency).
Hostname localhost resolves to 2 IPs. Only scanned 127.0.0.1
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
53/tcp   open  domain
631/tcp  open  ipp
5900/tcp open  vnc

1 ответ1

2

Когда вы используете nmap , существует разница между "фильтрованным" и "закрытым" портом. Это должно показать все недоступные порты как "отфильтрованные", а те, где просто никто не слушает, должны быть перечислены как "закрытые".

Если между вами имеется средний маршрутизатор, который отвечает на TCP-запросы, а не отбрасывает их, вы можете узнать об этом, связавшись со всеми портами (предупреждаем, что это может привести к нехватке системных ресурсов! Может быть, попробуйте ~ 1000 портов одновременно):

for i in {1..65535} ; do nc -l $i & done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .