15 Przydatne „przykłady poleceń sockstat”, aby znaleźć otwarte porty w FreeBSD

15 Przydatne „przykłady poleceń sockstat”, aby znaleźć otwarte porty w FreeBSD

Sockstat to wszechstronne narzędzie wiersza poleceń używane do wyświetlania sieci i systemu otwartego gniazda w FreeBSD. Głównie polecenie SOCKSTAT jest domyślnie zainstalowane w FreeBSD i jest powszechnie używane do wyświetlania nazwy procesów, które otworzyły określony port sieciowy w systemie FreeBSD.

Jednakże, Sockstat może również wymienić otwarte gniazda oparte na wersji protokołu (obie wersje IP), na stanie połączenia i na jakich portach demon lub program wiąże.

Przeczytaj także: 20 Przydatne przykłady polecenia „NetStat” do sprawdzenia połączeń sieciowych

Może również wyświetlać gniazda komunikacji między procesami, zwykle znanymi jako gniazda domeny unix lub IPC. Polecenie Sockstat w połączeniu z filtrem GREP lub narzędziem AWK okazuje się potężnym narzędziem dla lokalnego stosu sieciowego.

Może zmniejszyć wyniki dla otwartego połączenia na podstawie użytkownika, który jest właścicielem gniazda, deskryptora pliku gniazda sieciowego lub PID procesu, który otworzył gniazdo.

W tym przewodniku wymienimy kilka wspólnych przykładów wykorzystania, ale także bardzo potężne, narzędzia sieciowych linii poleceń sockstat w freebsd.

Wymagania

  1. FreeBSD 11.1 Przewodnik instalacyjny

1. Lista wszystkich otwartych portów w FreeBSD

Po prostu wykonane bez żadnych opcji lub przełączników, polecenie SOCKSTAT wyświetli wszystkie otwarte gniazda w systemie FreeBSD, jak pokazano na poniższym zrzucie ekranu.

# sockstat 
Wyświetl porty sieciowe w FreeBSD

Wartości wyświetlane w danych wyjściowych sockstat są opisane jako:

  • UŻYTKOWNIK : Właściciel (konto użytkownika) gniazda.
  • KOMENDA : Polecenie, które otworzyło gniazdo.
  • Pid : Identyfikator procesu polecenia, który jest właścicielem gniazda.
  • FD : Liczba deskryptora pliku gniazda.
  • Proto : Protokół transportu (zwykle TCP/UDP) powiązany z otwartym gniazdem lub typem gniazda w przypadku gniazd domeny Unix (Datagram, Stream lub SEQPAC) dla gniazd UNIX.
  • LOKALNY ADRES : Reprezentuje lokalny adres IP dla gniazd opartych na IP. W przypadku gniazda Unix reprezentuje nazwę pliku końcowego dołączoną do gniazda. "??" notacja implikuje, że punkt końcowy gniazda nie można rozpoznać ani ustalić.
  • ZAGRANICZNY ADRES : Zdalny adres IP, do którego podłącza się gniazdo.

2. Wymień słuchanie lub otwarte porty w FreeBSD

Wykonane z -L Flaga, polecenie sockstat wyświetli wszystkie gniazda słuchania otwarte na stosie sieciowym i wszystkie otworzyły gniazda domeny unix lub nazwane rury zaangażowane w jakieś lokalne przetwarzanie danych w systemie.

# sockstat -l 
Lista otwartych portów sieciowych

3. List IPv4 otworzył porty w FreeBSD

Aby wyświetlić wszystkie otwarte gniazda IPv4 Tylko protokół, wydaj polecenie za pomocą -4 flaga, jak sugerowano w poniższym przykładzie.

# sockstat -4 
List IPv4 otworzył porty w FreeBSD

4. List IPv6 otworzył porty w FreeBSD

Podobnie jak wersja IPv4, możesz również wyświetlać otwarte gniazda sieciowe dla IPv6 Tylko, wydając polecenie, jak pokazano poniżej.

# sockstat -6 
List Otwarte porty IPv6

5. Lista TCP lub UDP otwarte porty w FreeBSD

W celu wyświetlania gniazd sieciowych opartych tylko na określonym protokole sieciowym, takim jak TCP Lub UDP, Użyj -P flaga, a następnie nazwa argumentu protokołu.

Nazwy protokołu można znaleźć, sprawdzając zawartość /etc/protokoły plik. Obecnie protokół ICMP nie jest obsługiwany przez narzędzie Sockstat.

Pokaż tylko gniazda TCP
# sockstat -p tcp 
List TCP otworzył porty
Pokaż tylko gniazda UDP
# sockstat -p udp 
List UDP otworzył porty

Łańcuch obu protokołów.

# sockstat -p tcp, udp 

6. Wypisz numery portów specyficzne dla TCP i UDP

Jeśli chcesz wyświetlić wszystkie gniazda TCP lub UDP IP, na podstawie numeru portu lokalnego lub zdalnego, użyj poniższych flag poleceń i składni, jak pokazano na poniższym zrzucie ekranu.

# sockstat -p tcp -p 443 [show tcp https port] # sockstat -p UDP -p 53 [pokaż por Port dns] # sockstat -p tcp -p 443,53,80,21 [Pokaż zarówno TCP i UDP] 
Wypisz specyficzny port TCP

7. Lista otwartych i podłączonych portów w FreeBSD

Aby wyświetlić wszystkie otwarte i podłączone gniazda, użyj -C flaga. Jak pokazano na poniższych próbkach, możesz wymienić wszystkie Https podłączone gniazda lub wszystkie podłączone gniazda TCP, wydając polecenia.

# sockstat -p tcp -p 443 -c # sockstat -p tcp -c 
Lista otwartych i podłączonych portów

8. Wymień porty słuchowe sieciowe w FreeBSD

Aby wymienić wszystkie otwarte gniazda TCP w stanie słuchania -L I -S flagi, jak pokazano w poniższym przykładzie. Będąc protokołem bez połączeń, UDP nie utrzymuje informacji o stanie połączenia.

UDP otwarto gniazda nie można wyświetlić za pomocą ich stanu, ponieważ protokół UDP używa danych do wysyłania/odbierania danych i nie ma mechanizmu walizacji do określenia stanu połączenia.

# sockstat -46 -l -s 
Wymień porty słuchowe sieciowe

9. Wymień gniazda UNIX i nazwane rury

Gniazda domeny unix, a także inne formy lokalnej komunikacji międzyprocesowej, takie jak nazwane rury, mogą być wyświetlane przez polecenie sockstat za pomocą używania -u flaga, jak pokazano na poniższym obrazku.

# sockstat -u 
Lista gniazd Unix

10. Porty list otwarte według aplikacji w FreeBSD

Wyjście polecenia sockstat można filtrować przez narzędzie GREP, aby wyświetlić listę portów otwartych przez określoną aplikację lub polecenie.

Załóżmy, że chcesz wymienić wszystkie powiązane gniazda Nginx Serwer WWW, możesz wydać następujące polecenie, aby wykonać zadanie.

# sockstat -46 | GREP Nginx 
Lista aplikacji do słuchania gniazda

Aby wyświetlić tylko podłączone gniazda powiązane z serwerem WWW Nginx, wydać następujące polecenie.

# sockstat -46 -C | GREP Nginx 

11. Wymień protokoły podłączone HTTPS

Możesz wymienić wszystkie połączone gniazda powiązane z Https protokół obok stanu każdego połączenia, uruchamiając poniższe polecenie.

# sockstat -46 -s -p tcp -p 443 -c 
Wymień protokoły podłączone HTTPS

12. Wymień zdalne gniazda HTTP

Aby wymienić wszystkie zdalne gniazda powiązane z protokołem HTTP, możesz uruchomić jedną z następujących kombinacji poleceń.

# sockstat -46 -C | Egrep '80 | 443 '| awk 'drukuj 7 $' | uniq -c | sort -nr # sockstat -46 -C -p 80,443 | GREP -V Adres | awk 'drukuj 7 $' | uniq -c | sort -nr 
Wymień zdalne protokoły HTTP

13. Znajdź najwyższe żądania HTTP według adresów IP

Jeśli chcesz znaleźć, ile połączeń HTTP jest żądane przez każdy zdalny adres IP, wydaj poniższe polecenie. To polecenie może być bardzo przydatne na wypadek, gdybyś chciał ustalić, czy Twój serwer WWW jest pod jakimś atakiem DDOS. W przypadku podejrzeń należy zbadać adresy IP z najwyższą stawką żądania.

# sockstat -46 -C | Egrep '80 | 443 '| awk 'drukuj 7 $' | CUT -D: -f1 | uniq -c | sort -nr 

14. Lista DNS otworzyło gniazda

Jeśli skonfigurowałeś buforowanie i naprzód serwer DNS w lokalizacji, aby obsługiwać klientów wewnętrznych za pośrednictwem protokołu TCP Transport i chcesz wyświetlić listę wszystkich gniazd
Otwarte przez Resolver, wraz ze stanem każdego połączenia gniazda, wykonaj następujące polecenie.

# sockstat -46 -p tcp -p 53 -s 
Lista DNS otworzyło gniazda

15. Zapytanie TCP DNS w domenie lokalnej

Jeśli w sieci nie ma ruchu DNS, możesz ręcznie uruchomić zapytanie DNS w gnieździe TCP z konsoli lokalnej maszyny, uruchamiając następujące polecenie DIG. Następnie wydaj powyższe polecenie, aby wymienić wszystkie gniazda rozdzielczych.

# kopa +tcp www.domena.com @127.0.0.1 
Zapytanie TCP DNS na lokalnych

To wszystko! Wraz z narzędziami wiersza poleceń NetStat i LSOF, linia poleceń SOCKSTAT jest potężnym narzędziem wykorzystywanym do pozyskiwania informacji o sieci i rozwiązywania problemów wielu aspektów stosu sieciowych i procesów i usług związanych z sieci.

FreeBsd Sockstat Dowódzka w Linux jest reprezentowany przez Netstat lub nowo SS Komenda. Wierzcie lub nie, w oparciu o narzędzie Sockstat, podobną aplikację opracowaną dla systemu Android, o nazwie Sockstat - proste GUI NetStat.