Uso de netcat: Herramientas UNIX (III)
Para el pruebas de configuraciones del firewall suele ser útil poder levantar el netcat en un puerto determinado o conectar a el en modo cliente. Vamos a ver como hacerlo tanto mediante TCP como UDP.
modo TCP
- Para usar netcat en modo cliente lo podemos hacer con la misma sintaxis que telnet:
# nc <host> <puerto>
Podemos ver un ejemplo haciendo un GET a systemadmin.es a el puerto 80:
# echo "GET /\n" | nc systemadmin.es 80
- En el caso de modo servidor (escuchar con netcat a un determinado puerto TCP) lo haremos con el parámetro -l (listen)
# nc -l 8080
Mediante -v podemos ver en el lado servidor las conexiones:
# nc -v -l 8080 Connection from 127.0.0.1 port 8080 [tcp/webcache] accepted
Resulta especialmente útil para automatizar tareas, por ejemplo podemos usar netcat para mandar un correo:
nc localhost 25 << EOF HELO local.domain.name MAIL FROM: ejemplo@fakemail.com RCPT TO: info@systemadmin.es DATA Subject: email entregado con telnet esto es el cuerpo del mensaje . QUIT EOF
modo UDP
El modo UDP es equivalente al modo TCP añadiendo el flag -u para usar UDP:
$ nc -u ns1.slashdot.org 53
Y el modo servidor (escuchar el puerto UDP 53)
$ nc -l -u 53
Mediante netcat en cualquier de los dos modos podemos incluso transferir ficheros. Por ejemplo, en el servidor destino ejecutamos lo siguiente:
# nc -l destino.ejemplo.com 5555 > ejemplo.info
Mientras que en el servidor origen nos pasamos el fichero y se lo mandamos por pipe al servidor destino:
# cat /etc/hosts | nc destino.ejemplo.com 5555
Relacionados
Imprimir
Deja un comentario: