Есть ли способ узнать, что на самом деле фильтрует связь через 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
Есть ли способ, которым я могу видеть, что именно фильтрует эти порты?
4 ответа
Это то, что документы Nmap говорят о filtered
государство
Отфильтрованный Nmap не может определить, открыт ли порт, потому что фильтрация пакетов не позволяет его зондам достигнуть порта. Фильтрация может осуществляться с выделенного устройства брандмауэра, правил маршрутизатора или программного обеспечения брандмауэра на основе хоста...
Единственный способ узнать, что делает фильтрация, - это узнать, какие "машины" находятся между вами и удаленной целью.
Это может быть достигнуто с помощью утилиты трассировки маршрутов, которая пытается определить хосты между вами и целью с помощью специальных пакетов TCP. В вашем случае команда может выглядеть примерно так:
traceroute 10.1.1.1
Как только вы знаете машины между вами и целью, вы исследуете конфигурацию каждого, чтобы выяснить, фильтруется ли он, и если да, то как.
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 года.
Короткий ответ - нет, вы никак не можете это увидеть.
Более длинный ответ:
От: https://nmap.org/book/man-port-scanning-basics.html
"Отфильтрованный Nmap не может определить, открыт ли порт, потому что фильтрация пакетов препятствует тому, чтобы его датчики достигли порта. Фильтрация могла быть от специального устройства брандмауэра, правил маршрутизатора или программного обеспечения брандмауэра на основе хоста. Эти порты расстраивают злоумышленников, потому что они предоставляют так мало Иногда они отвечают сообщениями об ошибках ICMP, такими как код 13 типа 3 (пункт назначения недоступен: связь административно запрещена), но фильтры, которые просто отбрасывают зонды без ответа, встречаются гораздо чаще. Это заставляет Nmap повторить попытку несколько раз на тот случай, если проба была сбрасывается из-за перегрузки сети, а не из-за фильтрации. Это значительно замедляет сканирование ".
Вы можете попытаться обнаружить топологию сети с помощью таких инструментов, как traceroute. Обычно порты фильтруются на самом хосте (то есть на ip-таблицах), на граничном маршрутизаторе целевой сети, на маршрутизаторе ядра целевой сети или на верхней панели коммутатора L3 стойки.
Если вы находитесь в той же подсети, что и целевой хост, то почти наверняка брандмауэр находится на целевой машине.
Попробуйте сравнить результат tcptrace с одним из отфильтрованных портов с tcptrace с открытым портом (или стандартным traceroute). Если tcptraces одинаковы, это означает, что на машине назначения есть что-то, фильтрующее порты.
Обновление: я имел в виду tcptraceroute, у меня есть псевдоним.