Welchen Port verwendet ein bestimmtes Programm? [geschlossen]

99

Ich möchte herausfinden können, welchen Port ein bestimmtes Programm verwendet. Gibt es online verfügbare Programme oder Fenster, die mir mitteilen, welche Prozesse welche Ports auf meinem Computer verwenden?

PS: Bevor Sie dies heruntermodifizieren, weil es sich nicht um eine Programmierfrage handelt, suche ich nach einem Programm zum Testen von Netzwerkcode.

AlexeyMK
quelle
7
Unabhängig davon, ob Sie dies als Teil eines Programmierprojekts verwenden, ist es kein Programmierproblem.
Leichtigkeitsrennen im Orbit

Antworten:

149

netstat -b -alistet die verwendeten Ports auf und gibt Ihnen die ausführbare Datei, die jeden verwendet. Ich glaube, Sie müssen in der Administratorgruppe sein, um dies zu tun, und ich weiß nicht, welche Sicherheitsauswirkungen es auf Vista gibt.

Normalerweise füge ich auch hinzu -n, um es etwas schneller zu machen, aber das Hinzufügen -bkann es ziemlich langsam machen.

Bearbeiten : Wenn Sie mehr Funktionen benötigen, als netstat bietet, empfiehlt vasac , TCPView zu verwenden .

Graeme Perrow
quelle
1
Wenn jemand das Recht hat, eine Antwort zu bearbeiten, sollten Sie die unten stehende Antwort von vasac (TCPView) für jeden hinzufügen, der eine voll
funktionsfähigere
Ich habe den Link zu TCPView zu meiner Antwort hinzugefügt.
Graeme Perrow
1
Gibt es eine Möglichkeit mit Firewall?
Mohammad Kermani
42

TCPView kann das tun, wonach Sie gefragt haben.

Vasac
quelle
1
Danke dir; netstat ist mehr als genug für meine Bedürfnisse, aber wenn ich jemals etwas Hardcore brauche, werde ich sicher TCPView verwenden. Sollte zur akzeptierten Antwort hinzugefügt werden, aber leider habe ich noch kein Recht zum Bearbeiten.
AlexeyMK
Ich habe das mit XAMPP gelieferte Dienstprogramm Netstat verwendet. Dieses eigenständige Dienstprogramm ist jedoch sehr nützlich. Vielen Dank.
Shiyaz
25

Unter Vista benötigen Sie erhöhte Berechtigungen, um die Option -b mit netstat verwenden zu können. Um dies zu umgehen, können Sie "netstat -ano" ausführen, das alle offenen Ports zusammen mit der zugehörigen Prozess-ID anzeigt. Sie können dann mithilfe der Aufgabenliste nachschlagen, welcher Prozess die entsprechende ID hat.

C:\>netstat -ano

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  ...
  TCP    [::]:49335             [::]:0                 LISTENING       1056
  ...

C:\>tasklist /fi "pid eq 1056"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
sqlservr.exe                  1056 Services                   0     66,192 K
Jim Olsen
quelle
13

Möglicherweise ist Process Explorer (von Sysinternals, jetzt Teil von Microsoft) bereits installiert. Wenn nicht, installieren Sie es jetzt - es ist einfach so cool.

Im Prozess-Explorer: Suchen Sie den betreffenden Prozess, klicken Sie mit der rechten Maustaste und wählen Sie die Registerkarte TCP / IP. Es wird Ihnen sogar für jeden Socket eine Stapelverfolgung angezeigt, die den Code darstellt, der diesen Socket geöffnet hat.

Adam Mitz
quelle
7

Wenn Sie eine GUI-Oberfläche bevorzugen, ist CurrPorts kostenlos und funktioniert mit allen Windows-Versionen. Zeigt Ports an und welcher Prozess sie geöffnet hat.

ctcherry
quelle
eine weitere gute Alternative. wow, wusste nicht, dass dies ein so beliebtes Thema ist :)
AlexeyMK
5

"netstat -natp" benutze ich immer.

Steve Baker
quelle
4

Windows 8 (und wahrscheinlich 7 + Vista) bietet auch eine Ansicht im Ressourcenmonitor. Wenn Sie die Registerkarte Netzwerk auswählen, gibt es einen Abschnitt namens "Listening Ports". Kann nach Portnummer sortieren und sehen, welcher Prozess sie verwendet.

Mikezx6r
quelle
genau das was ich brauchte, 10x!
Soninob
3

Windows wird mit dem netstatDienstprogramm geliefert, das genau das tun soll, was Sie wollen.

Adam Rosenfield
quelle
1

In einer Befehlszeile gibt Ihnen netstat -a viele Informationen.

CodeRot
quelle
Ich würde darüber abstimmen, wenn ich noch Stimmen hätte.
UnkwnTech
-1: -a gibt keine Prozess-ID
CharlesB
@CharlesB Dies ist der Fall, wenn Sie die -oOption hinzufügen .
Marquis von Lorne
1

Sie können hierfür den Befehl 'netstat' verwenden. Es gibt eine Beschreibung diese Art der Sache zu tun hier .

tkerwin
quelle
-1

Die meisten anständigen Firewall-Programme sollten Ihnen den Zugriff auf diese Informationen ermöglichen. Ich weiß, dass Agnitum OutpostPro Firewall dies tut.

Toby Mills
quelle