systemadmin.es » Redes » Mostrar el contenido de los paquetes con tcpdump

Mostrar el contenido de los paquetes con tcpdump

Al realizar capturas con tcpdump suele resultar útil ver el contenido de los paquetes en hexadecimal, para ello disponemos de 4 opciones similares entre ellas.

Si consultamos el man de tcpdump vemos que tenemos las siguientes opciones:

       -x     Print each packet (minus its link level header) in hex.  The smaller of the entire packet or snaplen bytes will be printed.   Note  that  this  is  the  entire  link-layer
              packet, so for link layers that pad (e.g. Ethernet), the padding bytes will also be printed when the higher layer packet is shorter than the required padding.

       -xx    Print each packet, including its link level header, in hex.

       -X     Print each packet (minus its link level header) in hex and ASCII.  This is very handy for analysing new protocols.

       -XX    Print each packet, including its link level header, in hex and ASCII.

Como podemos ver, la diferencia entre la x minúscula con la mayúscula es que la mayúscula además de ver el contenido en hexadecimal, vemos el equivalente en ASCII. Por ejemplo, la siguiente captura la vemos mediante -x:

# tcpdump -nni eth0 -s 0 -x
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

09:15:30.844434 IP 172.20.0.100.44549 > 10.12.80.1.80: S 1603452947:1603452947(0) win 5840 <mss 1360,nop,nop,timestamp 264035685 0,nop,wscale 6>
        0x0000:  4500 003c 8f64 4000 3f06 a5d2 ac14 0064
        0x0010:  0a0c 5001 ae05 0050 5f92 c013 0000 0000
        0x0020:  a002 16d0 72f3 0000 0204 0550 0101 080a
        0x0030:  0fbc dd65 0000 0000 0103 0306
09:15:30.844452 IP 10.12.80.1.80 > 172.20.0.100.44549: S 2707621059:2707621059(0) ack 1603452948 win 5792 <mss 1460,nop,nop,timestamp 1647893691 264035685,nop,wscale 7>
        0x0000:  4500 003c 0000 4000 4006 3437 0a0c 5001
        0x0010:  ac14 0064 0050 ae05 a163 04c3 5f92 c014
        0x0020:  a012 16a0 8d92 0000 0204 05b4 0101 080a
        0x0030:  6238 dcbb 0fbc dd65 0103 0307
09:15:30.848292 IP 172.20.0.100.44549 > 10.12.80.1.80: . ack 1 win 92 <nop,nop,timestamp 264035688 1647893691>
        0x0000:  4500 0034 8f65 4000 3f06 a5d9 ac14 0064
        0x0010:  0a0c 5001 ae05 0050 5f92 c014 a163 04c4
        0x0020:  8010 005c cf9e 0000 0101 080a 0fbc dd68
        0x0030:  6238 dcbb
09:15:30.848530 IP 172.20.0.100.44549 > 10.12.80.1.80: P 1:635(634) ack 1 win 92 <nop,nop,timestamp 264035689 1647893691>
        0x0000:  4500 02ae 8f66 4000 3f06 a35e ac14 0064
        0x0010:  0a0c 5001 ae05 0050 5f92 c014 a163 04c4
        0x0020:  8018 005c 3815 0000 0101 080a 0fbc dd69
        0x0030:  6238 dcbb 4745 5420 2f6e 6167 696f 732f
        0x0040:  6367 692d 6269 6e2f 7374 6174 7573 2e63
        0x0050:  6769 3f6e 6176 6261 7273 6561 7263 683d

La misma captura con la opción -X vemos el equivalente ASCII:

# tcpdump -nni eth0 -s 0 -X
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

09:15:30.844434 IP 172.20.0.100.44549 > 10.12.80.1.80: S 1603452947:1603452947(0) win 5840 <mss 1360,nop,nop,timestamp 264035685 0,nop,wscale 6>
        0x0000:  4500 003c 8f64 4000 3f06 a5d2 ac14 0064  E..<.d@.?......d
        0x0010:  0a0c 5001 ae05 0050 5f92 c013 0000 0000  ..P....P_.......
        0x0020:  a002 16d0 72f3 0000 0204 0550 0101 080a  ....r......P....
        0x0030:  0fbc dd65 0000 0000 0103 0306            ...e........
09:15:30.844452 IP 10.12.80.1.80 > 172.20.0.100.44549: S 2707621059:2707621059(0) ack 1603452948 win 5792 <mss 1460,nop,nop,timestamp 1647893691 264035685,nop,wscale 7>
        0x0000:  4500 003c 0000 4000 4006 3437 0a0c 5001  E..<..@.@.47..P.
        0x0010:  ac14 0064 0050 ae05 a163 04c3 5f92 c014  ...d.P...c.._...
        0x0020:  a012 16a0 8d92 0000 0204 05b4 0101 080a  ................
        0x0030:  6238 dcbb 0fbc dd65 0103 0307            b8.....e....
09:15:30.848292 IP 172.20.0.100.44549 > 10.12.80.1.80: . ack 1 win 92 <nop,nop,timestamp 264035688 1647893691>
        0x0000:  4500 0034 8f65 4000 3f06 a5d9 ac14 0064  E..4.e@.?......d
        0x0010:  0a0c 5001 ae05 0050 5f92 c014 a163 04c4  ..P....P_....c..
        0x0020:  8010 005c cf9e 0000 0101 080a 0fbc dd68  ...\...........h
        0x0030:  6238 dcbb                                b8..
09:15:30.848530 IP 172.20.0.100.44549 > 10.12.80.1.80: P 1:635(634) ack 1 win 92 <nop,nop,timestamp 264035689 1647893691>
        0x0000:  4500 02ae 8f66 4000 3f06 a35e ac14 0064  E....f@.?..^...d
        0x0010:  0a0c 5001 ae05 0050 5f92 c014 a163 04c4  ..P....P_....c..
        0x0020:  8018 005c 3815 0000 0101 080a 0fbc dd69  ...\8..........i
        0x0030:  6238 dcbb 4745 5420 2f6e 6167 696f 732f  b8..GET./nagios/
        0x0040:  6367 692d 6269 6e2f 7374 6174 7573 2e63  cgi-bin/status.c
        0x0050:  6769 3f6e 6176 6261 7273 6561 7263 683d  gi?navbarsearch=

Tal como indica el man de tcpdump, repitiendo la x, ya sea mayúscula o minúscula, nos muestra además del paquete IP el header de la capa de enlace, por ejemplo con las -xx en minúsculas:

# tcpdump -nni eth0 -s 0 -xx
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

09:15:30.844434 IP 172.20.0.100.44549 > 10.12.80.1.80: S 1603452947:1603452947(0) win 5840 <mss 1360,nop,nop,timestamp 264035685 0,nop,wscale 6>
        0x0000:  001e dead dead 0010 beef beef 0800 4500
        0x0010:  003c 8f64 4000 3f06 a5d2 ac14 0064 0a0c
        0x0020:  5001 ae05 0050 5f92 c013 0000 0000 a002
        0x0030:  16d0 72f3 0000 0204 0550 0101 080a 0fbc
        0x0040:  dd65 0000 0000 0103 0306
09:15:30.844452 IP 10.12.80.1.80 > 172.20.0.100.44549: S 2707621059:2707621059(0) ack 1603452948 win 5792 <mss 1460,nop,nop,timestamp 1647893691 264035685,nop,wscale 7>
        0x0000:  0010 beef beef 001e c9ab ef73 0800 4500
        0x0010:  003c 0000 4000 4006 3437 0a0c 5001 ac14
        0x0020:  0064 0050 ae05 a163 04c3 5f92 c014 a012
        0x0030:  16a0 8d92 0000 0204 05b4 0101 080a 6238
        0x0040:  dcbb 0fbc dd65 0103 0307
09:15:30.848292 IP 172.20.0.100.44549 > 10.12.80.1.80: . ack 1 win 92 <nop,nop,timestamp 264035688 1647893691>
        0x0000:  001e dead dead 0010 beef beef 0800 4500
        0x0010:  0034 8f65 4000 3f06 a5d9 ac14 0064 0a0c
        0x0020:  5001 ae05 0050 5f92 c014 a163 04c4 8010
        0x0030:  005c cf9e 0000 0101 080a 0fbc dd68 6238
        0x0040:  dcbb
09:15:30.848530 IP 172.20.0.100.44549 > 10.12.80.1.80: P 1:635(634) ack 1 win 92 <nop,nop,timestamp 264035689 1647893691>
        0x0000:  001e dead dead 0010 beef beef 0800 4500
        0x0010:  02ae 8f66 4000 3f06 a35e ac14 0064 0a0c
        0x0020:  5001 ae05 0050 5f92 c014 a163 04c4 8018
        0x0030:  005c 3815 0000 0101 080a 0fbc dd69 6238
        0x0040:  dcbb 4745 5420 2f6e 6167 696f 732f 6367
        0x0050:  692d 6269 6e2f 7374 6174 7573 2e63 6769
        0x0060:  3f6e 6176 6261 7273 6561 7263 683d 3126

Y con las -XX obtenemos lo mismo con el equivalente ASCII:

# tcpdump -nni eth0 -s 0 -XX
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

09:15:30.844434 IP 172.20.0.100.44549 > 10.12.80.1.80: S 1603452947:1603452947(0) win 5840 <mss 1360,nop,nop,timestamp 264035685 0,nop,wscale 6>
        0x0000:  001e dead dead 0010 beef beef 0800 4500  .....s........E.
        0x0010:  003c 8f64 4000 3f06 a5d2 ac14 0064 0a0c  .<.d@.?......d..
        0x0020:  5001 ae05 0050 5f92 c013 0000 0000 a002  P....P_.........
        0x0030:  16d0 72f3 0000 0204 0550 0101 080a 0fbc  ..r......P......
        0x0040:  dd65 0000 0000 0103 0306                 .e........
09:15:30.844452 IP 10.12.80.1.80 > 172.20.0.100.44549: S 2707621059:2707621059(0) ack 1603452948 win 5792 <mss 1460,nop,nop,timestamp 1647893691 264035685,nop,wscale 7>
        0x0000:  0010 beef beef 001e dead dead 0800 4500  ...........s..E.
        0x0010:  003c 0000 4000 4006 3437 0a0c 5001 ac14  .<..@.@.47..P...
        0x0020:  0064 0050 ae05 a163 04c3 5f92 c014 a012  .d.P...c.._.....
        0x0030:  16a0 8d92 0000 0204 05b4 0101 080a 6238  ..............b8
        0x0040:  dcbb 0fbc dd65 0103 0307                 .....e....
09:15:30.848292 IP 172.20.0.100.44549 > 10.12.80.1.80: . ack 1 win 92 <nop,nop,timestamp 264035688 1647893691>
        0x0000:  001e dead dead 0010 beef beef 0800 4500  .....s........E.
        0x0010:  0034 8f65 4000 3f06 a5d9 ac14 0064 0a0c  .4.e@.?......d..
        0x0020:  5001 ae05 0050 5f92 c014 a163 04c4 8010  P....P_....c....
        0x0030:  005c cf9e 0000 0101 080a 0fbc dd68 6238  .\...........hb8
        0x0040:  dcbb                                     ..
09:15:30.848530 IP 172.20.0.100.44549 > 10.12.80.1.80: P 1:635(634) ack 1 win 92 <nop,nop,timestamp 264035689 1647893691>
        0x0000:  001e dead dead 0010 beef beef 0800 4500  .....s........E.
        0x0010:  02ae 8f66 4000 3f06 a35e ac14 0064 0a0c  ...f@.?..^...d..
        0x0020:  5001 ae05 0050 5f92 c014 a163 04c4 8018  P....P_....c....
        0x0030:  005c 3815 0000 0101 080a 0fbc dd69 6238  .\8..........ib8
        0x0040:  dcbb 4745 5420 2f6e 6167 696f 732f 6367  ..GET./nagios/cg
        0x0050:  692d 6269 6e2f 7374 6174 7573 2e63 6769  i-bin/status.cgi
        0x0060:  3f6e 6176 6261 7273 6561 7263 683d 3126  ?navbarsearch=1&

En la primera linea del volcado hexadecimal podemos encontrar las MACs de los equipos implicados, por ejemplo en este trozo:

09:15:30.848530 IP 172.20.0.100.44549 > 10.12.80.1.80: P 1:635(634) ack 1 win 92 <nop,nop,timestamp 264035689 1647893691>
        0x0000:  001e dead dead 0010 beef beef 0800 4500  .....s........E.

Sabiendo que hemos realizado la captura en el equipo que recibe la conexión sabemos que su MAC es la primera 001e dead dead y la otra MAC es la del equipo que le esta mandando los paquetes (el gateway) ya que los equipos están en redes diferentes.

Relacionados

Imprimir Imprimir

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>