fi6s — это сканер портов IPv6, разработанный для быстрой работы. Это достигается за счет асинхронной отправки и обработки необработанных пакетов. Дизайн и цель очень похожи на Masscan, хотя он еще не настолько полнофункциональный.
Сборка fi6s довольно проста в любой последней системе Linux, например в Ubuntu:
# apt install gcc make git libpcap-dev
$ git clone https://github.com/sfan5/fi6s.git
$ cd fi6s
$ make BUILD_TYPE=release
Исполняемый файл сканера будет готов по адресу ./fi6s
.
Обратите внимание, что fi6s разработан и протестирован исключительно в Linux. Он должен работать на других UNIX-подобных платформах, но не ждите, что он будет работать в Windows.
Использовать довольно просто, fi6s попытается автоматически определить грязные технические детали, такие как источник, MAC-адреса маршрутизатора и IP-адрес источника.
# ./fi6s -p 80,8000-8100 --max-rate 170 2001:db8::/120
Этот пример будет:
list
» Существуют и другие способы указать диапазон адресов для сканирования. Если вы не уверены, что произойдет, запустите fi6s с --print-summary
, чтобы получить краткий обзор сканирования, или --print-hosts
чтобы распечатать все потенциальные IP-адреса. .
Для получения более продвинутых функций обратитесь к выводу fi6s --help
.
Данные, которые удаленный хост отправляет в ответ на новое соединение или запрос зонда, называются «баннером». fi6s позволяет легко их собирать.
Все, что вам нужно сделать, это передать опцию --banners
:
# ./fi6s -p 22 --banners 2001:db8::xx
Добавьте флаг --udp
в командную строку:
# ./fi6s -p 53 --banners --udp 2001:db8::xx
Обратите внимание, что в отличие от TCP вы получите полезные (или какие-либо) результаты только в том случае, если просканируете порт, протокол которого поддерживается для проверки fi6s. Используйте fi6s --list-protocols
для просмотра списка.
Поскольку fi6s имеет собственный минимальный стек TCP/IP, необходимо запретить операционной системе пытаться обмениваться данными TCP через тот же порт, который использует fi6s, иначе это нарушит процесс сканирования. В этом случае обычно отправляются кадры RST.
По умолчанию fi6s попросит ОС зарезервировать временный порт и использовать его на время сканирования. Это работает только в Linux.
Если это не сработает или вы используете другую платформу, вам придется использовать статический исходный порт и настроить брандмауэр на отбрасывание трафика на этот порт, например:
# ip6tables -A INPUT -p tcp -m tcp --dport 12345 -j DROP
# ./fi6s -p 22 --banners --source-port 12345 2001:db8::xx
Поскольку UDP не требует установления соединения, нет необходимости предотвращать помехи, хотя это все же хорошая идея, чтобы предотвратить отправку вашей ОС ненужных ответов ICMPv6 о недоступности (fi6s также пытается это сделать по умолчанию).