GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So finden Sie die Portnummer eines Dienstes in Linux

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.


Linux
  1. So finden Sie unter Linux heraus, ob es sich bei der Festplatte um eine SSD oder HDD handelt

  2. Linux – So finden Sie Prozesse über die serielle Schnittstelle?

  3. So verwenden Sie den Linux-Befehl find zum Suchen von Dateien

  4. So finden Sie alle Sparse-Dateien in Linux

  5. So finden Sie die Socket-Puffergröße von Linux

So finden Sie die IP-Adresse unter Linux

So finden Sie den Hostnamen unter Linux

So ermitteln Sie die Gesamtgröße eines Verzeichnisses in Linux

So finden Sie Dateien mit dem fd-Befehl in Linux

So pingen Sie eine Portnummer in Linux an

So finden Sie die Liste der installierten Repositories in Linux