Erfassen Sie den Datenverkehr für eine bestimmte Anwendung

26965
melco-man

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

11
Welches Betriebssystem verwenden Sie? Wie viel wissen Sie über die Anwendung? Wissen Sie, ob bestimmte Ports verwendet werden? James Polley vor 14 Jahren 0
Windows Server 2008 R2 / Windows 7 Ich weiß nichts über Portnummern. Es handelt sich um IP (TCP / UDP) -Verkehr. melco-man vor 14 Jahren 0
Also, um das zu klären. Sie möchten mindestens die Prozess-ID sehen. Aber so etwas wie netstat -aon macht das nicht, weil Sie auch erfolglose Verbindungsversuche sehen wollen. (Ich kenne nichts und du hast Glück, wenn jemand es tut, aber kannst du klarstellen, dass es das ist, was du willst?) barlop vor 11 Jahren 1
Wussten Sie, 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 vor 11 Jahren 0
Abhängig von der Art der Anwendung können Sie auch zwingen, einen Proxy zu durchlaufen und so etwas wie einen Fiddler zu verwenden, um den Verkehr dieser Anwendung zu erfassen. Ich habe es nie probiert, kann aber nicht verstehen, warum es nicht funktionieren würde. Es kann so einfach sein wie das Ändern der IE-Proxy-Einstellungen in Fiddler-Proxy (standardmäßig Port 8888) oder so schwierig wie das Neukompilieren der App, 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 tun. emtunc vor 11 Jahren 0
Wollen Sie nur die IP des Zielservers? Wenn ja, kann Wireshark dies schnell identifizieren. Wenn Sie mehr Details anzeigen möchten, kann eine Prozessmonitorerfassung nach Prozess oder PID gefiltert werden. Dallas vor 10 Jahren 0

4 Antworten auf die Frage

4
PF4Public

Es ist möglich, den gesamten Netzwerkverkehr für eine bestimmte Anwendung durch Abfangen von Windows Sockets-API-Aufrufen zu erfassen. Dies sind die Werkzeuge, die helfen können.

  1. Proxocket geschrieben von Luigi Auriemma. Es fängt API-Aufrufe ab und speichert den erfassten Datenverkehr als Wireshark-ready CAP-Datei im tcpdump-Format. Nichts ist erklärender als ein von Luigi selbst erstelltes Bild:Bildschirmfoto

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

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

+1 für NirSoft-Freeware-Tools, die unglaublich gut sind und normalerweise portabel (einzelne .exe) und klein (<500 KB) sind. Sehr talentierter Entwickler da! Basj vor 6 Jahren 0
1

In Microsoft Network Monitor können Sie möglicherweise sagen: "Nur Pakete erfassen, die an und von dieser Anwendung gesendet werden".

-1 für eine vage und meist nur vermeintliche Antwort. Cylindric vor 5 Jahren 0
1
cbabb

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

Wenn Sie nach der Installation eine bestimmte Anwendung anvisieren möchten, klicken Sie einfach auf den Menüpunkt " Beliebiger Prozess ", ziehen Sie den Cursor in das geöffnete Fenster und lassen Sie ihn los. Es wird nur diese Zielanwendung angezeigt, bis Sie mit der rechten Maustaste auf das Menüelement klicken, das den Zielprozess jetzt in rotem Text liest, um ihn freizugeben.

http://fiddler2.com/

Wie verwende ich Fiddler für Nicht-HTTP / FTP-Anfragen? Pacerier vor 8 Jahren 0
0
James Polley

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

Ich denke jedoch, dass dies nur hilfreich sein wird, wenn das Programm eine Verbindung öffnet und geöffnet lässt. Sie werden nicht den gesamten Netzwerkverkehr eines bestimmten Programms anzeigen. Es ist zum Beispiel möglich, dass während des Ladevorgangs ein sehr kurzer Telefonanruf erfolgt, die Verbindung jedoch nach dem Ausführen von TCPView nicht mehr besteht.

Der Prozessmonitor kann dabei helfen, mehr Details zu erhalten, aber ich habe ihn noch nicht verwendet, daher bin ich mir nicht sicher, wie viel er von Netzwerksteckdosen erfasst.

TCPView hilft nur bei bestehenden Verbindungen. Ich muss sogar erfolglose TCP-Verbindungsversuche sehen. melco-man vor 14 Jahren 3
In diesem Fall habe ich keine Ideen mehr. Wahrscheinlich lohnt es sich, dies der Frage hinzuzufügen. James Polley vor 14 Jahren 0