nmap localhost UDP falla al escanear, aunque Netcat esté escuchando

1

Abro dos ventanas de terminal en mi caja de linux. En uno, tengo un netcat que escucha un puerto UDP y en otro I nmap -sU ese puerto. Netcat recibe la conexión y los datos, pero nmap informa que el puerto udp está cerrado. También veo un puerto ICMP inalcanzable en los registros de nmap (no estoy seguro de por qué el sistema operativo lo está enviando). He intentado --max-reintentos 1 también. Cualquier consejo es muy apreciado.

$ nc -l -u -p 12345 -v
listening on [any] 12345 ...
connect to [127.0.0.1] from localhost [127.0.0.1] 65188
test

En una ventana diferente

$ sudo nmap -Pn -sU -p 12345 localhost --data-string test -vvv --packet-trace

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2015-10-15 19:29 EDT
Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1.
Initiating UDP Scan at 19:29
Scanning localhost (127.0.0.1) [1 port]
SENT (0.0481s) UDP 127.0.0.1:65188 > 127.0.0.1:12345 ttl=42 id=17191 iplen=32 
RCVD (0.0479s) UDP 127.0.0.1:65188 > 127.0.0.1:12345 ttl=42 id=17191 iplen=32 
SENT (1.0482s) UDP 127.0.0.1:65189 > 127.0.0.1:12345 ttl=59 id=50254 iplen=32 
RCVD (1.0482s) UDP 127.0.0.1:65189 > 127.0.0.1:12345 ttl=59 id=50254 iplen=32 
RCVD (1.0482s) ICMP [127.0.0.1 > 127.0.0.1 Port 12345 unreachable (type=3/code=3) ] IP [ttl=64 id=4558 iplen=60 ]
Completed UDP Scan at 19:29, 1.20s elapsed (1 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up, received user-set (0.000067s latency).
Other addresses for localhost (not scanned): ::1
Scanned at 2015-10-15 19:29:52 EDT for 2s
PORT      STATE  SERVICE REASON
12345/udp closed unknown port-unreach ttl 64

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 1.25 seconds
           Raw packets sent: 2 (64B) | Rcvd: 3 (124B)
    
pregunta zonked.zonda 16.10.2015 - 01:37
fuente

2 respuestas

2

Con netcat:

  

En el modo de escucha, controla la dirección en la que Ncat escucha; Si   lo omite, Ncat se unirá a todas las interfaces locales (INADDR_ANY). Si   el número de puerto se omite, Ncat utiliza su puerto predeterminado 31337.   Por lo general, solo los usuarios privilegiados (raíz) pueden vincularse a un número de puerto inferior   1024. Un servidor TCP que escucha normalmente acepta solo una conexión   y saldrá después de que el cliente se desconecte. Combinado con el   - Manteniendo la opción abierta, Ncat acepta múltiples conexiones simultáneas hasta el límite de conexión. Con --keep-open (o -k para abreviar), el servidor   recibe todo lo enviado por cualquiera de sus clientes, y todo lo que el   El servidor envía se envía a todos ellos. Un servidor UDP se comunicará   con un solo cliente (el primero en enviar datos), porque en UDP   no hay una lista de clientes "conectados".

Entonces, cuando nmap intentará la conexión, nc saldrá después del primer paquete recibido. Pero nmap, para probar un puerto, enviará varios paquetes. Por lo tanto, el segundo paquete se perderá y nmap considerará que el puerto está inutilizado y, además, su sistema operativo enviará un puerto ICMP inalcanzable para la segunda prueba.

Si desea probar sus puertos UDP y tiene un resultado open en nmap, debe forzar a nmap a hacer solo una conexión: nmap -Pn -sU -p 12345 localhost -vvv --max-retries 0

    
respondido por el Sorcha 16.10.2015 - 08:42
fuente
0

netcat solo permite una conexión a la vez. ncat puede permitir múltiples "conexiones" simultáneas. Veo el resultado de escaneo esperado con --max-reintentos 0.

    
respondido por el zonked.zonda 16.10.2015 - 01:50
fuente

Lea otras preguntas en las etiquetas