NOPE LinkedIn

Catégories:
Analyse
Security
Network

Tips tcpdump.

Important
Article toujours en cours de rédaction.

Différentes options pour optimiser ses captures tcpdump

Comment capturer uniquement les appels HTTP GET entrants sur le port 443 (Apache/NGINX)

tcpdump -i enp0s8 -s 0 -A 'tcp dst port 443 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

Comment capturer tout le trafic (ou) requêtes HTTP GET entrantes

tcpdump -i enp0s8 -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

Explication: tcp[((tcp[12:1] & 0xf0) >> 2):4] détermine d’abord l’emplacement des octets qui nous intéressent (après l’en-tête TCP), puis sélectionne les 4 octets avec lesquels nous souhaitons faire correspondre.

Comment capturer toutes les requêtes HTTP POST entrantes

tcpdump -i enp0s8 -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354'

Comment capturer uniquement les requêtes HTTP POST entrantes sur le port 80 (Apache/NGINX)

tcpdump -i enp0s8 -s 0 -A 'tcp dst port 80 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354'

Comment capturer uniquement les appels HTTP GET entrants sur le port 443 (Apache/NGINX)

tcpdump -i enp0s8 -s 0 -A 'tcp dst port 443 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

Comment capturer uniquement les appels HTTP POST entrants sur le port 443 (Apache/NGINX)

tcpdump -i enp0s8 -s 0 -A 'tcp dst port 443 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354'

Comment capturer les appels entrants HTTP GET (ou) POST vers le port 80 (ou) 443 (Apache/NGINX) provenant de l’hôte 192.168.10.1

tcpdump -i enp0s8 -s 0 -A 'tcp dst port 80 or tcp dst port 443 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420 or tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354' and host 192.168.10.1

Comment capturer une transmission HTTP complète entrante et sortante GET et POST

tcpdump -i enp0s8 -s 0 -A 'tcp dst port 80 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420 or tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354 or tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x48545450 or tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x3C21444F and host 192.168.10.1'

Comment surveiller toutes les URL de requête HTTP entrantes (POST ou GET)

tcpdump -i enp0s8 -s 0 -v -n -l | egrep -i "POST /|GET /|Host:"

Comment capturer les mots de passe HTTP dans les requêtes POST

tcpdump -i enp0s8 -s 0 -A -n -l | egrep -i "POST /|pwd=|passwd=|password=|Host:"

Comment capturer les cookies du serveur et du client (demande et réponse)

tcpdump -i enp0s8 -nn -A -s0 -l | egrep -i 'Set-Cookie|Host:|Cookie:'

Comment filtrer les agents utilisateurs HTTP

tcpdump -vvAls0 | grep 'User-Agent:'

Comment capturer une transmission HTTP complète avec TCPDUMP (GET & POST) sur un port spécifique

Ici, nous allons passer un appel du client avec jusqu’à 192.168.60.1 vers notre application TestWebService en utilisant les méthodes GET et POST et capturer les données de trafic HTTP du côté du serveur.

tcpdump -i enp0s8 -s 0 -A 'tcp dst port 18001 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420 or tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354 or tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x48545450 or tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x3C21444F and host 192.168.60.1'

Format lisible pour les en-têtes http

tcpdump -A -s 10240 'tcp port 443 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' | \
egrep --line-buffered "^........(GET |HTTP\/|POST |HEAD )|^[A-Za-z0-9-]+: " | \
sed -r 's/^........(GET |HTTP\/|POST |HEAD )/\n\1/g'