Antworten:
Ich denke, was Sie anstelle von Apache wollen, könnte ein Paketanalysator sein , auch als Paket-Sniffer bekannt. Zwei der beliebtesten sind wahrscheinlich TCPDump und Wireshark . Beide sind kostenlos und haben Versionen für Windows und * nix. Diese zeigen Ihnen den gesamten eingehenden Datenverkehr auf einer Benutzeroberfläche, nicht nur das, was Apache sieht. Sie können jedoch Filter verwenden, um die Beschränkung auf einen bestimmten Port vorzunehmen, z. B. 80 für http.
tcpdump:
Der folgende Befehl, der vom Server ausgeführt wird, zeigt Ihnen alle Pakete an, die für Port 80 bestimmt sind:
sudo tcpdump -s 0 -X 'tcp dst port 80'
Der Capital X-Switch speichert die Nutzdaten in Hex und ASCII. Der Schalter s mit 0 bedeutet, dass das gesamte Paket abgerufen wird. "tcp dst port 80" bedeutet, dass im tcp-Header nur für Port 80 bestimmte Pakete gefiltert und angezeigt werden.
Wireshark:
Für die benutzerfreundlichere Version, wenn Sie eine grafische Benutzeroberfläche verwenden, sollten Sie wireshark (formal als ethereal bezeichnet) in Betracht ziehen.
-A
Nur für Text (kein Hex-Dump):sudo tcpdump -A -s 0 'tcp dst port 80'
vielleicht Kekse wegwerfen ? ansonsten - schau dir mod_dumpio an .
Mit ngrep, einem Hybrid aus tcpdump und grep, ist das einfache Packet Sniffing einfach. In bestimmten Szenarien möchten Sie sehen, wie Webbrowser mit Webservern kommunizieren, und die HTTP-Header überprüfen.
Führen Sie in diesem Beispiel ein ngrep auf einem Webserver wie folgt aus:
$ ngrep port 80
Sie können auch festlegen, dass die http-Anforderung nach "GET /" -Anforderung für Port 80 gefiltert wird, indem Sie:
$ ngrep -q '^GET .* HTTP/1.[01]'
Clientseitig gibt es ein nützliches Tool namens Tamper Data, eine Firefox-Erweiterung, mit der Sie ausgehende HTTP-Anforderungen anzeigen, aufzeichnen und sogar ändern können.
Weitere Informationen finden Sie hier
Verwenden Sie tcpflow, anstatt tcpdump oder wireshark zu verwenden. Dies ist ein Ersatz für tcpdump, erstellt jedoch eine Datei für jede Seite jeder Verbindung, sodass Sie nicht versuchen müssen, den Stream selbst zu dekodieren.
Apache hat diese Funktionalität eingebaut; Erhöhen Sie einfach die Protokollebene auf trace7
oder trace8
:
LogLevel trace8
Beachten Sie, dass dadurch viele Daten gesichert werden. Du wurdest gewarnt.