Sei sulla pagina 1di 6

UNIVERSIDAD TECNICA DEL NORTE

FICA
ELECTRONICA Y REDES DE COMUNICACIONES
NETWORKING III
POR. Danilo Ivan Rosales

FECHA. 30 de junio del 2017

TCPDUMP
Es la mejor herramienta de lnea de comandos en Linux y Unix para analizar e interceptar trfico
de red entrante y saliente de las redes a las que el equipo en el que se ejecuta est conectado.
Son necesarios privilegios de superusuario en la mayora de sistemas Unix para poder ejecutarlo,
aunque es posible establecer la configuracin de tal forma que pueda ser utilizado por usuarios
sin privilegios de superuser. Para la captura de paquetes, tcpdump utiliza la librera libpcap.
Adems de esnifar trfico o capturar paquetes de red, tcpdump tambin puede leer el contenido
de un fichero en el cual previamente se han volcado los paquetes de red. Tambin puede escribir
en salida estndar (por defecto) o a un fichero el trfico capturado.
Vamos con lo interesante, que es el modo de utilizar la herramienta y los parmetros ms
bsicos y comunes que se aplican para capturar paquetes.

Funcionamiento
Tcpdump diagnostica las redes TCP/IP y su resultado final o salida del comando los presenta en
formato legible, comnmente denominado sniffer. No es intrnsecamente peligroso, y es de
gran utilidad para los administradores de redes que necesiten ver el trfico para poder buscar
problemas en una red. Soporta operadores booleanos de bsqueda y puede utilizar nombres
de host, direcciones IP, nombres de red, y protocolos como argumentos.
El usuario puede aplicar varios filtros para que sea ms depurada la salida. Un filtro es una
expresin que va detrs de las opciones y que nos permite seleccionar los paquetes que estamos
buscando. En ausencia de sta, el tcpdump volcar todo el trfico que vea el adaptador de red
seleccionado.

Aplicaciones de tcpdump

Para depurar aplicaciones que utilizan la red para comunicar.


Para depurar la red misma.
Para capturar y leer datos enviados por otros usuarios u ordenadores. Algunos protocolos
como telnet y HTTP no cifran los datos que envan en la red. Un usuario que tiene el control
de un router a travs del cual circula trfico no cifrado puede usar tcpdump para conseguir
contraseas u otras informaciones.
Requerimientos para tcpdump
tcpdump funciona en la mayora de los sistemas operativos UNIX, Linux, Solaris, BSD, Mac OS
X, HP-UX y AIX entre otros. En esos sistemas, tcpdump hace uso de la librera libpcap para
capturar los paquetes que circulan por la red.
Existe una adaptacin de tcpdump para los sistemas Windows que se llama WinDump y que
hace uso de la biblioteca Winpcap.
En UNIX y otros sistemas operativos, es necesario tener los privilegios del root para utilizar
tcpdump.
Instalar tcpdump

Algunas Utilizaciones:

EJEMPLOS

Interfaz de red a capturar


Para capturar todo el trfico de entrada y salida de una interfaz de red concreta (eth0,
eth1), se utiliza parmetro -i seguido del identificador de interfaz en el sistema operativo:

Como podis observar, al final de la ejecucin, cuando cancelamos (CTRL + C) se muestran las
estadsticas de paquetes capturados, recibidos por los filtros especificados y los filtrados por el
kernel.
Para ver un listado de las interfaces disponibles para capturar trfico con tcpdump, le pasamos
el parmetro -D:
Capturar trfico y enviar a un fichero de texto
Por defecto el dump del trfico es redirigido a salida estndar, podemos volcarlo a un fichero
con el parmetro -w seguido del fichero:

Protocolo a capturar (TCP, UDP, ICMP, ARP)


Adems de especificar la interfaz de red por la que queremos capturar trfico, tambin
podemos especificar si el trfico a capturar es TCP, UDP, ICMP, ARP:

Puerto a capturar
Podemos seguir acotando ahora adems del protocolo especificamos el puerto sobre el cual
queremos capturar el trfico, por ejemplo el puerto TCP 80 para capturar trfico HTTP:

O el trfico DNS por el puerto UDP 53:

Host o IP de origen/destino
Especificamos todava ms, capturamos el trfico TCP por el puerto 80, pero slo visualizamos
el trfico originado desde la IP 192.168.1.100. Para ello usamos el parmetro src. Como
estamos utilizando ms de un parmetro, debemos comenzar a aadir condicionales (and|or).
El siguiente ejemplo captura el trfico que cumple las dos condiciones, puerto TCP 80 y origen
IP 192.168.1.100:

Al igual que existe IP/host de origen, existe de destino, el parmetro es dst. En este ejemplo
usamos el condicional or en lugar de and, de modo que para que se capture trfico, o
viene por el puerto 80 TCP o tiene destino la IP 192.168.1.100 (sea cual sea el puerto y
protocolo):

Mostrar el contenido de los paquetes en formato ASCII


El parmetro -A volcar el contenido del paquete en formato ASCII:

Capturar todo el trfico excepto ciertas condiciones


Adems de los condicionales and|or que comentaba antes, tambin podemos utilizar not
para descartar cierto trfico. Por ejemplo, vamos a capturar todo el trfico a excepcin del
trfico por protocolo ICMP:

Tambin podemos usar varias condiciones. Por ejemplo, capturar todo el trfico a excepcin
del ICMP y el TCP:

Informacin extendida (verbose)


Hay dos niveles de verbose, -v y -vv:

Leer captura de trfico almacenada en un archivo

Para leer el contenido de un archivo utilizamos el parmetro -r. El contenido del archivo ha
sido generado previamente con el parmetro -w.
Formato de salida

Es complicado explicar el formato de salida de tcpdump ya que es diferente segn el protocolo


que estemos capturando. Por ejemplo, el formato normal de una lnea que captura protocolo
tcp es el siguiente:

El de ARP:

BIBLIOGRAFIA
http://www.tcpdump.org/manpages/tcpdump.1.html#lbAD

http://www.hackplayers.com/2013/12/que-deberiamos-saber-sobre-tcpdump-1.html

http://www.webvigo.com/blog/que-es-tcpdump-instalacion-y-uso/

https://www.ecured.cu/Tcpdump

http://rm-rf.es/tcpdump-ejemplos/

https://rodas5.us.es/file/5f34b2db-4d02-48f4-ad13-
e299160ac6eb/1/configuracion_y_monitorizacion_de_redes_en_linux_scorm.zip/page_11.ht
m

Potrebbero piacerti anche