Blue Flower

Tshark permet de :

  • réaliser des captures réseau en ligne de commande
  • lire un fichier de capture réseau

sudo tshark -D permet de lister les interfaces que l'on peut écouter

sudo tshark affiche à l'écran les paquets capturés sur l'interface numéro 1

sudo tshark -T fields -e frame.number -e ip.src -e ip.dst -e ip.len affiche à l'écran le numéro de trame, l'ip src, l'ip destination et la longueur du paquet IP

Capturer dans un fichier pcap

touch maCapture.pcap
chmod o=rw maCapture.pcap # cette ligne et la ligne qui précède sont nécessaires, sinon, pour une raison inconnu, on aura une erreur "could not be opened: Permission denied" pour créer le fichier maCapture.pcap
sudo tshark -T fields -e frame.number -e ip.src -e ip.dst -w maCapture.pcap # la capture ira dans le fichier maCapture.pcap.

!! Attention, ce fichier ne contiendra pas seulement les colonnes affichées (frame.number, ip.src, ip.dst).

 

Capture sélective

L'option -f (capture filter) permet de sélectionner les données à capturer.

sudo tshark -f "ip or arp" => permet de ne capturer que les paquets de type IP ou ARP 

 

Affichage sélectif

sudo tshark -f "ip or arp" -Y "ip.src == 192.168.1.6"

 

Affichage formatté

tsudo tshark -f "ip or arp" -T fields -E separator=, -E quote=d -e ip.src -e ip.dst

 

"172.217.18.194","192.168.1.6"

"172.217.18.194","192.168.1.6"

"192.168.1.6","172.217.18.194"

"172.217.18.194","192.168.1.6"

 

 

Lire depuis un fichier pcap

Lire un pcap

tshark -r maCapture.pcap # affiche le fichier pcap, uniquement les colonnes principales


1 12:54:58,838325659 2001:861:3a02:dff0:a433:c73d:ae9f:672e → 2a00:1450:4007:812::2003 TLSv1.2 125 2 12:54:58,857405445 2a00:1450:4007:812::2003 → 2001:861:3a02:dff0:a433:c73d:ae9f:672e TCP 86 3 12:54:58,858259678 2a00:1450:4007:812::2003 → 2001:861:3a02:dff0:a433:c73d:ae9f:672e TLSv1.2 126 4 12:54:58,901022717 2001:861:3a02:dff0:a433:c73d:ae9f:672e → 2a00:1450:4007:812::2003 TCP 86 5 12:54:59,169301812 Netgear_cc:e9:e6 → Broadcast HomePlug AV 60

Lire une ligne spécifique du pcap

tshark -r maCapture.pcap -Y frame.number==61 # lit le fichier maCapture.pcap et affiche seulement la frame 61 

 

Filltrer le pcap et mettre le résultat dans un nouveau pcap

Dans l'exemple, on s'intéresse à tous les paquets dont l'IP source est 192.168.1.6

 tshark -r maCapture.pcap -w maCaptureSrcSpecifique.pcap ip.src == 192.168.1.6

 

Analyser un fichier pcap avec Python via Pyshark

 

import pyshark

cap = pyshark.FileCapture('maCapture.pcap')

i=0
for pkt in cap:
    print("==================%d=========================" % i)
    print(pkt)
    i+=1
pkt=cap[58]
print(pkt)
print(f"IP.src:{pkt['ip'].src}, IP.dst:{pkt['ip'].dst}")

....

==================65=========================

Packet (Length: 60)

Layer ETH:

Destination: ff:ff:ff:ff:ff:ff

Address: ff:ff:ff:ff:ff:ff

....

IP.src:54.149.19.17, IP.dst:192.168.1.6