Comment sniffer le trafic en ligne de commande avec httpry

Bonjour à tous,

 

Aujourd’hui je vous présente un petit outil bien sympa qui permet de sniffer le trafic http.

Ce petit logiciel peut-être bien utiles pour plusieurs applications :

  • Tester un webservice REST
  • Vérifier que sa machine n’est pas infestée par un malware
  • Vérifier que les utilisateurs ne téléchargent pas de fichier dangereux
  • Analyser le trafic et en faire des statistiques
  • etc …

 

Cette outil magique s’appel HTTPRY.

 

Installation du logiciel :

  • Sur ubuntu (14.04 et supérieur)

Il suffit de passer par les dépôts officiel

sudo apt-get install httpry

  • Sur Fedora, CentOS, RHEL

Le logiciel est aussi dans les dépôts

sudo yum install httpry

  • Sur debian

httpry n’est pas présent dans les dépôts, vous devez le compiler à la main :

Utilisation de httpry

 Utilisation basique

sudo httpry -i <network-interface>

 

Dans la plupart des cas on va vouloir sauvegarder des paquets pour pouvoir les « rejoué » plus-tard. Pour cela vous avez l’option ‘-b’ ou ‘-o’. L’option ‘-b’ permet de sauvegarder les paquets HTTP dans un fichier binaire qui pourras être « rejoué » plus tard. L’option ‘-o’ permet de sauvegarder l’output avec l’option « human readable » dans un fichier texte.

 

Pour sauvegarder les paquets dans un fichier binaire :

sudo httpry -i wlan0 -b output.dump

Pour pouvoir rejouer des paquets sauvegarder :

httpry -r output.dump

avec l’option ‘-r’ vous n’avez pas besoin de privilège root.

Pour sauvegarder les paquets en dans un fichier texte :

sudo httpry -i wlan0 -o output.txt

 

Utilisation avancé de httpry

Si vous voulez filtrer une requete HTTP par méthode (comme GET, POST, PUT, HEAD, CONNECT, etc…) il faut utiliser l’option ‘-m’ :

sudo httpry -i wlan0 -m get,head

 

Si vous avez installer httpry depuis les sources GIT, vous avez une petite collection de script perl qui permettent d’analyser les données fournie par httpry.

Voici une petite liste (non exhaustive)  des possibilités fournies par ces script :

  • hostnames : Afficher une liste contenant tout les host names (sans duplications) avec un compteur.
  • find_proxies : Detecter les webproxies.
  • search_terms : Cherche et compte les motifs entrés dans le service de recherche
  • content_analysis : Recherche les urls qui contiennent un certain mot clé.
  • xml_output : Convertie la sortie vers le format XML.
  • log_summary : Génère un résumé des log
  • db_dump : Sauvegarde les log dans une base de donnée Mysql.

Avant d’utiliser ces script, vous devez d’abord lancer httpry avec l’option ‘-o’. Une fois les fichiers de log obtenue vous pouvez lancé le script :

parse_log