Erfassen Sie den Datenverkehr für eine bestimmte Anwendung


14

Ich habe eine Anwendung, die mit einem Server kommuniziert. Ich möchte wissen, wie die IP dieses Servers lautet. Wie kann ich den gesamten Datenverkehr einer bestimmten Anwendung erfassen und nicht nur den gesamten Datenverkehr wie bei Wireshark?


Welches Betriebssystem verwenden Sie? Wie viel wissen Sie über die Anwendung? Wissen Sie, ob bestimmte Ports verwendet werden?
James Polley

Windows Server 2008 R2 / Windows 7 Ich weiß nichts über Portnummern. Es handelt sich um IP-Verkehr (TCP / UDP).
Melco-Mann

1
Also, um zu klären. Sie möchten mindestens die Prozess-ID sehen. Aber so etwas wie netstat -aon wird es nicht tun, weil Sie auch nach erfolglosen Verbindungsversuchen suchen möchten. (Ich weiß von nichts, und Sie werden Glück haben, wenn jemand es tut, aber können Sie klarstellen, dass es das ist, was Sie wollen?)
barlop

Möchten Sie wissen, wo die Anwendung versucht, eine Verbindung herzustellen? Ich denke, Sie könnten Wireshark verwenden und Filter verwenden, um einen Drilldown zum Zielhost / IP durchzuführen?
Emtunc

Abhängig von der Art der Anwendung können Sie sie auch dazu zwingen, einen Proxy zu durchlaufen und so etwas wie einen Geiger zu verwenden, um den Datenverkehr dieser Anwendung zu erfassen. Ich habe es nie versucht, kann aber nicht sehen, warum es nicht funktionieren würde. Es kann so einfach sein, wie die IE-Proxy-Einstellungen in Fiddler-Proxy zu ändern (standardmäßig Port 8888) oder so schwierig, die App neu zu kompilieren, um den Proxy zu verwenden, oder die App irgendwie zu zwingen, den Proxy zu verwenden - ich bin sicher, dass es Apps gibt das kann das.
emtunc

Antworten:


3

Es ist möglich, den gesamten Netzwerkverkehr für eine bestimmte Anwendung zu erfassen, indem Windows Sockets-API-Aufrufe abgefangen werden. Dies sind die Werkzeuge, die helfen können.

  1. Proxocket von Luigi Auriemma. Es fängt API-Aufrufe ab und speichert erfassten Datenverkehr als Wireshark-fähige .cap-Datei im tcpdump-Format. Nichts ist erklärender als ein Bild, das Luigi selbst zur Verfügung gestellt hat:Bildschirmfoto

  2. NirSoft verfügt über eine SocketSniff- Anwendung, mit der der Datenverkehr eines bestimmten Prozesses erfasst werden kann. Ein Bild sagt mehr als tausend Worte:Bildschirmfoto

Leider würden die genannten Tools 64-Bit-Anwendungen wahrscheinlich nicht unterstützen. Es ist jedoch möglich, einen benutzerdefinierten Interceptor mithilfe der mhook- Bibliothek zu schreiben, die sowohl die 32-Bit- als auch die 64-Bit-API unterstützt.


+1 für NirSoft-Freeware-Tools, die unglaublich gut und normalerweise portabel (einzelne EXE-Datei) und klein (<500 KB) sind. Sehr talentierter Entwickler dort!
Basj

Was ist mit Linux?
Aaron Franke

@ AaronFranke stracekönnte helfen. Siehe hier: askubuntu.com/a/12465/505090
PF4Public


1

Am einfachsten ist Fiddler 2. Es handelt sich um einen Debugger, mit dem Sie HTTP-, HTTPS- und FTP-Anforderungen (beide konfiguriert) mit jeder Anwendung auf Ihrem PC anzeigen können.

Um eine bestimmte Anwendung als Ziel festzulegen, klicken Sie einfach auf den Menüpunkt " Beliebiger Prozess " und halten Sie ihn gedrückt. Ziehen Sie den Cursor auf das geöffnete Fenster und lassen Sie ihn los. Diese Zielanwendung wird nur angezeigt, bis Sie mit der rechten Maustaste auf den Menüpunkt klicken, der jetzt den Zielprozess in roter Schrift liest, um ihn freizugeben.

http://fiddler2.com/


Wie verwende ich Fiddler für Nicht-HTTP / FTP-Anfragen?
Pacerier

0

Unter Windows sollte TCPView das tun, was Sie benötigen: Es kann Ihnen alle TCP- und UDP-Verbindungen anzeigen , die ein bestimmtes Programm geöffnet hat.

Ich denke jedoch, dass dies nur hilfreich sein wird, wenn das Programm eine Verbindung öffnet und offen lässt. Sie zeigen Ihnen nicht den gesamten Netzwerkverkehr eines bestimmten Programms an. Es ist beispielsweise möglich, dass beim Laden ein sehr kurzer Anruf nach Hause getätigt wird, die Verbindung jedoch unterbrochen wird, wenn Sie TCPView ausführen.

Process Monitor kann dabei helfen, mehr Details zu erhalten, aber ich habe es nicht verwendet, daher bin ich mir nicht sicher, wie viel es über Netzwerk-Sockets erfasst.


4
TCPView hilft nur bei hergestellten Verbindungen. Ich muss auch erfolglose TCP-Verbindungsversuche sehen.
Melco-Mann

1
In diesem Fall habe ich keine Ideen mehr. Wahrscheinlich lohnt es sich, das der Frage hinzuzufügen.
James Polley

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.