Tout d’abord il faut lancer une écoute du trafic dns sur le serveur DNS et stocker le résultat dans un fichier :
tcpdump –v | grep domain > utilisation_dns.log
Ensuite, il faut traiter le résultat :
cat utilisation_dns.log | awk ‘{ print $2}’ | grep -v "nom_du_serveur" | cut -d "." -f1-4 |sed -e "s/.domain//g"| sed -e "s/fr…../fr/2" |sort -u
awk ‘{ print $2}’ –> affiche seulement la 2ème colonne. Pour moi c’est celle des adresses IP. A modifier en fonction de l’affichage fourni par votre tcpdump.
grep -v "nom_du_serveur" permet de ne pas afficher le serveur DNS car on le retrouve dans la même colonne pour les réponses.
“nom_du_serveur” correspond au nom du serveur dns.
cut -d "." -f1-4 permet d’afficher seulement l’adresse IP
exemple :
192.168.0.1.15112 devient 192.168.0.1
sed -e "s/.domain//g" permet de supprimer les .domain quand le nom du client est résolu.
exemple :
srv1985.croc-informatique.fr.domain devient srv1985.croc-informatique.fr
sed -e "s/fr…../fr/2" : permet d’obtenir la perfection
car ‘j’avais un soucis avec un nom d’host trop long. Cette commande permet d’effecer quelques caractère sur la deuxième occurrence d’une ligne.sort –u permet de classer par ordre alphabétique et de supprimer les doublons.
vive le shell!!!
Partager :