Wir werden kurz die Ports innerhalb des Computernetzwerks beschreiben und darüber sprechen, wie wir jeden offenen Port in Linux auflisten können.
Ein Port kann im Hinblick auf Computernetzwerke und Software als logische Einheit definiert werden.
Es fungiert als Kommunikationsendpunkt zur Identifizierung eines bestimmten Prozesses oder einer bestimmten Anwendung auf dem Linux-Betriebssystem . Ein Port ist ein 16-Bit (o bis 65535) Nummer, die eine einzelne Anwendung von anderen auf verschiedenen Endsystemen unterscheidet.
Zwei der bekanntesten Internet-Transportprotokolle, Benutzer-Datagram-Protokoll (UDP) Und Übertragungskontrollprotokoll (TCP) und andere Protokolle wenden Portnummern für viele Kommunikationssitzungen an (Ziel- und Quellportnummern in Verbindung mit den Ziel- und Quell-IP-Adressen).
Eine Kombination aus Protokoll, Port und IP-Adresse TCP/UDP heißt a Steckdose. Es ist notwendig, dass alle Dienste über einen bestimmten Socket verfügen.
Switch-Methode Java
Kategorien von Portweinen
Diese Ports sind aus Gründen der Benutzerfreundlichkeit in drei Kategorien unterteilt, da die Vielfalt der Ports groß ist. Alle Kategorien sind als Port-Wertebereich gekennzeichnet:
0-1023: Diese Ports sind sehr bekannt und angerufen 'System' Häfen. Sie sind den Prozessen des Systems vorbehalten, die eine Vielzahl von Netzwerkdiensten bereitstellen. Ein Prozess sollte über die Privilegien eines Superusers verfügen, um sich mit jedem anderen zu verbinden 'Sehr bekannt' Hafen.
1024-49151: Diese Ports sind 'Eingetragen' und rief die 'Benutzer' Häfen. Sie sind mit gekennzeichnet IANA für einzigartige Dienstleistungen. Ein Prozess kann auf Anfrage eine Authentifizierung für sie durchführen. Für die Nutzung dieser Ports sind in den meisten Systemen keine Superuser-Berechtigungen erforderlich.
49152-65535: Diese Ports sind „Dynamisch“ und rief die 'Privat' Häfen. Sie können nicht registriert werden IANA. Diese Arten von Ports können für benutzerdefinierte und private Dienste verwendet werden und können auch als kurzlebige Ports (bekannt als) zugewiesen werden kurzlebig (über IP zugewiesene Ports) automatisch.
Es gibt so viele Möglichkeiten, offene Ports unter Linux zu überprüfen. Standardmäßig wird ein Port geschlossen, sofern er nicht von einer Anwendung angewendet wird. Ein Port sollte einem Prozess oder Dienst zugewiesen werden, wenn dieser geöffnet ist.
Öffnen Sie die Portliste
Es ist einfacher zu erkennen, welcher Port verwendet wird, anstatt zu wissen, welcher Port geöffnet ist. Daher werden im folgenden Abschnitt Methoden zum Auflisten aller derzeit verwendeten Ports bereitgestellt.
Für diese Aufgabe stehen unter Linux mehrere Tools zur Verfügung. Die meisten davon sind verfügbar eingebaut in einer Linux-Distribution.
In vielen Fällen kann es hilfreich sein, herauszufinden, welcher Port derzeit geöffnet ist. Es ist möglich, einen dedizierten Port für eine gesicherte Anwendung festzulegen. Ein offener Port könnte ein deutliches Indiz für einen Einbruch in das Netzwerk sein.
Die Methoden werden weiter verwendet Ubuntu 20.04 LTS die unten aufgeführt sind.
Listen Sie offene Ports und Protokolle mithilfe der Datei /etc/services auf
Die Datei, d. h. /etc/services enthält Details zu den laufenden Diensten (derzeit). Es ist eine große Datei.
$cat /etc/services | less
Offene Ports mit netstat auflisten
Der netstat Das Tool kann als Dienstprogramm zum Anzeigen von Netzwerkverbindungen für Routing-Tabellen, TCP und verschiedene Netzwerkschnittstellen beschrieben werden. Außerdem erleichtert es die Statistik des Netzwerkprotokolls. Mit dem Netstat-Tool könnten wir jeden offenen Port eines Systems auflisten.
Wir können den folgenden Befehl ausführen:
$ netstat -atu
Lassen Sie uns kurz die Aufschlüsselung der einzelnen Flags erklären, die wir im obigen Befehl verwendet haben:
1. a: Dieses Flag informiert Netstat über die Anzeige jedes Sockets.
2. t: Dieses Flag informiert netstat über die Auflistung von TCP-Ports.
3. in: Dieses Flag informiert netstat über die Auflistung von UDP-Ports.
Der netstat Der Befehl hat eine weitere Variante, die unten erwähnt wird:
$ netstat -lntu
Im obigen Befehl sind zwei Flags neu, die wie folgt erklärt werden:
1. l: Dieses Flag weist netstat an, nur die Listening-Sockets zu drucken.
2. n: Dieses Flag informiert netstat über die Anzeige der Portnummer.
Wir können eine Flagge verwenden, d. h. '-P' um die Prozess-PID anzuzeigen, die einen beliebigen Port verwendet.
$ netstat -lntup
Überprüfen Sie offene Ports lokal
Der Befehl netstat ist auf jedem Computer-Betriebssystem zur Überwachung von Netzwerkverbindungen verfügbar. Der folgende Befehl wendet netstat an, um jeden Überwachungsport mit dem TCP-Protokoll anzuzeigen:
netstat -lt
Lassen Sie uns kurz die Flags definieren, die im obigen Befehl vorhanden sind:
1. -l: Es listet die Überwachungsports auf.
2. -t: Es gibt das TCP-Protokoll an.
Das Ergebnis ist übersichtlich in Spalten unterteilt, in denen das Protokoll, benutzerfreundliche, gesendete und empfangene Pakete, der Portstatus sowie Remote- und lokale IP-Adressen angezeigt werden.
Wenn wir das TCP-Protokoll in das UDP-Protokoll ändern, werden in der Ausgabe nur offene Ports angezeigt. Aufgrund eines Widerspruchs zum TCP-Protokoll wird das Ergebnis ohne Zustandsbeschreibung angezeigt.
Frühling MVC
netstat -lu
Wir können die Beschreibung von Protokollen ignorieren und nur die Option --listen oder -l anwenden, um Details zu jedem Port zu erhalten, der das Protokoll frei überwacht:
netstat --listen
Die obige Option zeigt die Details für Unix-, UDP- und TCP-Socket-Protokolle an.
Jedes obige Beispiel zeigt, wie die Details über Überwachungsports ohne autorisierte Verbindungen gedruckt werden. Die folgenden Befehle zeigen, wie Überwachungsports und autorisierte Verbindungen angezeigt werden.
netstat -vatn
Wo:
1 in: Es dient der Ausführlichkeit.
2. -a: Es zeigt aktive Verbindungen an.
3. -t: Es zeigt TCP-Verbindungen an.
4. -n: Es zeigt Ports (numerischer Wert) an.
Nehmen wir an, wir erkennen einen verdächtigen Prozess in unserem System und möchten die damit verbundenen Ports überprüfen. Wir können den Befehl lsof verwenden, der zum Auflisten geöffneter Dateien im Zusammenhang mit Prozessen verwendet wird.
lsof -i 4 -a -p
Wo,
1. -i: Es listet die Dateien auf, die mit dem Internet zusammenarbeiten 6 Option ist vorhanden für IPv6, und das 4 Die Option weist nur das Drucken an IPv4.
2. -a: Es weist das Ergebnis an Du gabst.
3. -p: Es gibt die Prozess-PID-Nummer an, die wir überprüfen möchten.
Offene Ports mit SS auflisten
Der ss Das Tool kann als Dienstprogramm zur Untersuchung des Sockets angegeben werden. Die Verwendung dieses Tools ist die gleiche wie die netstat Befehl.
Wir können den folgenden Befehl ausführen, um die offenen Ports aufzulisten:
$ ss -lntu
Die oben genannten Flags sind die gleichen wie die netstat Befehl. Auch die Funktionen, die das SS-Tool beschreibt, sind weitgehend gleich.
1. l: Dieses Flag informiert SS über die Anzeige der Listening-Sockets.
2. n: Dieses Flag weist SS an, nicht zu versuchen, Dienstnamen zu schließen.
3. t: Dieses Flag informiert SS über die Anzeige von TCP-Sockets.
4. in: Dieses Flag informiert SS über die Anzeige von UDP-Sockets.
Offene Ports mit lsof auflisten
Der Befehl lsof kann zum Auflisten geöffneter Dateien verwendet werden. Es kann aber auch zur Anzeige der offenen Ports verwendet werden.
Wir können den folgenden Befehl ausführen:
$ lsof -i
Um die offenen Ports eines bestimmten Protokolls (UDP, TCP usw.) zu erhalten, geben Sie diese nach Verwendung von an '-ich' Flag können wir den folgenden Befehl ausführen:
$ lsof -i
Offene Ports mit nmap auflisten
Der Befehl nmap kann als leistungsstarker Befehl für Port-/Sicherheitsscans und Netzwerkerkundung definiert werden. Es kann auch jeden offenen Port innerhalb des Systems melden.
Wir können den folgenden Befehl ausführen, um die offenen TCP-Ports aufzulisten.
$ sudo nmap -sT -p- localhost
Der oben erwähnte Befehl besteht aus zwei Abschnitten:
1: Es informiert das nmap-Tool zum Scannen TCP Häfen.
2. -p-: Es informiert das nmap-Tool zum Scannen jedes Mal 65535 Häfen. Das Nmap-Tool scannt 1000 Ports nur standardmäßig, wenn sie nicht verwendet werden.
Wenn wir die offenen Ports von UDP auflisten müssen, können wir den folgenden Befehl ausführen:
$ sudo nmap -sU -p- localhost
Wir können auch den folgenden Befehl ausführen, um sowohl die UDP- als auch die TCP-Ports abzurufen:
$ sudo nmap -n -PN -sT -sU -p- localhost
Offene Ports mit Netcat auflisten
Das Netcat-Tool kann als Befehlszeilen-Dienstprogramm zum Lesen und Schreiben von Daten über viele Netzwerkverbindungen auf den UDP- und TCP-Protokollen beschrieben werden. Außerdem kann es zum Auflisten offener Ports verwendet werden. Dieses Tool kann Tests über einen bestimmten Port oder eine Vielzahl von Ports durchführen.
Der folgende Netcat-Befehl wird zum Scannen des Ports verwendet 1-1000. Standardmäßig wird das Scan-over-TCP-Protokoll implementiert:
$ nc -z -v localhost 1-1000
Es kann auch auf die gesamte Liste bestimmter Ports erweitert werden:
$ nc -z -v localhost 1-65535
Lassen Sie uns diese Flags schnell aufschlüsseln.
1. von: Es informiert den Netcat-Befehl nur über das Scannen offener Ports, ohne dass Daten übertragen werden.
2. in: Es informiert den Netcat-Befehl über die Ausführung im ausführlichen Modus.
Rückgabe eines Arrays Java
Wir können das Ergebnis mit Hilfe von grep nach einem Begriff filtern 'erfolgreich' um nur die offenen Ports durch diese Liste zu bekommen.
$ nc -z -v 127.0.0.1 20-80 | grep succeeded
Wenn wir den Scan über das UDP-Protokoll implementieren möchten, muss der. Wir können das einbeziehen '-In' Flagge.
$ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded