Verificar tráfico tcp/ip entre hosts con netcat

Hoy vamos con una entrada rápida. Se trata de un método sencillo para comprar la conectividad tcp/ip entre dos o más hosts a través de un determinado puerto, tanto TCP como UDP.

Por ejemplo, tengo dos hosts, host1 y host2,  y quiero verificar que host2 tienen acceso al puerto 8989 TCP del host1. COn el siguiente comando el host1 empieza a escuchar a través del puerto 8989 TCP:

host1:~$ nc -l 9898

Especificamos con «-l» que escuche en el puerto indicado. Si es TCP no hace falta indicarlo, es el comportamiento por defecto, si fuera UDP:

host1:~$ nc -l -u 9898

Automáticamente el proceso de netcat comienza a escuchar en el puerto especificado:

host1:~$ netstat -natp | grep -i listen
tcp        0      0 0.0.0.0:9898            0.0.0.0:*               LISTEN      4203/nc

Ahora, en el host2 nos podemos conectar con netcat (también podríamos con telnet) al puerto y generar tráfico:

host2:~$ nc host1 9898
test, probando, 1 ,2 , 3

Recibiremos los datos en el host1 a través de la conexión abierta que hemos realizado antes con netcat:

host1:~$ nc -l 9898
test, probando, 1 ,2 , 3

Si no recibimos los datos en el host1, sería el momento de utilizar otras herramientas como tcpdump.