# 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.

Estadísticas y monitorización de red con IPTraf


IPTraf
IPTraf

IPTraf es un excelente programa (para shell/consola) que permite recopilar estadísticas del tráfico de red en una máquina o LAN y además también permite monitorizar a tiempo real el tráfico de cada una de las interfaces de red del servidor, indicando el tráfico TCP/UDP, nº de paquetes recibidos/enviados, contador de bytes, etc.

Las características de la IPTraf son las siguientes:

  • Monitor de tráfico IP que muestra todo el tráfico IP que pasa a través de tu red, incluyendo información de TCP Flags, contador de paquetes y bytes, detalles ICMP y tipo de paquetes OSPF.
  • Estadísticas generales y detalladas de cada una de las interfaces de red, mostrando tráfico y contador de paquetes IP, TCP, UDP, ICMP, no-IP y otros contadores de paquetes IP, errores de IP checksum, actividad de las interfaces y contador de tamaño de paquetes.
  • Servicio de monitorización de paquetes de entrada y salida TCP y UDP de los puertos de aplicaciones comunes.
  • Estadísticas LAN, hosts activos y sus estadísticas de red
  • Filtros de vista para ver el tráfico de un determinado protocolo (TCP/UDP)
  • Sistema de logs.
  • Soporta interfaces Ethernet, FDDI, ISDN, SLIP, PPP, y loopback
  • Menú interactivo y pantalla completa.

Los protocolos que reconoce son los siguientes:

  • IP
  • TCP
  • UDP
  • ICMP
  • IGMP
  • IGP
  • IGRP
  • OSPF
  • ARP
  • RARP

IPTraf está disponible para descarga en los sistemas de paquetes de las siguientes distribuciones:

Merece la pena probarlo, os va a permitir monitorizar la red del servidor o LAN de una forma muy sencilla y con multitud de información al alcance de un par de teclas.

Diferencias entre protocolos de transporte TCP y UDP


Dentro del Modelo OSI, la capa de transporte (capa 4) tiene como función principal aceptar los datos enviados por las capas superiores, dividirlos en pequeñas partes si es necesario, y pasarlos a la capa de red, también se asegura que lleguen correctamente al otro lado de la comunicación.

Existen dos mecanismos o protocolos dentro de esta capa de transporte, el protocolo TCP (Transfer Control Protocol) y UDP (User Datagram Protocol).

TCP es un protocolo de transporte orientado a conexión, por ejemplo servicios como Telnet, FTP y SSH utilizan el protocolo TCP, ya que están orientados a conexión, la estación de trabajo A y la estación de trabajo B establecen comunicación/conexión. Al establecerse la comunicación entre las dos estaciones de trabajo, se asegura que el flujo de datos entre ellas sea fiable, asegurandose de que los datos llegan correctamente del emisor al destinatario, en el orden estipulado y completos.

Un ejemplo adapatado a la vida real y de forma muy básica de conexión TCP, podría ser la de una llamada telefónica, el sujeto A llama al sujeto B, hasta que B no coge el teléfono, la conexión no es aceptada, y cuando uno de los dos sujetos dice adiós, la conexión se da por finalizada.

UDP por el contrario es un protocolo en el que no hay conexión. Una estación de trabajo A envía datos a la estación de trabajo B de forma unidireccional, no establece previa conexión con ella, por lo que los datos son enviados sin saber si van a ser recibidos correctamente, en orden, completos, etc.

Como podréis imaginar, este protocolo de transporte es muchísimo menos fiable que TCP, suele ser utilizado para aplicaciones de streaming (video o audio) ya que en estas es más importante la recepción rápida de los datos que la verificación de los mismos, lo mismo sucede con los servicios DNS, aplicacion simple de tipo petición/respuesta.

Estas son las diferencias a un nivel muy básico de TCP y UDP, os recomiendo revisar este manual de administración de redes o la familia de protocolos de Internet si queréis profundizar en el tema.