Est-il possible de vider des requêtes HTTP entières par apache? J'ai besoin de suivre tous les en-têtes HTTP des demandes entrantes. Comment faire ça?
Est-il possible de vider des requêtes HTTP entières par apache? J'ai besoin de suivre tous les en-têtes HTTP des demandes entrantes. Comment faire ça?
Je pense que ce que vous voulez au lieu d'Apache pourrait être un analyseur de paquets , également connu sous le nom de renifleur de paquets. Deux des plus populaires sont probablement TCPDump et Wireshark , qui sont tous deux gratuits et ont des versions pour les systèmes d'exploitation Windows et * nix. Ceux-ci vous montreront tout le trafic entrant sur une interface, pas seulement ce que Apache voit. Mais vous pouvez utiliser des filtres pour vous limiter à un port spécifié, tel que 80 pour http.
tcpdump:
La commande suivante exécutée à partir du serveur vous montrera tous les paquets destinés au port 80:
sudo tcpdump -s 0 -X 'tcp dst port 80'
Le commutateur X majuscule vide la charge utile en hexadécimal et ASCII. Le commutateur s avec 0 signifie obtenir le paquet entier. 'tcp dst port 80' signifie filtrer et n'afficher que les paquets destinés au port 80 dans l'en-tête tcp.
Wireshark:
pour la version plus conviviale, si vous avez une interface graphique en cours d'exécution, pensez à Wireshark (officiellement appelé éthéré).
-A
pour le texte uniquement (pas de vidage hexadécimal):sudo tcpdump -A -s 0 'tcp dst port 80'
peut-être le dumping de cookies ? sinon - regardez mod_dumpio .
la source
Le reniflage de paquets de base est facile avec ngrep, un hybride de tcpdump et grep. Dans certains scénarios, si vous souhaitez voir comment les navigateurs Web communiquent avec les serveurs Web et inspecter les en-têtes HTTP.
Dans cet exemple, exécutez un ngrep sur un serveur Web comme ceci:
vous pouvez également choisir de filtrer la requête http en requête "GET /" sur le port 80 en:
Côté client, il existe un outil utile nommé Tamper Data, c'est une extension Firefox qui vous permet de visualiser, d'enregistrer et même de modifier les requêtes HTTP sortantes.
Vous pouvez trouver plus d'informations ici
la source
Plutôt que d'utiliser tcpdump ou wirehark, utilisez tcpflow. C'est un remplacement de tcpdump, mais crée un fichier pour chaque côté de chaque connexion, vous n'avez donc pas à essayer de décoder le flux vous-même.
la source
Apache a cette fonctionnalité intégrée; augmentez simplement le niveau de journalisation à
trace7
outrace8
:Notez que cela videra beaucoup de données. Tu étais prévenu.
la source