Как узнать, какие порты заблокированы?

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
Ануш
источник
Процесс на 5900 / tcp привязан к внешнему интерфейсу или к шлейфу? Проверьте вывод netstat -tln- если он показывает Local Address как 127.0.0.1:5900, то процесс не прослушивает внешний интерфейс. Если он показывает 0.0.0.0:5900, то это так.
Бонсайвинг

Ответы:

2

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

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

for i in {1..65535} ; do nc -l $i & done
Стефан Зайдель
источник
Я добавил немного информации. Это не перечисляет отфильтрованные порты, хотя я подозреваю, что многие заблокированы.
Anush
Можете ли вы опубликовать пример порта, который вы подозреваете заблокированным? Просто запустите nc -l 1111(в некоторых версиях:) nc -l -p 1111на B и nmap -p1111 Bна A для тестирования порта 1111.
Stefan Seidel
Добавлена ​​информация к вопросу.
Anush