Wie finde ich heraus, welche Programm- und Prozess-ID unter Windows auf eine bestimmte IP-Adresse zugreift?

19

Kann ich feststellen, welches Programm auf eine bestimmte IP-Adresse zugreift?

Ich habe festgestellt, dass mein Computer überfüllt ist, und möchte die Adressen nacheinander überprüfen.

Ist es möglich, dafür ein Audit einzurichten?

Dims
quelle

Antworten:

31

TCPView-Lösung

TCPView von SystemInternals zeigt eine detaillierte Auflistung aller TCP- und UDP-Endpunkte auf Ihrem System an, einschließlich der lokalen und Remote-Adressen und des Status der TCP-Verbindungen.

TCPView ist ein Windows-Programm, mit dem Sie eine detaillierte Auflistung aller TCP- und UDP-Endpunkte auf Ihrem System anzeigen können, einschließlich der lokalen und Remote-Adressen und des Status von TCP-Verbindungen. Unter Windows Server 2008, Vista und XP gibt TCPView auch den Namen des Prozesses an, dem der Endpunkt gehört. TCPView bietet eine informativere und übersichtlichere Teilmenge des mit Windows gelieferten Programms Netstat. Der TCPView-Download enthält Tcpvcon, eine Befehlszeilenversion mit derselben Funktionalität.

Bildbeschreibung hier eingeben

  • Stellen Sie sicher, dass "Adressen auflösen" deaktiviert ist, um IP-Adressen anstelle von Domänennamen abzurufen.

    Bildbeschreibung hier eingeben

Sie können die Ergebnisse nach "Remote-Adresse" sortieren, um die IP-Adresse zu finden, die Sie interessiert.

Beispiel:

  • Dieser Screenshot zeigt, wie Firefox eine Verbindung zu stackoverflow.com herstellt.

    Bildbeschreibung hier eingeben


CurrPorts-Lösung

CurrPorts von Nirsoft bietet sehr ähnliche Funktionen.

CurrPorts ist eine Netzwerküberwachungssoftware, die eine Liste aller aktuell auf Ihrem lokalen Computer geöffneten TCP / IP- und UDP-Ports anzeigt. Für jeden Port in der Liste werden auch Informationen zu dem Prozess angezeigt, der den Port geöffnet hat, einschließlich des Prozessnamens, des vollständigen Pfads des Prozesses, der Versionsinformationen des Prozesses (Produktname, Dateibeschreibung usw.) sowie der Uhrzeit Der Prozess wurde erstellt und der Benutzer, der ihn erstellt hat.

Bildbeschreibung hier eingeben

Beispiel:

  • Dieser Screenshot zeigt, wie Firefox eine Verbindung zu stackoverflow.com herstellt.

    Bildbeschreibung hier eingeben


Was ist, wenn ich die Ergebnisse protokollieren möchte?

TcpLogView von Nirsoft bietet auch die Protokollierung von TCP-Verbindungen.

TcpLogView ist ein einfaches Dienstprogramm, das die geöffneten TCP-Verbindungen auf Ihrem System überwacht und jedes Mal, wenn eine TCP-Verbindung geöffnet oder geschlossen wird, eine neue Protokollzeile hinzufügt. Für jede Protokollzeile werden die folgenden Informationen angezeigt: Gerade Zeit, Ereignistyp (Öffnen, Schließen, Abhören), Lokale Adresse, Remote-Adresse, Name des Remote-Hosts, Lokaler Port, Remote-Port, Prozess-ID, Prozessname und die Länderinformationen der Remote-IP (Erfordert das separate Herunterladen der IP in eine Länderdatei.)

Bildbeschreibung hier eingeben


Haftungsausschluss

Ich bin in keiner Weise mit SystemInternals (einem Teil von Microsoft) oder Nirsoft verbunden. Ich bin lediglich ein Endbenutzer der (kostenlosen) Dienstprogramme.

DavidPostill
quelle
Ich fürchte, es ist unmöglich, auf diese Weise einige Pakete zu fangen, da sie schnell verschwinden. Ich muss mich anmelden.
Dims
Stellen Sie sich vor, ich möchte fangen, an wen Pakete gesendet werden 88.221.132.207. Wie sieht man das? Diese Anwendung verfügt nicht einmal über Such- oder Filterfunktionen. Dh ich werde es sogar nicht mit den Augen fassen können, wenn es schnell verschwindet.
Dims
1
Dann brauchen Sie wahrscheinlich einen Packet Sniffer wie Wireshark
DavidPostill
1
Wiresharkzeigt keine Prozess-ID an. Ich muss wissen, (1) Prozess (2) IP; beide
Dims
6
@Dims Verwenden Sie TCPLogView auch von Nirsoft. Antwort aktualisiert
DavidPostill
8

In Windows 7/8 * / 10 können Sie Ressourcenmonitor -> Registerkarte Netzwerk verwenden.

Der einfachste Weg, den Ressourcenmonitor zu öffnen, ist:

  • Öffnen Sie den Task-Manager (rechte Taskleiste -> Task-Manager starten)
  • Klicken Sie auf die Registerkarte Leistung
  • Klicken Sie auf die Schaltfläche Resource Monitor

Ressourcenmonitor -> Netzwerk

* = nicht bestätigt

Salman A
quelle
2

Sie können dies auch erreichen, ohne zusätzliche Tools von einer Admin-Befehls-Shell herunterzuladen.

Führen Sie eine Admin-Befehlsshell aus:

  • Drücke den Startknopf
  • Tippe "cmd"
  • Drücken Sie Strg + Umschalt + Eingabetaste

Geben Sie den Befehl ein: netstat -tabn

Die Schalter bedeuten Folgendes:

  • -t Zeigt den aktuellen Status der Verbindungsverlagerung an.
    • dh ERRICHTET, ZUHÖREN, TIME_WAIT
  • -a Zeigt alle Verbindungen und Überwachungsports an.
  • -b Zeigt die ausführbare Datei an, die an der Erstellung der einzelnen Verbindungen oder Überwachungsports beteiligt ist. In einigen Fällen hosten bekannte ausführbare Dateien mehrere unabhängige Komponenten. In diesen Fällen wird die Reihenfolge der Komponenten angezeigt, die beim Erstellen der Verbindung oder des Überwachungsports beteiligt sind. In diesem Fall befindet sich die ausführbare Datei unten in [], oben in der aufgerufenen Komponente usw., bis TCP / IP erreicht wurde. Beachten Sie, dass diese Option zeitaufwändig sein kann und fehlschlägt, wenn Sie nicht über ausreichende Berechtigungen verfügen.
  • -n Zeigt Adressen und Portnummern in numerischer Form an.

Dies ist zwar nicht annähernd so ausgefeilt wie die Ausgabe, die durch die vielen GUI-Optionen erzielt wird, aber es ist vorhanden und verfügbar, ohne dass zusätzliche Tools heruntergeladen werden müssen. Es funktioniert auch unter Linux mit etwas anderen Switches.

antik
quelle
1

Wie antik bereits sagte, können Sie netstat von einer Admin-Eingabeaufforderung aus verwenden. Ich würde jedoch vorschlagen, dass Sie ostattdessen bdie Ausgabe in einer Zeile für einen Eintrag verwenden, und Sie können sie mit find weiter filtern. Sie haben nicht den Prozessnamen, sondern die Prozess-ID:

Z.B

netstat -aon | find ":80"

Zeigt alle Verbindungen an, die Port 80 verwenden (entweder lokal oder remote).

Sie können diesen Vorgang dann im Task-Manager überprüfen oder einen anderen Filter in der Eingabeaufforderung mithilfe der Aufgabenliste ausführen:

tasklist | find "1100"

oder

tasklist /FI "PID eq 1100"
Razvan Popa
quelle