Tcpdump

De WikiCat IT
Dreceres ràpides: navegació, cerca

El tcpdump és una eina de línia de comandes que permet visualitzar el tràfic de la xarxa (Packet Sniffer)

En una LAN amb switch no podrem veure mai el trànsit d'altres màquines. Només veurem el trànsit de la nostra màquina i els paquets de broadcast. Això és degut a que un switch "reparteix" les trames a les màquines a qui van adreçades, cosa que no fa un hub.

Instal·lació

apt-get install tcpdump

Execució

tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

Per defecte escoltarà l'adaptador de xarxa eth0. Si volem escoltar un altre adaptador, hem de fer servir la següent comanda:

tcpdump -i lo (Si volem escoltar el trànsit de l'adaptador de loopback, per exemple)

El tcpdump només mostra la informació de les capçaleres (no mostra pas les dades dels paquets). Si volem veure les dades hem d'utilitzar el paràmetre -X.

En el següent exemple veiem la captura d'un ping:

root@isabel-desktop:~# tcpdump -i eth0 -X
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
01:32:12.277277 IP isabel-desktop.local > isabel-desktop-2.local: ICMP echo request, id 50958, seq 6, length 64
	0x0000:  4500 0054 0000 4000 4001 b640 c0a8 0123  E..T..@.@..@...#
	0x0010:  c0a8 01f5 0800 3dc2 c70e 0006 7c3e 5f4c  ......=.....|>_L
	0x0020:  279b 0500 0809 0a0b 0c0d 0e0f 1011 1213  '...............
	0x0030:  1415 1617 1819 1a1b 1c1d 1e1f 2021 2223  .............!"#
	0x0040:  2425 2627 2829 2a2b 2c2d 2e2f            $%&'()*+,-./
01:32:12.277398 IP isabel-desktop-2.local > isabel-desktop.local: ICMP echo reply, id 50958, seq 6, length 64
	0x0000:  4500 0054 cea6 0000 4001 279a c0a8 01f5  E..T....@.'.....
	0x0010:  c0a8 0123 0000 45c2 c70e 0006 7c3e 5f4c  ...#..E.....|>_L
	0x0020:  279b 0500 0809 0a0b 0c0d 0e0f 1011 1213  '...............
	0x0030:  1415 1617 1819 1a1b 1c1d 1e1f 2021 2223  .............!"#
	0x0040:  2425 2627 2829 2a2b 2c2d 2e2f            $%&'()*+,-./

Opcions

A continuació tenim un llistat de les opcions que es poden fer servir amb el tcpdump:

  • -i any : Escolta totes les interfícies de xarxa.
  • -n : No resol els noms de màquina.
  • -nn : No resol els noms de màquina ni ports
  • -x : Mostra el contingut del paquet en hexadecimal.
  • -xx : Igual que l'anterior però a més mostra la capçalera Ethernet
  • -X : Mostra el contingut del paquet en hexadecimal i ASCII.
  • -XX : Igual que l'anterior però a més mostra la capçalera Ethernet
  • -v, -vv, -vvv : Incrementa el nombre d'informació del paquet
  • -c n : Només obtenir n paquets
  • -S : Mostra els números de seqüència de forma absoluta
  • -e : Obtenir també la capçalera Ethernet
  • -q : Mostrar menys informació del protocol.
  • -s nbytes : estableix en nombre de bytes la quantitat de dades capturades. Amb -s 0 es captura tot el paquet.

Exemple de captura d'un Telnet

Amb aqueat exemple es pretèn comprovar que el protocol Telnet és insegur. Fem els següents passos:

1. Si no tenim un servidor de telnet, l'isntal·lem ara en una màquina (Màquina 1):

apt-get install telnetd

2. Amb l'altra màquina ens connectem via telnet amb el servidor (Màquina 2):

telnet IP_màquina_remota

3. Executem el tcpdump en la Màquina 1:

tcpdump -X port 23

4. En la Màquina 2 escrivim qualsevol cosa:

isabel@ubuntu:~$ hola
No command 'hola' found, did you mean:
Command 'cola' from package 'git-cola' (universe)
hola: command not found

5. I comprovem que tot el text el podem trobar amb la resposta del tcpdump:

 01:49:18.959325 IP ubuntu.local.telnet > isabel-desktop-2.local.42367: Flags [P.], seq 7:45, ack 6, win 181, options [nop,nop,TS val 2999603 ecr 2834824], length 38
	<pre>0x0000:  4510 005a b30c 4000 4006 0242 c0a8 01fa  E..Z..@.@..B....
	0x0010:  c0a8 01f5 0017 a57f 2e45 830b 2c14 4f4b  .........E..,.OK
	0x0020:  8018 00b5 f357 0000 0101 080a 002d c533  .....W.......-.3
	0x0030:  002b 4188 4e6f 2063 6f6d 6d61 6e64 2027  .+A.No.command.
	0x0040:  686f 6c61 2720 666f 756e 642c            'hola'.found,
  01:49:18.959374 IP isabel-desktop-2.local.42367 > ubuntu.local.telnet: Flags [.], ack 45, win 216, options [nop,nop,TS val 2835003 ecr 2999603], length 0
	0x0000:  4510 0034 e1af 4000 4006 d3c4 c0a8 01f5  E..4..@.@.......
	0x0010:  c0a8 01fa a57f 0017 2c14 4f4b 2e45 8331  ........,.OK.E.1
	0x0020:  8010 00d8 1672 0000 0101 080a 002b 423b  .....r.......+B;
	0x0030:  002d c533                                .-.3
  01:49:18.962256 IP ubuntu.local.telnet > isabel-desktop-2.local.42367: Flags [P.], seq 45:124, ack 6, win 181, options [nop,nop,TS val 2999604 ecr 2835003], length 79
	0x0000:  4510 0083 b30d 4000 4006 0218 c0a8 01fa  E.....@.@.......
	0x0010:  c0a8 01f5 0017 a57f 2e45 8331 2c14 4f4b  .........E.1,.OK
	0x0020:  8018 00b5 a5b8 0000 0101 080a 002d c534  .............-.4
	0x0030:  002b 423b 0d0a 2043 6f6d 6d61 6e64 2027  .+B;...Command.'
	0x0040:  636f 6c61 2720 6672 6f6d 2070            cola'.from.p
  01:49:18.962286 IP isabel-desktop-2.local.42367 > ubuntu.local.telnet: Flags [.], ack 124, win 216, options [nop,nop,TS val 2835004 ecr 2999604], length 0
	0x0000:  4510 0034 e1b0 4000 4006 d3c3 c0a8 01f5  E..4..@.@.......
	0x0010:  c0a8 01fa a57f 0017 2c14 4f4b 2e45 8380  ........,.OK.E..
	0x0020:  8010 00d8 1621 0000 0101 080a 002b 423c  .....!.......+B<
	0x0030:  002d c534                                .-.4
  01:49:18.983876 IP ubuntu.local.telnet > isabel-desktop-2.local.42367: Flags [P.], seq 124:162, ack 6, win 181, options [nop,nop,TS val 2999609 ecr 2835004], length 38
	0x0000:  4510 005a b30e 4000 4006 0240 c0a8 01fa  E..Z..@.@..@....
	0x0010:  c0a8 01f5 0017 a57f 2e45 8380 2c14 4f4b  .........E..,.OK
	0x0020:  8018 00b5 ebc9 0000 0101 080a 002d c539  .............-.9
	0x0030:  002b 423c 1b5d 303b 6973 6162 656c 4075  .+B<.]0;isabel@u
	0x0040:  6275 6e74 753a 207e 0769 7361            buntu:.~.isa
Eines de l'usuari
Espais de noms

Variants
Navegació
Eines