# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Truco Nmap: comprobar conectividad con un puerto UDP


Un truco rápido de Nmap que nos permite comprobar si un puerto UDP está escuchando en una máquina remota (para local utilizaríamos netstat).

# nmap -p PUERTO -sU -P0 IP

Por ejemplo, si queremos comprobar si la máquina 192.168.0.150 tiene a la escucha el puerto UDP 161 del servicio SNMP:

# nmap -p 161 -sU -P0 192.168.0.150

Starting Nmap 5.00 ( http://nmap.org ) at 2010-03-26 18:11 CET
Interesting ports on servidor_xx (192.168.0.150):
PORT    STATE         SERVICE
161/udp open|filtered snmp
MAC Address: xx:xx:xx:xx:xx:xx 

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

En la salida podéis comprobar que el puerto está a la escucha, si fuera lo contrario veríamos en el estado closed.

Escanear rango de Ips


Existen muchas formas de escanear desde shell un rango de IPs o subnet, por ejemplo con nmap o creando un script en bash, perl, etc. No obstante aquí va una forma sencilla que he encontrado en Shell Fu:

for IP in 192.168.1.{1..10}; do if ping $IP -c 1 > /dev/null; then echo $IP alive; else echo $IP dead; fi; done

Y la salida (escaneo desde la 192.168.1.1 a 192.168.1.10

~$ for IP in 192.168.1.{1..10}; do if ping $IP -c 1 > /dev/null; then echo $IP alive; else echo $IP dead; fi; done
192.168.1.1 alive
192.168.1.2 dead
192.168.1.3 dead
192.168.1.4 dead
192.168.1.5 dead
192.168.1.6 dead
192.168.1.7 dead
192.168.1.8 dead
192.168.1.9 dead
192.168.1.10 dead