15 Nützliche Sockstat -Befehlsbeispiele, um geöffnete Ports in FreeBSD zu finden

15 Nützliche Sockstat -Befehlsbeispiele, um geöffnete Ports in FreeBSD zu finden

Sockstat ist ein vielseitiges Dienstprogramm für Befehlszeilen, das zum Anzeigen von Netzwerk- und System -geöffneten Sockets in FreeBSD verwendet wird. Hauptsächlich wird der Befehl Sockstat standardmäßig in FreeBSD installiert und wird üblicherweise zum Anzeigen des Namens der Prozesse verwendet, die einen bestimmten Netzwerkport auf einem FreeBSD -System geöffnet haben.

Jedoch, Sockstat Kann auch geöffnete Sockets basierend auf der Protokollversion (beide IP -Versionen), im Status der Verbindung und auf dem, was ein Daemon oder ein Programm bindet, auf der Basis der Protokollversion (beide IP -Versionen) auflisten und hört, auf.

Lesen Sie auch: 20 nützliche Befehlsbeispiele von 'Netstat', um die Netzwerkverbindungen zu überprüfen

Es kann auch interprozessische Kommunikationshöhlen angezeigt. Der Befehl sockstat in Kombination mit Grep -Filter oder Pipeed über AWK -Dienstprogramm erweist sich als leistungsstarkes Werkzeug für den lokalen Netzwerkstapel.

Es kann die Ergebnisse für eine geöffnete Verbindung verkleinern, die auf dem Benutzer basiert, der den Socket besitzt.

In diesem Leitfaden werden einige häufige Auslastungsbeispiele, aber auch sehr leistungsfähig, von Sockstat Command Line Networking -Dienstprogramm in FreeBSD auflisten.

Anforderungen

  1. Freebsd 11.1 Installationshandbuch

1. Listen Sie alle geöffneten Ports in FreeBSD auf

Einfach ohne Optionen oder Switches ausgeführt. Der Befehl Sockstat zeigt alle geöffneten Steckdosen in einem FreeBSD -System an, wie im folgenden Screenshot dargestellt.

# Sockstat 
Zeigen Sie Netzwerkports in FreeBSD an

Die im Sockstat -Ausgang angezeigten Werte werden als:

  • BENUTZER : Der Eigentümer (Benutzerkonto) der Socket.
  • BEFEHL : Der Befehl, der mit geöffneten Socket geöffnet wurde.
  • PID : Die Prozess -ID des Befehls, dem die Socket gehört.
  • Fd : Die Dateideskriptornummer der Socket.
  • Proto : Das Transportprotokoll (normalerweise TCP/UDP), die dem geöffneten Socket oder Socket -Typ bei UNIX -Domänen -Sockets (Datagramm, Stream oder SEQPAC) für UNIX -Sockets zugeordnet sind.
  • LOKALE ADRESSE : Es repräsentiert die lokale IP -Adresse für IP -basierte Sockets. Bei Unix -Sockets repräsentiert es den Endpunkt -Dateinamen, der an der Sockel angeschlossen ist. Der “??” Notation impliziert, dass der Socket -Endpunkt nicht erkannt oder festgelegt werden konnte.
  • FREMDE ADRESSE : Die Remote -IP -Adresse, an die der Sockel angeschlossen ist.

2. Listen Sie Hör- oder Öffnen von Ports in FreeBSD auf

Ausgeführt mit dem -l Flag, SockStat -Befehl zeigt alle im Netzwerkstapel geöffneten Hörstecke an und alle geöffneten UNIX -Domain -Sockets oder benannten Pipes, die an einer lokalen Datenverarbeitung im System beteiligt sind.

# Sockstat -l 
List geöffnete Netzwerkports

3. Listen Sie die IPv4 -geöffneten Ports in FreeBSD auf

Alle geöffneten Sockets für angezeigt IPv4 Protokoll nur, geben Sie den Befehl mit dem aus -4 Flagge, wie im folgenden Beispiel vorgeschlagen.

# Sockstat -4 
Listen Sie die IPv4 -geöffneten Ports in FreeBSD auf

4. Listen Sie IPv6 auf, die Ports in FreeBSD geöffnet haben

Ähnlich wie bei der IPv4 -Version können Sie auch die geöffneten Netzwerkstecke für angezeigt IPv6 Nur durch Ausgabe des Befehls wie unten gezeigt.

# Sockstat -6 
Listen Sie die IPv6 geöffneter Ports auf

5. Listen Sie TCP oder UDP -geöffnete Ports in FreeBSD auf

Um Netzwerk -Sockets anzuzeigen, die nur auf einem bestimmten Netzwerkprotokoll basieren, wie z TCP oder UDP, Verwenden Sie das -P Flagge, gefolgt vom Argumentnamen des Protokolls.

Die Protokollnamen finden Sie durch die Überprüfung des Inhalts des /etc/Protokolle Datei. Derzeit wird das ICMP -Protokoll vom Sockstat -Tool nicht unterstützt.

Zeigen Sie nur TCP -Sockets
# Sockstat -p TCP 
Listen Sie TCP geöffnete Ports auf
Zeigen Sie nur UDP -Sockeln
# Sockstat -p UDP 
Listen Sie die geöffneten Ports auf

Ketten Sie beide Protokolle.

# Sockstat -p TCP, UDP 

6. Listen Sie TCP- und UDP -spezifische Portnummern auf

Wenn Sie alle TCP- oder UDP -IP -geöffneten Sockets anzeigen möchten, verwenden Sie basierend auf der lokalen oder Remote -Portnummer die folgenden Befehlsflags und Syntax, wie im folgenden Screenshot dargestellt.

# sockstat -p tcp -p 443 [tcp https port] # sockstat -p udp -p 53 [udp dns port] # sockstat -p tcp -p 443,53,80,21 [SCHWEDETE TCP und UDP] anzeigen 
Listen Sie einen spezifischen TCP -Port auf

7. Liste geöffnet und verbundene Ports in FreeBSD

Um alle geöffneten und verbundenen Sockets anzuzeigen, verwenden Sie die -C Flagge. Wie in den folgenden Beispielen gezeigt, können Sie alle auflisten Https Angeschlossene Steckdosen oder alle TCP -angeschlossenen Steckdosen durch Ausgabe der Befehle.

# Sockstat -p tcp -p 443 -c # sockstat -p tcp -c 
Liste geöffnete und verbundene Ports

8. Listen Sie das Netzwerk -Höranschluss in FreeBSD auf

Um alle geöffneten TCP -Sockets im Hörstatus aufzulisten -l Und -S Flags, wie im folgenden Beispiel gezeigt. UDP ist ein verbindungsloses Protokoll und behält keine Informationen über den Zustand der Verbindung bei.

UDP-geöffnete Sockets können nicht mithilfe ihres Zustands angezeigt werden.

# Sockstat -46 -l -s 
Listen Sie Netzwerk -Höranschlüsse auf

9. Listen Sie Unix -Sockets und benannte Pipes auf

UNIX-Domänen-Sockets sowie andere Formen der lokalen Kommunikation mit Inter-Process, wie z -u Flag, wie im folgenden Bild gezeigt.

# Sockstat -U 
Listen Sie Unix Sockets auf

10. Listen Sie die durch Anwendung in FreeBSD geöffneten Ports auf

Der Befehlsausgang der Sockstat kann über Grep -Dienstprogramm gefiltert werden, um eine Liste der von einer bestimmten Anwendung oder eines bestimmten Befehl geöffneten Ports anzuzeigen.

Angenommen, Sie möchten alle mit verbundenen Sockel auflisten Nginx Webserver können Sie den folgenden Befehl ausgeben, um die Aufgabe zu erreichen.

# Sockstat -46 | grep nginx 
Listen Sie die Anwendungshörhöhlen auf

Um nur die mit dem NGINX -Webserver zugeordneten verbundenen Sockets anzuzeigen, geben Sie den folgenden Befehl aus.

# Sockstat -46 -c | grep nginx 

11. Listen Sie HTTPS -angeschlossene Protokolle auf

Sie können alle verbundenen Steckdosen auflisten, die zugeordnet sind Https Protokoll neben dem Zustand jeder Verbindung, indem Sie den folgenden Befehl ausführen.

# sockstat -46 -s -p tcp -p 443 -c 
Listen Sie HTTPS -angeschlossene Protokolle auf

12. Listen Sie HTTP Remote Sockets auf

Um alle mit dem HTTP -Protokoll verbundenen Remote -Sockets aufzulisten, können Sie eine der folgenden Befehlskombinationen ausführen.

# Sockstat -46 -c | EGREP '80 | 443 '| awk 'print $ 7' | Uniq -c | Sortieren -nr # sockstat -46 -c -p 80.443 | GREP -v -Adresse | awk 'print $ 7' | Uniq -c | sortieren -nr 
Listen Sie Remote -HTTP -Protokolle auf

13. Suchen Sie die höchsten HTTP -Anfragen nach IP -Adressen

Wenn Sie herausfinden möchten, wie viele HTTP -Verbindungen von jeder Remote -IP -Adresse angefordert werden, geben Sie den folgenden Befehl aus. Dieser Befehl kann sehr nützlich sein, falls Sie feststellen möchten, ob Ihr Webserver unter einer Art DDOS -Angriff steht. Im Falle eines Verdachts sollten Sie die IP -Adressen mit der höchsten Anforderungsrate untersuchen.

# Sockstat -46 -c | EGREP '80 | 443 '| awk 'print $ 7' | Cut -d: -f1 | Uniq -c | sortieren -nr 

14. Listen Sie die DNS auf, die Sockets geöffnet haben

Wenn Sie einen Caching und einen DNS -Server auf Ihrem Räumlichkeiten konfiguriert haben, um interne Clients über das TCP -Transportprotokoll zu bedienen, möchten Sie eine Liste aller Sockets anzeigen
Führen Sie zusammen mit dem Status jeder Socket -Verbindung vom Resolver geöffnet, um den folgenden Befehl auszuführen.

# Sockstat -46 -p tcp -p 53 -s 
Listen Sie die DNS auf, die Sockets geöffnet haben

15. Abfragen Sie TCP -DNS auf der lokalen Domäne ab

Wenn es im Netzwerk keinen DNS -Datenverkehr gibt, können Sie eine DNS. Geben Sie anschließend den obigen Befehl aus, um alle Resolver -Sockets aufzulisten.

# Dig +TCP www.Domain.com @127.0.0.1 
Abfragen Sie TCP -DNS auf lokaler

Das ist alles! Zusammen mit Netstat und LSOF -Befehlszeilen -Versorgungsunternehmen ist die Befehlszeile von Sockstat ein leistungsstarkes Dienstprogramm, das zum Erwerb von Netzwerkinformationen verwendet wird und mehrere Aspekte des FreeBSD -Netzwerkstacks und netzwerkbezogenen Prozesse und Dienste beheben.

Das FreeBSD Sockstat Command -Gegenstück unter Linux wird durch die dargestellt Netstat oder das neu ss Befehl. Ob Sie es glauben oder nicht, basierend auf dem Sockstat -Dienstprogramm finden Sie eine ähnliche Anwendung, die für Android OS namens Sockstat - Simple Netstat GUI entwickelt wurde.