mardi 12 juin 2012

Commandes et tutorial tcpdump

Commandes et tuto tcpdump

December 14, 2011 |  by  |  Reseaux
Petit récapitulatif des options en ligne de commandes les plus utiles:
-i any Ecoute sur toutes les interface
-n pour éviter la résolution de nom sur les addr ip
-nn pour éviter la résolution de nom sur les addr ip ET les noms de ports
-X pour l’affichage a la fois en hexadecimale et en ASCII du packet.
-XX pour l’affichage a la fois en hexadecimale et en ASCII du packet ET les headers Ethernets.
-S pour l’affichage des sequences tcp en absolu
-c pour indiquer le nombre de packets à capturé, tcpdump s’arrete ensuite
-s Définir la taille de la capture du packet(default à 96 ocets)
-e Afficher les en-têtes ethernet
-q Afficher moins d’informations sur les protocole
-E décrype le traffic IPSEC grace à une clé d’encryption
-D Liste les interfaces
Pour rappel, tcpdump ne prend par default en compte que les 96 premiers octets du packets (tcpdump 4, pour les version précedentes ce sont les 68 premiers octets)

Exemples simple de commandes tcpdump:

tcpdump -D
Liste les interfaces disponible
tcpdump -nnvSi eth100
“Capture” sur l’interface eth100, pas de résolutions de nom d’addresse ip et de ports (par exemple par default tcpdump va afficher ssh, avec l’option -nn ce sera 22). Le -vv permet l’affichage d’informations supplémentaire par tcpdump, par exemple le TOS, TTL, fragmentation
tcpdump -nnvvXSi eth100
Identique au précédent, sauf que tcpdump va afficher en plus le contenu du début du packet (les 96 premiers octect) en Hexa et en ASCII.
tcpdump -nnvvXSi eth100 -s 1500
Identique au précédent, sauf que tcpdump va afficher en plus le contenu les 1500 premiers octets du paquet en Hexa et en ASCII.
tcpdump -nnvvXSi eth100 -s 1500 -c 10
Identique au précédent, sauf que tcpdump va capturer les 10 premiers packets et s’arrêter ensuite.

Expressions tcpump un peu plus complexe…

Les identifieurs et les qualifieurs

Par default tcpdump affiche la capture de tous les packets et on est face à un océan d’information, il faut donc filtrer les éléments réseaux et cela se fait avec ce qui est appelé une expression.
Une expression est formé d’une primitive (nom ou numéro) précédé d’un qualifieur.
Il ya 3 type de qualifieur :
type: Les types possible sont host, net , port and portrange. E.g., ‘host monsite’, ‘net 128.3’, ‘port 20’, ‘portrange 6000-6008’
dir: Direction possible : src, dst, src or dst and src and dst. E.g., ‘src mons’, ‘dst net 128.3’, ‘src or dst port ftp-data’. If there is no dir qualifier, src or dst is assumed.
proto: Les protocoles possibles: ether, fddi, tr, wlan, ip, ip6, arp, rarp, decnet, tcp and udp. E.g., ‘ether src zeaz, ‘arp net 128.3’, ‘tcp port 21’, ‘udp portrange 7000-7009’.
tcpdump -i eth100  host 1.1.1.1
Capture de tous les packets ayant dans leur en-tete ip le host 1.1.1.1
tcpdump -i eth100 src 2.3.4.5 
Capture de tous les paquets ayant dans leur en-tetes ip la valeur 2.3.4.5 en src_ip. Donc capture unidirectionelle d’une “conversation ip”
tcpdump net 1.2.3.0/24
tcpdump -i eth100 net 1.1.1.0/24
Capture de tous les paquets du sous réseaux 1.1.1.0/24 (le masque est précisé avec /24)
tcpdump -i eth100 net 1.1.1.0/24
Capture de tous les paquets du sous réseaux 1.1.1.0/24 (le masque est précisé avec /24)
tcpdump -i eth100 net 1.1.1.0/24 proto tcp

Utiliser les condition logiques

La possibilité d’utiliser des opérateurs logiques permet de filtrer de façon très précise les informations que l’on recherche.
Il y a 3 opérateurs:
1-AND
and or &&
2- OR
or or ||
3-EXCEPT
not or !
L’idée est d’utiliser ces opérateurs avec les expressions(définis précédemmen)t…

Aucun commentaire:

Enregistrer un commentaire