2010-06-01 3 views
10

Ich möchte irgendwie in den Netzwerkstack des lokalen Systems einhaken, um ausgehende Netzwerkpakete ohne Winpcap zu erfassen. Leider neigt es dazu, mein System hin und wieder zum Absturz zu bringen.Wie kann der lokale ausgehende Netzwerkverkehr in .NET ohne Verwendung von PCap abgefangen werden?

Gibt es eine Möglichkeit, den ausgehenden Datenverkehr des lokalen Systems aus einem Benutzer-Space-Prozess in einer .NET-Sprache zu "aussuchen"?

+2

Meinen Sie, dass Sie Datenverkehr zurückverfolgen möchten, der von einem .NET-Prozess stammt - oder - dass Sie von einem .NET-Prozess den gesamten ausgehenden Datenverkehr verfolgen möchten? (Ich vermute letzteres) –

+0

Ja, du hast recht. Ich brauche Letzteres. –

Antwort

11

Was Sie wollen, ist die Network Monitor API. Mehr here und here.

+0

Hallo Mike, Link für NMCaptureData ist tot. Danke –

+0

Schade, ich habe meinen Beitrag auf etwas aktualisiert, das ich gefunden habe, das relevant erscheint (ein weiteres Beispiel für ein C# -Projekt, das die NM-API verwendet). –

1

Ich benutze smsniff von NIRSOFT. Sie müssen Administrator auf dem Computer sein, um jeglichen Datenverkehr zu erkennen.

http://www.nirsoft.net/utils/smsniff.html

Ich habe noch nie schnuppern Verkehr .net verwendet gesehen. Aber vielleicht NetMon von Microsoft hat eine COM-Schnittstelle, die Sie von .Net anrufen

Aber wie immer müssen Sie Admin sein, um Verkehr zu schnüffeln, da es erforderlich ist, die NIC in Promiscuous-Modus zu setzen.

+0

Das Erhalten von Administratorrechten sollte kein Problem sein, da das Programm, an dem ich arbeite, hauptsächlich für mich selbst bestimmt ist. Nun, wenn jemand anderes ein Proggy haben möchte, HTTP-Anfragen zu bestimmten Dateitypen verfolgt und nach dem Finden einer solchen Anfrage, bietet eine Möglichkeit, diese Dateien (wie Videos, mp4, flv) tatsächlich herunterzuladen, ich bin mir sicher, dass ich kann mach es irgendwo auf der Straße öffentlich. Ich möchte nicht durch die ganze Unordnung des Schreibens eines voll funktionsfähigen HTTP-Proxy gehen, so dass Schnüffeln die einzige Alternative ist. –

+1

Probieren Sie Fiddler als HTTP-Debugging-Proxy aus. IT rulez http://www.fiddler2.com/fiddler2/ – ggonsalv

+0

Ja, Fiddler ist großartig. Ich verwende FiddlerCore, um die HTTP-Anfragen mit meiner Anwendung zu verfolgen. Aber ich möchte sie wirklich unabhängig von den Proxy-Einstellungen der Browser erfassen. –

Verwandte Themen