Eh bien, pour tous les fans de tcpdump =)
EXÉCUTEZ TOUTES CES COMMANDES COMME ROOT !!!
Obtenir la racine dans un terminal avec
sudo -i
Pour capturer les paquets RAW ...
sudo tcpdump -i any -w /tmp/http.log &
Cela va capturer tous les paquets bruts, sur tous les ports, sur toutes les interfaces et les écrire dans un fichier, /tmp/http.log
.
Exécutez votre application. Cela aide évidemment si vous n'exécutez aucune autre application utilisant HTTP (navigateurs Web).
Tuez tcpdump
killall tcpdump
Pour lire le journal, utilisez l’indicateur -A
et dirigez la sortie vers less
:
tcpdump -A -r /tmp/http.log | less
L’indicateur -A
imprime le texte "payload" ou ASCII dans les paquets. Cela enverra la sortie à less
, vous pouvez page précédente et suivante. Pour quitter less
, tapez Q .
Quand je vais sur Google, je vois (dans les paquets bruts):
20:42:38.179759 IP ufbt.local.56852 > sea09s02-in-f3.1e100.net.www: Flags [P.], seq 1:587, ack 1, win 913, options [nop,nop,TS val 25523484 ecr 492333202], length 586
[email protected]@..q......!#...P.(.gS.c..............u..Xh.GET /generate_204 HTTP/1.1
Host: clients1.google.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) rekonq Safari/534.34
Referer: http://www.google.com/
Accept: */*
Accept-Encoding: gzip, deflate, x-gzip, x-deflate
Accept-Charset: utf-8,*;q=0.5
Accept-Language: en-US, en-US; q=0.8, en; q=0.6
Cookie: PREF=ID=dd958d4544461998:FF=0:TM=1323842648:LM=1360205486:S=Fg_QCDsLMr4ZepIo; NID=67=OQJWjIDHG-B8r4EuM19F3g-nkaMcbvYwoY_CsOjzvYTOAxwqAos5kfzsk6Q14E70gIfJjHat8d8PuQIloB12BE-JuSHgsKHR2QSpgN12qSWoxeqhdcSQgzw5CHKtbR_a
tcpdump
dispose d'un long ensemble d'options pour affiner la collecte de données en spécifiant les interfaces réseau vers les ports vers les adresses IP source et de destination. Il ne peut pas décrypter (il ne fonctionnera donc pas avec HTTPS).
Une fois que vous savez ce qui vous intéresse, vous pouvez utiliser plusieurs options avec tcpdump
pour enregistrer uniquement les données qui vous intéressent. La stratégie générale consiste à enregistrer tous les paquets, à examiner les données brutes et à ne capturer que les paquets d’intérêt.
Quelques indicateurs utiles (options):
-i Specify an interface
-i eth0
tcp port xx
tcp port 80
dst 1.2.3.4
specify a destination ip address
Il y a une courbe d'apprentissage, à la fois pour utiliser tcpdump
et pour apprendre à analyser les données que vous collectez. Pour plus de lecture, je vous suggère fortement Introduction à tcpdump
avec des exemples de Daniel Miessler .