Möglicherweise müssen Sie aus bestimmten Gründen häufig die Portnamen und -nummern finden. Wenn ja, haben Sie Glück. Heute werden wir in diesem kurzen Tutorial die einfachsten und schnellsten Möglichkeiten sehen, die Portnummer eines Dienstes im Linux-Betriebssystem zu finden. Es könnte viele Methoden geben, dies zu tun, aber mir sind derzeit nur die folgenden drei Methoden bekannt. Lesen Sie weiter.
Suchen Sie die Portnummer eines Dienstes in Linux
Methode 1 – Verwendung des Grep-Befehls:
Um die Standardportnummer eines bestimmten Dienstes in Linux mit dem Befehl grep zu finden, führen Sie einfach Folgendes aus:
$ grep <port> /etc/services
Um beispielsweise den Standardport eines SSH-Dienstes zu finden, führen Sie einfach Folgendes aus:
$ grep ssh /etc/services
So einfach ist das. Dieser Befehl sollte auf den meisten Linux-Distributionen funktionieren. Hier ist die Beispielausgabe meiner Arch-Linux-Testbox:
ssh 22/tcp ssh 22/udp ssh 22/sctp sshell 614/tcp sshell 614/udp netconf-ssh 830/tcp netconf-ssh 830/udp sdo-ssh 3897/tcp sdo-ssh 3897/udp netconf-ch-ssh 4334/tcp snmpssh 5161/tcp snmpssh-trap 5162/tcp tl1-ssh 6252/tcp tl1-ssh 6252/udp ssh-mgmt 17235/tcp ssh-mgmt 17235/udp
Wie Sie in der obigen Ausgabe sehen können, ist die Standardportnummer des SSH-Dienstes 22.
Lassen Sie uns die Portnummer des Apache-Webservers finden. Dazu lautet der Befehl:
$ grep http /etc/services # http://www.iana.org/assignments/port-numbers http 80/tcp www www-http # WorldWideWeb HTTP http 80/udp www www-http # HyperText Transfer Protocol http 80/sctp # HyperText Transfer Protocol https 443/tcp # http protocol over TLS/SSL https 443/udp # http protocol over TLS/SSL https 443/sctp # http protocol over TLS/SSL gss-http 488/tcp gss-http 488/udp webcache 8080/tcp http-alt # WWW caching service webcache 8080/udp http-alt # WWW caching service [...]
Wie sieht es mit der FTP-Portnummer aus? Ganz einfach!
$ grep ftp /etc/services ftp-data 20/tcp ftp-data 20/udp # 21 is registered to ftp, but also used by fsp ftp 21/tcp ftp 21/udp fsp fspd tftp 69/tcp [...]
Methode 2 – Getent-Befehl verwenden
Wie Sie sehen können, zeigen die obigen Befehle alle Portnamen und -nummern für den angegebenen Suchbegriff "ssh", "http" und "ftp". Das heißt, Sie erhalten eine ziemlich lange Ausgabe aller Portnamen, die mit dem angegebenen Suchbegriff übereinstimmen.
Sie können das Ergebnis jedoch mit dem Befehl "getent" wie folgt auf eine exakte Ausgabe eingrenzen:
$ getent services ssh ssh 22/tcp
$ getent services http http 80/tcp www www-http
$ getent services ftp ftp 21/tcp
Wenn Sie den Portnamen nicht kennen, aber die Portnummer, ersetzen Sie einfach den Portnamen durch die Nummer wie unten:
$ getent services 80 http 80/tcp
Um alle Portnamen und -nummern anzuzeigen, führen Sie einfach Folgendes aus:
$ getent services
Empfohlene Lektüre:
- So ändern Sie den Apache-Standardport in einen benutzerdefinierten Port
- So ändern Sie den FTP-Standardport in einen benutzerdefinierten Port
- So ändern Sie den SSH-Standardport in einen benutzerdefinierten Port
Methode 3 – Verwenden des Whatportis-Dienstprogramms
Das Whatportis ist ein einfaches Python-Skript, das verwendet wird, um Portnamen und -nummern zu finden. Im Gegensatz zu den obigen Befehlen zeigt dieses Dienstprogramm die Ausgabe in einem netten tabellarischen Spaltenformat an.
Stellen Sie sicher, dass Sie den PIP-Paketmanager installiert haben. Wenn nicht, verweisen Sie auf den folgenden Link.
- Wie man Python-Pakete mit Pip verwaltet
Führen Sie nach der Installation von PIP den folgenden Befehl aus, um das Dienstprogramm Whatportis zu installieren.
$ pip install whatportis
Jetzt können Sie wie unten gezeigt herausfinden, welcher Port mit einem Dienst verknüpft ist.
$ whatportis ssh
$ whatportis ftp
$ whatportis http
Beispielausgabe von meinem CentOS 7-Server:

Finden Sie die Portnummer eines Dienstes in Linux
Wenn Sie den genauen Namen eines Dienstes nicht kennen, verwenden Sie --like markieren, um die relevanten Ergebnisse anzuzeigen.
$ whatportis mysql --like
Die obigen Befehle haben Ihnen geholfen, herauszufinden, welcher Port mit einem Dienst verknüpft ist. Sie können auch herausfinden, welcher Dienst mit einer Portnummer verknüpft ist, wie unten.
$ whatportis 993
Sie können die Ergebnisse sogar in JSON anzeigen formatieren.
$ whatportis 993 --json
Weitere Einzelheiten finden Sie im GitHub-Repository.
- Whatportis GitHub-Repository
Verwandte Lektüre:
- So finden Sie heraus, welcher Dienst einen bestimmten Port abhört
Und das ist alles für jetzt. Sie wissen jetzt, wie Sie die Portnamen und -nummern unter Linux mit drei einfachen Methoden finden. Wenn Sie andere Methoden/Befehle kennen, lassen Sie es mich im Kommentarbereich unten wissen. Ich werde diese Anleitung prüfen und entsprechend aktualisieren.