У меня есть 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
netstat -tln
- если он показывает Local Address как 127.0.0.1:5900, то процесс не прослушивает внешний интерфейс. Если он показывает 0.0.0.0:5900, то это так.Ответы:
Когда вы используете
nmap
, есть разница между «фильтрованным» и «закрытым» портом. Это должно показать все недоступные порты как «отфильтрованные», а те, которые просто никто не слушает, должны быть перечислены как «закрытые».Если между ними имеется средний маршрутизатор, который отвечает на TCP-запросы, а не отбрасывает их, вы можете узнать об этом, связавшись со всеми портами ( предупреждающе , вы можете исчерпать системные ресурсы, делая это! Возможно, попробуйте использовать ~ 1000 портов одновременно):
источник
nc -l 1111
(в некоторых версиях:)nc -l -p 1111
на B иnmap -p1111 B
на A для тестирования порта 1111.