fi6s es un escáner de puertos IPv6 diseñado para ser rápido. Esto se logra enviando y procesando paquetes sin procesar de forma asincrónica. El diseño y el objetivo son bastante similares a los de Masscan, aunque aún no tiene tantas funciones.
Construir fi6s es bastante fácil en cualquier sistema Linux reciente, por ejemplo en Ubuntu:
# apt install gcc make git libpcap-dev
$ git clone https://github.com/sfan5/fi6s.git
$ cd fi6s
$ make BUILD_TYPE=release
El ejecutable del escáner estará listo en ./fi6s
.
Tenga en cuenta que fi6s se desarrolla y prueba únicamente en Linux. Debería funcionar en otras plataformas tipo UNIX, pero no espere que funcione en Windows.
El uso es bastante fácil, fi6s intentará detectar automáticamente los detalles técnicos sucios, como la fuente, las direcciones MAC del enrutador y la IP de origen.
# ./fi6s -p 80,8000-8100 --max-rate 170 2001:db8::/120
Este ejemplo:
list
" Hay más formas diferentes de especificar un rango de direcciones para escanear. Si no está seguro de lo que está por suceder, ejecute fi6s con --print-summary
para obtener una descripción general rápida sobre el escaneo o --print-hosts
para imprimir todas las IP potenciales. .
Para funciones más avanzadas, consulte el resultado de fi6s --help
.
Los datos que un host remoto envía en respuesta a una nueva conexión o solicitud de sondeo se denominan "banner". fi6s facilita su recopilación.
Todo lo que necesitas hacer es pasar la opción --banners
:
# ./fi6s -p 22 --banners 2001:db8::xx
Agregue el indicador --udp
a su línea de comando:
# ./fi6s -p 53 --banners --udp 2001:db8::xx
Tenga en cuenta que, a diferencia de TCP, sólo obtendrá resultados útiles (o cualquier resultado) si escanea un puerto cuyo protocolo sea compatible con el sondeo de fi6s. Utilice fi6s --list-protocols
para ver una lista.
Dado que fi6s trae su propia pila TCP/IP mínima, se debe evitar que el sistema operativo intente comunicarse con TCP en el mismo puerto que está usando fi6s, o interrumpiría el proceso de escaneo. En este caso, normalmente enviaría tramas RST.
De forma predeterminada, fi6s solicitará al sistema operativo que reserve un puerto efímero y lo utilice durante la exploración. Esto sólo funciona en Linux.
Si esto no funciona o está en una plataforma diferente, tendrá que usar un puerto de origen estático y configurar su firewall para eliminar el tráfico en este puerto, por ejemplo:
# ip6tables -A INPUT -p tcp -m tcp --dport 12345 -j DROP
# ./fi6s -p 22 --banners --source-port 12345 2001:db8::xx
Dado que UDP no tiene conexión, no hay necesidad de evitar interferencias, aunque sigue siendo una buena idea para evitar que su sistema operativo envíe respuestas ICMPv6 innecesarias e inalcanzables (fi6s también intenta esto de forma predeterminada).