Frage

Gruß,

wie möglich aus dem empfangenen Paketen bestimmen SharpPcap zu verwenden, wenn das Paket http Paket oder nicht?

und können wir Frpm TCP-Pakete festzustellen, ob das Paket HTTP oder nicht?

War es hilfreich?

Lösung

Nach RFC2616 - Hypertext Transfer Protocol - HTTP / 1.1 :

  

Die Version einer HTTP-Nachricht wird von einer HTTP-Version Feld in der ersten Zeile der Nachricht

angezeigt

So können Sie Pakete und Scan für den HTTP-Version Text in Nachrichten-Header und / oder andere bekannte Felder des HTTP-Protokolls überprüfen. Obwohl diese Methode nicht zu 100% korrekt sein kann, wenn eine Nachricht in mehrere Pakete aufgeteilt wird, wäre es wahrscheinlich gut genug sein, zumindest als erster Schnitt.

Andere Tipps

Ich bin der Autor / Betreuer des sharppcap/packet.net.

Ich habe ein paar Klassen, die tcp Remontage und http Analyse durchführen, die im Einsatz in einem komplexen Netzwerk sind App http sessions zu identifizieren und verfolgen zu überwachen. Diese sind voll Einheit getestet und ausführlich kommentiert.

Sie sind für die Lizenzierung entweder am Binär- oder Quellebene zur Verfügung.

Edit: Warum diese nach unten wählen? Es dauerte Hunderte von Stunden, um den Code und Tests zu entwickeln und es ist ein Rückgang der Lösung, die wiederverwendet wurde. Es ist sicherlich eine Überlegung wert, bevor Neuimplementierung der gleichen Funktionalität.

Es klingt wie Sie an einem einzigen TCP-Fragmente suchen. Wenn das von dem Beginn einer Nachricht kam, wird es eine HTTP-Version in der ersten Zeile hat, aber wenn Sie nur zufällig Pakete aus dem Netz ziehen und in der Hoffnung der Lage sein, sie zu sagen, sind HTTP Sie Pech haben aus - es gibt nichts in den TCP-Fragmenten, die zeigen, was in ihnen ist. Der einzige Weg wäre, zu wissen, auf das ganze Gespräch zu suchen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top