Afficher en JSON avec -T json
Dans cette étape, nous allons explorer comment formater les données de trafic HTTP capturées au format JSON en utilisant l'utilitaire Tshark de Wireshark. JSON (JavaScript Object Notation) est un format de données léger qui est facile à lire pour les humains et à analyser pour les machines. Cela en fait un format idéal pour l'analyse programmée du trafic réseau.
Avant de commencer, comprenons pourquoi la sortie au format JSON est précieuse :
- Organisation structurée des données
- Facile intégration avec d'autres outils et scripts
- Format standardisé pour l'échange de données
- Tout d'abord, assurez-vous que vous êtes dans le répertoire de travail par défaut où nous allons exécuter nos commandes :
cd ~/project
- Maintenant, exécutons Tshark pour capturer les requêtes HTTP et les afficher au format JSON. Cette commande combine le filtrage avec le formatage JSON :
sudo tshark -Y "http.request" -T json -e http.request.method -e http.host -e http.request.uri
Analysons ce que chaque partie de cette commande fait :
-Y "http.request"
: Ce filtre indique à Tshark de n'afficher que les paquets de requêtes HTTP.
-T json
: Spécifie que nous voulons la sortie au format JSON.
-e
fields : Ces options extraient des informations spécifiques de chaque requête HTTP :
http.request.method
: La méthode HTTP utilisée (GET, POST, etc.).
http.host
: Le domaine du site web consulté.
http.request.uri
: Le chemin ou la ressource spécifique demandée.
- Pour générer du trafic de test que nous pouvons capturer, ouvrez une deuxième fenêtre de terminal et exécutez ces commandes curl :
curl http://example.com
curl http://example.org/sample
Lorsque vous exécutez la commande Tshark pendant que ce trafic de test est généré, vous verrez une sortie structurée comme ceci :
[
{
"_index": "packets-1",
"_source": {
"layers": {
"http.request.method": ["GET"],
"http.host": ["example.com"],
"http.request.uri": ["/"]
}
}
},
{
"_index": "packets-2",
"_source": {
"layers": {
"http.request.method": ["GET"],
"http.host": ["example.org"],
"http.request.uri": ["/sample"]
}
}
}
]
Remarquez comment chaque requête HTTP devient un objet JSON distinct avec des champs clairement étiquetés. Cette structure facilite l'identification de :
- Quel site web a été consulté
- Quel type de requête a été effectué
- Quelle page ou ressource spécifique a été demandée
Le format JSON est particulièrement utile lorsque vous souhaitez enregistrer ces données pour une analyse ultérieure ou les fournir à d'autres outils capables de traiter automatiquement les données JSON.