Tcpdump basico

14

Click here to load reader

Transcript of Tcpdump basico

Page 1: Tcpdump basico

tcpdump BASICO

Josu OrbeDpto. Electrónica y Comunicaciones

POLITEKNIKA IKASTEGIA TXORIERRI S.CoopRev. 2017 Otsaila

Page 2: Tcpdump basico

tcpdump BÁSICO

INTRODUCCIÓN:

Tcpdump es una herramienta para línea de comandos cuya utilidad principal es analizar el tráfico que circula por la red.

Permite al usuario capturar y mostrar en tiempo real los paquetes transmitidos y recibidos por la red a la cual el ordenador está conectado.

Tcpdump funciona en la mayoría 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 biblioteca libpcap para capturar los paquetes que circulan por la red.

Existe una adaptación de tcpdump para los sistemas Microsoft Windows llamada WinDump y que hace uso de la biblioteca Winpcap.

Page 3: Tcpdump basico

tcpdump BÁSICO

USOS 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

Page 4: Tcpdump basico

tcpdump BÁSICO

SINTAXIS DE tcpdump:

# tcpdump -i <interface> <opciones>

Page 5: Tcpdump basico

tcpdump BÁSICO

EJEMPLOS DE tcpdump (1):

# tcpdump -i eth0

Este comando captura el tráfico con la tarjeta eth0

# tcpdump -i eth0 -n

Este comando captura el tráfico con la tarjeta eth0 y no resuelve los nombres de los equipos mostrándonos las direcciones IP

Page 6: Tcpdump basico

tcpdump BÁSICO

EJEMPLOS DE tcpdump (2):

# tcpdump -i eth0 -n -c 1 -t -A

En este ejemplo añadimos tres nuevas opciones: ● -c 1 : capturar solo un paquete● -t no mostrar la hora, ● -A muestra los paquetes en ASCII

Page 7: Tcpdump basico

tcpdump BÁSICO

EJEMPLOS DE tcpdump (3):

Otra opción interesante es: -s len, donde "len" es la longitud de la trama.

Por defecto tcpdump sólo captura los primeros 68 bytes, lo cual es útil si lo único que se quiere son las cabeceras IP, TCP o UDP.

Si se desean capturar más datos de la trama procederemos a modificar el valor de “len”. Por ejemplo si queremos obtener tramas completas podemos ajustar la longitud de la captura a la MTU del medio en el que estamos.

Por ejemplo para capturar toda la trama Ethernet podemos usar -s 1500 o -s 0

Page 8: Tcpdump basico

tcpdump BÁSICO

EJEMPLOS DE tcpdump. Filtros (1):

# tcpdump -i eth0 host <IP>

Este comando captura solo el tráfico proveniente o con destino en la dirección IP indicada.

Podemos definir si queremos capturar las tramas cuyo origen sea esa IP con la opción scr o las tramas cuyo destino sea esa IP con la opción dst.

Por ejemplo: # tcpdump -i eth0 dst host 192.168.1.100

Nos capturará las tramas cuya IP destino sea 192.168.1.100

# tcpdump -i eth0 src host 192.168.1.200

Nos capturará las tramas cuya IP origen sea 192.168.1.200

Page 9: Tcpdump basico

tcpdump BÁSICO

EJEMPLOS DE tcpdump. Filtros (2):

También podemos combinar distintas opciones con los comandos and y or. Por ejemplo:

# tcpdump -i eth0 dst host 192.168.1.100 or src host 192.168.1.101

Nos capturará las tramas cuya IP destino sea 192.168.1.100 o la IP origen 192.168.1.101

Así mismo podemos hacer que no aparezcan determinadas tramas con la negación not.

# tcpdump -i eth0 not dst host 192.168.1.100

Nos capturará todas las tramas excepto aquellas cuya IP destino sea 192.168.1.100

Page 10: Tcpdump basico

tcpdump BÁSICO

EJEMPLOS DE tcpdump. Filtros (3):

Podemos también capturar las tramas de una determinada red con la opción net. Por ejemplo:

# tcpdump -i eth0 net 192.168.1

Nos capturará todas las tramas de la red 192.168.1.0

Page 11: Tcpdump basico

tcpdump BÁSICO

EJEMPLOS DE tcpdump. Filtros (4):

Podemos también capturar las tramas de una determinada red con la opción net. Por ejemplo:

# tcpdump -i eth0 net 192.168.1

Nos capturará todas las tramas de la red 192.168.1.0

Page 12: Tcpdump basico

tcpdump BÁSICO

EJEMPLOS DE tcpdump. Filtros (5):

Igualmente podemos capturar las tramas según el puerto origen o el puerto destino con la opción port. Por ejemplo:

# tcpdump -i eth0 port 80

Nos capturará todas las tramas que utilicen el protocolo http pues este utiliza el puerto 80 para establecer las conexiones.

El siguiente comando nos captura todas las tramas excepto las que utilicen el puerto 22 (ssh)

# tcpdump -i eth0 not dst port 22

Page 13: Tcpdump basico

tcpdump BÁSICO

EJEMPLOS DE tcpdump. Filtros (6):

Finalmente debemos saber que es posible filtrar las tramas capturadas en función del protocolo utilizado: tcp, udp, icmp, rarp, ip, ip6, igrp, icmp6, igmp, etc.

Por ejemplo, si queremos ver solo las tramas icmp producidas por el comando ping y otros...

# tcpdump -i eth0 icmp

Page 14: Tcpdump basico

tcpdump BÁSICO

ERREFERENTZIAK:

• Proiektuaren webgunea: http://www.tcpdump.org• Windump: http://www.winpcap.org/windump

• Wikipedia:• Tcpdump: https://es.wikipedia.org/wiki/Tcpdump

• Otras referencias:• http://www.hackplayers.com/2013/12/que-deberiamos-saber-sobre-tcpdump-1.html• http://www.hackplayers.com/2013/12/que-deberiamos-saber-sobre-tcpdump-2.html• http://www.hackplayers.com/2014/01/que-deberiamos-saber-sobre-tcpdump-3.html

Lan hau Creative Commons Aitortu-Partekatu Berdin 3.0 Unported Lizentziaren menpe dago.