Назад | Перейти на главную страницу

Есть ли способ узнать, что на самом деле фильтрует связь через TCP-порт?

nmap -p 7000-7020 10.1.1.1

Выводит все отфильтрованные порты

Starting Nmap 6.40 ( http://nmap.org ) at 2015-03-04 12:18 EET
Nmap scan report for 10.1.1.1
Host is up (0.00091s latency).
PORT     STATE    SERVICE
7000/tcp filtered afs3-fileserver
7001/tcp filtered afs3-callback
7002/tcp filtered afs3-prserver
7003/tcp filtered afs3-vlserver
7004/tcp filtered afs3-kaserver
7005/tcp filtered afs3-volser
7006/tcp filtered afs3-errors
7007/tcp filtered afs3-bos
7008/tcp filtered afs3-update
7009/tcp filtered afs3-rmtsys
7010/tcp filtered ups-onlinet
7011/tcp filtered unknown
7012/tcp filtered unknown
7013/tcp filtered unknown
7014/tcp filtered unknown
7015/tcp filtered unknown
7016/tcp filtered unknown
7017/tcp filtered unknown
7018/tcp filtered unknown
7019/tcp filtered unknown
7020/tcp filtered unknown

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

Есть ли способ узнать, что именно фильтрует эти порты?

Nmap предоставляет несколько способов получить дополнительную информацию о причинах фильтрации:

  • В --reason опция покажет тип ответа, который вызвал "отфильтрованное" состояние порта. Это может быть «нет ответа», «запрещено администратором» или что-то еще.
  • TTL пакетов ответа сообщается в выходных данных XML как reason_ttl атрибут state элемент для порта. Если TTL для отфильтрованного порта отличается (обычно больше) от TTL для открытых портов, то разница между TTL - это сетевое расстояние между целью и фильтрующим устройством. Есть исключения, такие как цели, которые используют разные начальные TTL для пакетов ICMP и TCP, или устройство фильтрации, которое фальсифицирует или перезаписывает информацию TTL.
  • В --traceroute функция покажет информацию о переходах по вашему маршруту, любой из которых может фильтровать ваш трафик. В некоторых случаях обратное DNS-имя для одного из переходов может быть даже чем-то вроде firewall1.example.com.
  • В firewalk Сценарий NSE будет отправлять пакеты с начальным TTL, время ожидания которых истекает на разных переходах по маршруту, пытаясь найти, где пакеты блокируются. Это что-то вроде комбинации двух предыдущих техник, и обычно она работает достаточно хорошо.

В настоящее время не выпущенная разрабатываемая версия Nmap также сообщает о TTL для ответных пакетов в обычном текстовом выводе с -v --reason параметры. На данный момент, однако, вы должны использовать вывод XML для получения этой информации.

ИЗМЕНЕНО ДОБАВИТЬ: Nmap 6.49BETA1 был первым выпуском, показывающим TTL для ответных пакетов в текстовом выводе с -v --reason или -vv, и был выпущен в июне 2015 года.

Это то, что в документации Nmap говорится о filtered штат

фильтрованный Nmap не может определить, открыт ли порт, потому что фильтрация пакетов не позволяет его зондам достичь порта. Фильтрация может осуществляться с помощью специального устройства межсетевого экрана, правил маршрутизатора или программного обеспечения межсетевого экрана на основе хоста ...

Единственный способ узнать, что происходит при фильтрации, - это узнать, какие «машины» находятся между вами и удаленной целью.

Этого можно добиться с помощью служебной программы трассировки маршрута, которая пытается определить хосты между вами и целью с помощью специальных TCP-пакетов. В вашем случае команда может выглядеть примерно так:

traceroute 10.1.1.1

Как только вы узнаете, какие машины находятся между вами и целью, вы исследуете конфигурацию каждой из них, чтобы выяснить, фильтрует ли она, и если да, то как.

Короткий ответ - нет, это невозможно увидеть.

Более длинный ответ:

Из: https://nmap.org/book/man-port-scanning-basics.html

"отфильтрованный Nmap не может определить, открыт ли порт, потому что фильтрация пакетов не позволяет его зондам достичь порта. Фильтрация может осуществляться с помощью специального устройства межсетевого экрана, правил маршрутизатора или программного обеспечения межсетевого экрана на основе хоста. Эти порты расстраивают злоумышленников, поскольку они предоставляют очень мало Иногда они отвечают сообщениями об ошибках ICMP, такими как тип 3, код 13 (пункт назначения недоступен: связь запрещена административно), но фильтры, которые просто отбрасывают зонды без ответа, встречаются гораздо чаще. Это заставляет Nmap несколько раз повторить попытку на случай, если зонд был упал из-за перегрузки сети, а не из-за фильтрации. Это значительно замедляет сканирование ".

Вы можете попробовать обнаружить топологию сети с помощью таких инструментов, как traceroute. Обычно Порты фильтруются на самом хосте (например, в таблицах IP), граничном маршрутизаторе целевой сети, базовом маршрутизаторе целевой сети или верхней части коммутатора L3 в стойке.

Если вы находитесь в той же подсети, что и целевой хост, почти наверняка брандмауэр находится на целевой машине.

Попробуйте сравнить результат tcptrace с одним из отфильтрованных портов с tcptrace с открытым портом (или стандартным traceroute). Если tcptraces совпадают, это означает, что на целевой машине что-то фильтрует порты.

Обновление: я имел в виду tcptraceroute, у меня он псевдоним.