W tym artykule omówiono użycie polecenia ss z kilkoma prostymi przykładami. Wszystkie polecenia przedstawione w tym artykule zostały wykonane na Ubuntu 20.dystrybucja 04, aby sprawdzić statystyki gniazd i połączeń sieciowych.
Przykład 1: Wyświetl listę połączeń sieciowych za pomocą polecenia ss
Możesz łatwo wyświetlić listę wszystkich połączeń sieciowych obecnych w systemie, w tym połączeń TCP, UDP i gniazd UNIX, używając następującego polecenia ss. Dane wyjściowe są wyświetlane w formacie „mniej”, dzięki czemu można przewijać okno danych wyjściowych:
$ ss | mniej
Przykład 2: Wyświetl listę połączeń gniazd TCP, UDP i Unix
Możesz także odfiltrować połączenia gniazd TCP, UDP i UNIX, korzystając z następujących opcji:
Użycie tylko opcji „t” wyświetla połączenia, które są 'Połączone' lub 'Ustanowione.' Sama ta opcja nie pokazuje połączeń TCP, które są 'nasłuchiwanie'.'
$ ss -t
W przypadku TCP użyj opcji „-t” wraz ze znacznikiem „-A”.
$ ss -A tcp
W przypadku połączeń UDP użyj następującego polecenia:
$ ss -ua$ ss -a -A udp
Opcja „a” wyświetla zarówno gniazda „Połączone”, jak i „Nasłuchiwanie”. UDP jest protokołem bezpołączeniowym, więc użycie samego 'ss -u' niczego nie wyświetli. Jednak „a” może służyć do pokazywania wszystkich połączeń UDP.
W przypadku połączeń z gniazdem uniksowym użyj następującego polecenia:
$ ss x
Przykład 3: Szybsze wyświetlanie danych wyjściowych
Opcja „n” używana z 't' uniemożliwia statystyce gniazd rozwiązywanie adresów IP na nazwy hostów i wyświetla szybsze dane wyjściowe w następujący sposób:
$ ss -nt
Przykład 4: Wyświetl tylko gniazda odsłuchowe
Możesz także wyświetlić tylko połączenia TCP, które nasłuchują. Opcja „n” ignoruje rozwiązywanie nazw hostów adresu IP, aby szybciej wyświetlić dane wyjściowe.
$ ss -ltn
W przypadku wszystkich połączeń nasłuchujących UDP zastąp opcję „t” opcją „u” w następujący sposób:
$ ss -lun
Przykład 5: Wyświetl nazwę procesu za pomocą pid
Możesz wyświetlić nazwę procesu wraz z pid każdego procesu, używając następującego polecenia ss z opcją '-ltp':
$ sudo ss -ltp
Przykład 6: Wyświetlanie statystyk
Użycie opcji 's' z poleceniem ss wyświetla pełne statystyki w następujący sposób:
$ ss - s
Przykład 7: Wyświetl szczegóły połączenia timera
Używając opcji '-o' z poleceniem ss, możesz wyświetlić informacje o czasie każdego połączenia. Informacje o czasie informują użytkownika o tym, jak długo to połączenie było utrzymywane:
$ ss -tn -o
Przykład 8: Drukowanie połączenia gniazda IPV6 lub IPV4
Aby wydrukować tylko połączenia gniazda IPv4, użyj opcji „-4” z „-finet” w następujący sposób:
$ ss -tl4$ ss -tl -f inet
W przypadku IPV6 użyj opcji „-6” lub „-finet.'
$ ss -tl6
Przykład 9: Filtruj połączenia TCP według stanu
Możesz także filtrować połączenia według stanu połączenia za pomocą polecenia ss. Połączenia mogą istnieć w różnych stanach, takich jak nawiązane, syn-recv, syn-sent, fin-wait-1, fin-wait-2, time-wait, close-wait, closed, all, last-ack, closeup, connected , wiadro, zsynchronizowane i wiadro.
Tak więc, zgodnie z wymaganiami użytkownika, możesz używać i filtrować dowolny stan połączenia, uruchamiając następujące polecenie:
$ ss [ OPCJE ] stan [ Nazwa-stanu ]$ ss -t4 stan ustalony
W powyższym przykładzie przefiltrowaliśmy wszystkie „ustanowione” połączenia TCP.
$ ss -t4 stan czas-czekanie$ ss -t4 stan podłączony
Przykład 10: Filtruj adres według numeru portu
Możesz także filtrować połączenie według numeru portu lub określonego adresu IP w następujący sposób:
$ ss -nt czas 127.0.0.1:45807$ sudo ss -ntlp sport gt: 5000
Wniosek
W tym artykule omówiono różne zastosowania polecenia ss. Polecenie ss jest najlepszą alternatywą dla polecenia netstat, jak widzieliście w tym samouczku. Korzystając z powyższych przykładów, możesz łatwo monitorować gniazda systemowe i połączenia sieciowe.