Posts made in octobre, 2014

Comment parser une chaine JSON en ligne de commande

Comment parser une chaine JSON en ligne de commande

Pour pouvoir parser du JSON avec sont terminal, il vous faudra un petit logiciel bien sympa (qui n’est pas présent dans les dépôts), j’ai nommé : jq Shell wget http://stedolan.github.io/jq/download/linux32/jq (32-bit) wget http://stedolan.github.io/jq/download/linux64/jq (64-bit) chmod +x ./jq sudo cp jq /usr/bin 1234 wget http://stedolan.github.io/jq/download/linux32/jq (32-bit)wget http://stedolan.github.io/jq/download/linux64/jq (64-bit)chmod +x ./jqsudo cp jq /usr/bin Les fichiers binaires de jq sont aussi disponible pour windows et OS X. Le code source est disponible sous licence MIT. Voici une liste d’exemple pour illustré le fonctionnement de jq : $ cat json.txt { "name": "Google", "location": { "street": "1600 Amphitheatre Parkway", "city": "Mountain View", "state": "California", "country": "US" }, "employees": [ { "name": "Michael", "division": "Engineering" }, { "name": "Laura", "division": "HR" }, { "name": "Elise", "division": "Marketing" } ] } 12345678910111213141516171819202122232425 {        "name": "Google",        "location":                {                        "street": "1600 Amphitheatre Parkway",                        "city": "Mountain View",                        "state": "California",                        "country": "US"                },        "employees":                [                        {                                "name": "Michael",                                "division": "Engineering"                        },                        {                                "name": "Laura",                                "division": "HR"                        },                        {                                "name": "Elise",                                "division": "Marketing"                        }                ]} Pour parser l’objet  : cat json.txt | jq '.name' retour : "Google" Pour récupérer un attribut de l’objet : cat json.txt | jq '.location.city' retour Shell "Mountain View" 1 "Mountain View" Pour parser une array :   cat json.txt | jq '.employees[0].name' retour : Shell "Michael" 1 "Michael" Pour extraire des champs spécifique : cat json.txt | jq '.location | {street, city}'   Shell { "city": "Mountain View", "street": "1600 Amphitheatre Parkway" } 1234 {  "city": "Mountain View",  "street": "1600 Amphitheatre Parkway"}     Voir l’article...

Read More

Comment sniffer le trafic en ligne de commande avec httpry

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 : Shell $ sudo apt-get install gcc make git libpcap0.8-dev $ git clone https://github.com/jbittel/httpry.git $ cd httpry $ make $ sudo make install 12345 $ sudo apt-get install gcc make git libpcap0.8-dev$ git clone https://github.com/jbittel/httpry.git$ cd httpry$ make$ sudo make install 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...

Read More