webentwicklung-frage-antwort-db.com.de

Wie bestimme ich, ob ein Port auf einem Windows-Server geöffnet ist?

Ich versuche, eine Site unter einem alternativen Port auf einem Server zu installieren, der Port wird jedoch möglicherweise von einer Firewall geschlossen. Gibt es eine Möglichkeit, an einem bestimmten Port ein oder aus zu pingen, um festzustellen, ob er geöffnet ist?

455
Jason

Angenommen, es handelt sich um einen TCP (anstelle von UDP) -Port, den Sie verwenden möchten:

  1. Verwenden Sie auf dem Server netstat -an, um zu überprüfen, welche Ports empfangsbereit sind.

  2. Verwenden Sie von außen einfach telnet Host port (oder telnet Host:port auf Unix-Systemen), um festzustellen, ob die Verbindung abgelehnt, akzeptiert oder ein Timeout vorliegt.

Bei letzterem Test gilt dann im Allgemeinen:

  • Verbindung abgelehnt bedeutet, dass auf diesem Port nichts läuft
  • accept bedeutet, dass an diesem Port etwas läuft
  • Timeout bedeutet, dass eine Firewall den Zugriff blockiert

Unter Windows 7 oder Windows Vista wird die Standardoption "telnet" nicht als interner oder externer Befehl, ausführbares Programm oder Batchdatei erkannt. Um dies zu lösen, aktivieren Sie es einfach: Klicken Sie auf * Start ** → Systemsteuerung Programme Schalten Sie die Windows-Funktionen ein oder aus. Scrollen Sie in der Liste nach unten, wählen Sie Telnet-Client und klicken Sie auf OK.

703
Alnitak

Unter Windows können Sie verwenden

netstat -na | find "your_port"

die Ergebnisse einschränken. Sie können auch nach LISTENING, ESTABLISHED, TCP und dergleichen filtern. Beachten Sie jedoch, dass zwischen Groß- und Kleinschreibung unterschieden wird.

167
J.Celmer

Wenn Sie von außen prüfen, nicht vom Server selbst, und sich nicht die Mühe machen möchten, Telnet (da es nicht mit den letzten Windows-Versionen geliefert wird) oder eine andere Software zu installieren, haben Sie native PowerShell:

Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed

(Leider funktioniert dies nur mit PowerShell 4.0 oder neuer. Um Ihre PS-Version zu überprüfen, geben Sie $PSVersionTable ein.)


(Wenn Sie eine PSV-Version <4.0 haben, haben Sie kein Glück. Überprüfen Sie diese Tabelle:

enter image description here

Obwohl Sie Ihre Version von Powershell durch Installieren des Cmdlets Windows Management Framework 4. aktualisieren können, hat dies für mich Test-NetConnection nicht den gewünschten Erfolg gebracht ist noch nicht verfügbar).

72
knocte

Auf einem Windows-Computer können Sie PortQry von Microsoft verwenden, um mit dem folgenden Befehl zu überprüfen, ob eine Anwendung bereits einen bestimmten Port überwacht:

portqry -n 11.22.33.44 -p tcp -e 80
42
Gunjan Moghe

Das hat mir gefallen:

netstat -an | find "8080" 

von telnet

telnet 192.168.100.132 8080

Und stellen Sie sicher, dass die Firewall auf diesem Computer deaktiviert ist.

38

Wenn telnet nicht verfügbar ist, laden Sie PuTTY herunter. Es ist ein weit überlegener Telnet-, SSH- usw. Client und in vielen Situationen nützlich, nicht nur in diesem, insbesondere wenn Sie einen Server verwalten.

24
Machtyn

Möchten Sie ein Tool dafür? Es gibt eine Website unter http://www.canyouseeme.org/ . Andernfalls müssen Sie von einem anderen Server zurückgerufen werden, um festzustellen, ob ein Port offen ist ...

13
Douglas Mayle

Verwenden Sie diese Option, wenn Sie alle verwendeten und empfangsbereiten Ports auf einem Windows-Server anzeigen möchten:

netstat -an |find /i "listening"

Alle offenen, empfangsbereiten und eingerichteten Ports anzeigen:

netstat -a
12
zehnaseeb

Auf Windows Server können Sie verwenden

netstat -an | where{$_.Contains("Yourport")}
7
Derbium

Eine andere Option ist tcping .

Zum Beispiel:

tcping Host port

3
Vadzim

PsPing von Sysinternals ist auch sehr gut.

3
user1767635

Ich denke, das Beste, was ich bekommen habe, ist, dass Sie hier sowohl Ihre eigenen Ports als auch die Ports anderer Domains überprüfen können.

www.yougetsignal.com/tools/open-ports

2

Folgendes hat bei mir funktioniert:

  • Öffnen Sie eine Eingabeaufforderung
  • Typ telnet
  • Microsoft Telnet> öffne <Hostname oder IP-Adresse> <Leerzeichen> <Port>

Es wird bestätigt, ob der Port geöffnet ist.

1
p_champ

Ein anderes Hilfsprogramm, das ich gefunden habe und das auch gut und klein ist, PortQry Command Line Port Scanner Version 2.0 https://www.Microsoft.com/en-us/download/details.aspx?id=17148

sie können einen Server und einen Port anpingen und es wird Ihnen der Status des Ports angezeigt. Es gibt ein Befehlszeilenprogramm und eine Benutzeroberfläche dafür.

0
Gilberto