Leichtes Tool zum Anzeigen von HTTP-Rohnachrichten?

7

Ich untersuche Verhaltensunterschiede zwischen einigen Webservern. Ich muss rohe Antwortdaten von den Servern sehen (dh bevor die Antwort de-chunked wird, wenn sie "Transfer-Encoding: chunked" hat, und bevor sie dekomprimiert wird, wenn sie "Content-Encoding: gzip" hat).

Ich kann viele einfache HTTP-Clients finden, die fast das tun, was ich brauche (z. B. Poster, RESTClient), aber sie neigen dazu, die Antwort einen Schritt zu weit zu dekodieren.

Netzwerkanalysatoren wie Wireshark geben mir das, was ich brauche, sind aber etwas schwergewichtig. Telnet ist meine bisher beste Wahl, aber etwas zu simpel (Aktionen wie das Erfassen von Daten oder das Eingeben von Anforderungen sind etwas mühsam).

Kann jemand ein gutes, leichtes Tool zum Senden / Anzeigen der Rohdaten empfehlen, aus denen HTTP-Nachrichten bestehen?

Bearbeiten: Ich sollte hinzufügen, dass ich unter Windows bin. Außerdem müsste das Tool sowohl mit Remote- als auch mit lokalen Servern funktionieren.

rewbs
quelle
Interessante Frage
bei.

Antworten:

4

Fiddler ist ein "HTTP-Debugging-Proxy". Sie können damit HTTP-Nachrichten überprüfen und neue HTTP-Nachrichten erstellen. Jede Nachricht kann auf verschiedene Arten angezeigt werden, z. B. als Rohtext und in einem Hex-Editor. Ein möglicher Nachteil ist, dass .NET Framework erforderlich ist.

sblair
quelle
4

Ich stimme für Curl

$ curl -I http://www.amazon.com
HTTP/1.1 405 MethodNotAllowed
Date: Tue, 16 Mar 2010 01:21:45 GMT
Server: Server
Set-Cookie: skin=noskin; path=/; domain=.amazon.com; expires=Tue, 16-Mar-2010 01:21:45 GMT
x-amz-id-1: 02Q7DN8FGW708892524E
allow: POST, GET
x-amz-id-2: POduQxVVwgUXSZRQEM5nWw+9DDvV22s7
Vary: Accept-Encoding,User-Agent
Content-Type: text/html; charset=ISO-8859-1
ZaphodB
quelle
3

Tamper Data ist ein großartiges Plugin für Firefox, das alle vom Browser gestellten HTTP-Anforderungen anzeigt. Es zeigt die Überschriften, Inhalte und alles, was Sie wissen möchten. Wenn Sie Firefox zur Verfügung haben, drücken Sie es.

Alt-Text

Sam152
quelle
Manipulationsdaten sind ein großartiges Werkzeug - ich benutze sie häufig. Aber ich denke, es deckt die Anforderungen in diesem Fall nicht ganz ab. Zum Beispiel kann ich die Rohbytes nicht sehen, die eine blockierte oder komprimierte Antwort mit Manipulationsdaten bilden. Ich werde trotzdem upvoten, wenn ich genug Wiederholungen habe, weil es ein sehr schönes Werkzeug ist.
Rewbs
1

Ich habe gerade Ihre Frage gesehen. Ich denke, Sie können dies mit einem Workload-Generator wie httperf tun. Es ist ein Linux-basiertes Tool, das mit Cygwin in Windows verwendet werden kann. Sie können den Code ändern, um die vollständige Nachricht anzuzeigen. Soweit ich weiß, wird der Antworttext angezeigt, wenn Sie den Befehl --print-reply body verwenden, und der Header, wenn Sie --print-reply header verwenden. Ich hoffe, es funktioniert Du


quelle
1

Tcpdump ist eine einfache Nur-Text-Oberfläche für einen Netzwerk-Sniffer. Sie können es mit einfachen Filterregeln ausführen, um die gewünschten Verbindungen zu protokollieren oder anzuzeigen. Es ist auch plattformübergreifend und für MS Windows ( alternative Version ) sowie die meisten Unix-Plattformen verfügbar. Sie können auch ein Protokoll von Paketen mit tcpdump speichern und später mit wireshark dekodieren.

Beispielnutzung:

tcpdump dst port 80
mctylr
quelle
1

Wie wäre es mit NirSoft SmartSniff ?

SmartSniff ist ein Dienstprogramm zur Netzwerküberwachung, mit dem Sie TCP / IP-Pakete erfassen können, die über Ihren Netzwerkadapter übertragen werden, und die erfassten Daten als Folge von Gesprächen zwischen Clients und Servern anzeigen können. Sie können die TCP / IP-Konversationen im Ascii-Modus (für textbasierte Protokolle wie HTTP, SMTP, POP3 und FTP) oder als Hex-Dump anzeigen. (für Nicht-Text-Basisprotokolle wie DNS)

Alt-Text

SmartSniff ist Freeware. Die Zip-Datei, die das Tool sowie die Dokumentation enthält, ist nur 65 KB groß.

John T.
quelle
Fast das, was ich brauche! Ich werde abstimmen, sobald ich genug Repräsentanten habe. Soweit ich sehen kann, fehlen folgende Funktionen: 1. Ich kann damit keine eigenen Anforderungen erstellen (ich würde dafür immer noch ein anderes Tool wie Telnet verwenden und dann die Ergebnisse in SmartSniff überwachen). 2. Standardmäßig scheint die Kommunikation mit einem lokalen Server nicht erkannt zu werden. Ich gehe davon aus, dass ich ein Loopback-Gerät einrichten muss.
Rewbs
@rewbs Es sollte in der Lage sein, LAN-Kommunikation zu erkennen. Ich habe es gerade getestet, indem ich einige lokale Geräte anpingte : i47.tinypic.com/ftn33n.png Aber Sie haben Recht , es erlaubt Ihnen leider nicht, Anfragen zu verfassen.
John T
Ja, die LAN-Kommunikation ist in Ordnung. Das Problem ist, wenn sich Server und Client beide auf localhost befinden (z. B. in einer Webserver-Entwicklungsumgebung).
Rewbs
@rewbs Ich verstehe was du meinst. Sie können das Programm wahrscheinlich austricksen, indem Sie Ihrer Netzwerkkarte eine zweite Adresse zuordnen. Verwenden Sie die zweite Adresse, um auf den Webserver zuzugreifen.
John T