puertos para kali escaneo escanear curso comandos comando abiertos centos port

centos - para - nmap linux



¿Está abierto el escaneo de un rango/subred IP completo para el puerto 80? (2)

nmap al rescate! :

nmap -Pn -p80 --open 46.105.0.0/16

... obtendrá una lista de los hosts que responden en tcp/80 y la salida nmap correspondiente;

  • -Pn : omite la prueba de ping, ya que solo te importa un puerto abierto
  • --open : devuelve solo las direcciones IP para las que está abierto el puerto

Con un poco de awk (y grep , porque soy flojo y no tan bueno en awk , ¿podría un maestro del awk arreglar esto para mí?), Puedes obtener solo la lista de direcciones IP:

nmap -Pn -p80 --open 46.105.0.0/16 | grep 46.105 | awk ''{print $5}NF == 6{print $6}''

nmap también tiene opciones para dar salida a archivos en formatos específicos, o puede simplemente > a un archivo:

nmap -Pn -p80 --open 46.105.0.0/16 | grep 46.105 | awk ''{print $5}NF == 6{print $6}'' > output.txt

Necesito una forma rápida y eficiente de escanear un rango de ip para el puerto 80 abierto.

Entonces, por ejemplo, si quería escanear el rango de OVH IP "46.105.0.0/16", necesito escanear cada ip en ese rango y generar una lista de cada ip con el puerto 80 abierto.

46.105.0.51 46.105.0.72 46.105.0.91 46.105.0.7 46.105.0.15

Necesito escanear varias subredes y necesito que salga a un archivo.

Editar: también estoy ejecutando CentOS en mi caja dedicada con un enlace ascendente de 1 Gbit.


Para cualquiera que lea esta publicación que no tenga acceso a nmap, esta es una forma rápida y rudimentaria de escanear el puerto 80 de la red. Lo único que necesita este script es ipcalc, que probablemente esté disponible.

#!/bin/bash # easier to end the script if signal is caught trap exit 1 2 3 4 5 6 7 8 # define a function that emulate netcat by opening a port to an ip via file descriptor netcat() { exec 20<>/dev/tcp/${1}/${2} } # using ipcalc, get the nwtork address and the broadcast address and make both $NETWORK and $BROADCAST available to the script export $(ipcalc -b -n $1) # Convert the NETWORK and BROADCAST from dotted notation to hex printf -v startHexIP "%0.2x%0.2x%0.2x%0.2x" $(tr ''/.'' '' '' <<< $NETWORK) printf -v endHexIP "%0.2x%0.2x%0.2x%0.2x" $(tr ''/.'' '' '' <<< $BROADCAST) # computations are done in decimal so we need decimal representation of the BROADCAST address to control the list of IP addresses printf -v endDecIP "%d" 0x${endHexIP} # legitimate IP addresses start from NETWORK ADDRESS + 1 and end at BROADCAST ADDRESS - 1 for((i=$(( 0x$startHexIP + 1 )); i<$endDecIP; i++)); do # $i is in decimal. we need to convert to hex printf -v hexI "%8.8x" $i # convert hex to dotted notation. printf -v ip "%d.%d.%d.%d" 0x${hexI:0:2} 0x${hexI:2:2} 0x${hexI:4:2} 0x${hexI:6:2} if (netcat $ip 80 > /dev/null 2>&1); then echo $ip fi done

El script se puede ejecutar pasando solo un argumento, <network>/<prefix> .

Ejemplo.

./script 192.168.1.5/23