Mon application envoie des requêtes HTTP à un serveur et je souhaite voir les données réelles qu’elle envoie. Quelques détails que j'aimerais voir:
- Méthode de requête (GET / POST / PUT, etc.)
- Type de contenu
- Corps
Quel est le moyen le plus simple et le meilleur pour accomplir cela?
networking
mégas
la source
la source
Réponses:
Eh bien, pour tous ces fans de tcpdump =)
LANCEZ TOUTES CES COMMANDES COMME RACINE !!!
Obtenir la racine dans un terminal avec
Pour capturer les paquets RAW ...
Cela capturer tous les paquets bruts, sur tous les ports, sur toutes les interfaces et les écrire dans un fichier,
/tmp/http.log
.Exécutez votre application. Cela est évidemment utile si vous n'exécutez aucune autre application utilisant HTTP (navigateurs Web).
Tuer
tcpdump
Pour lire le journal, utilisez l'
-A
indicateur et dirigez la sortie versless
:Le
-A
drapeau imprime la "charge utile" ou le texte ASCII dans les paquets. Cela enverra la sortie àless
, vous pouvez page en haut et en bas. Pour sortirless
, tapez Q.Quand je vais sur Google, je vois (dans les paquets bruts):
tcpdump
a une longue série d’options pour affiner la collecte de données en spécifiant des interfaces réseau aux ports en adresses IP source et de destination. Il ne peut PAS déchiffrer (donc cela ne fonctionnera pas avec HTTPS).Une fois que vous savez ce qui vous intéresse, vous pouvez utiliser plusieurs options
tcpdump
pour enregistrer uniquement les données qui vous intéressent. La stratégie générale consiste à enregistrer d’abord tous les paquets, à examiner les données brutes, puis à ne capturer que les paquets d’intérêt.Quelques drapeaux utiles (options):
Il existe une courbe d'apprentissage, à la fois pour utiliser
tcpdump
et apprendre à analyser les données que vous collectez. Pour plus de lecture, je suggère fortement l’tcpdump
Abécédaire de Daniel Miessler avec exemples .la source
0 packets captured 0 packets received by filter 0 packets dropped by kernel
j'ai ouvert un tas de sites dans le navigateur Chrome lorsque tcpdump surveillait.tcpdump -i any -w /tmp/http.log &
travaillé.Première installation à
tcpflow
partir des dépôts officiels Ubuntu:Puis exécutez cette commande pour inspecter toutes les requêtes HTTP sur le port standard:
la source
Je vous suggère d'essayer Wireshark
S'il vous plaît noter que Wireshark est assez avancé, et peut donc prendre un peu de temps pour s'y habituer. Je ne l'utilise pas depuis quelques années, mais il devrait quand même être parfait pour ce que vous voulez, sinon un peu trop de fonctionnalités.
Vous trouverez des informations sur Wireshark et son utilisation sur la page d'accueil de Wireshark .
la source
Également posible avec la commande, ce qui donne une sortie ordonnée, même pour SSL:
la source