Provided by: manpages-pl_4.21.0-2_all
NAZWA
ss - kolejne narzędzie do badania gniazd
SKŁADNIA
ss [opcje] [ FILTR ]
OPIS
ss służy do zrzucania statystyk gniazd. Umożliwia wyświetlanie informacji podobnych do netstat. Może wyświetlać więcej informacji o TCP i stanie niż inne narzędzia.
OPCJE
Jeśli nie użyto żadnej opcji, ss wyświetla listę otwartych gniazd nie nasłuchujących (np. TCP/UNIX/UDP), które nawiązały połączenie. -h, --help Pokazuje podsumowanie opcji. -V, --version Pokazuje informacje o wersji. -H, --no-header Pomija linię nagłówka. -O, --oneline Wypisz dane każdego gniazda w jednej lini. -n, --numeric Nie rozwiązuje nazw usług. Pokazuje dokładne wartości przepustowości, a nie czytelne dla człowieka. -r, --resolve Próbuje rozwiązać numeryczne adresy/porty. -a, --all Wyświetla zarówno gniazda nasłuchujące, jak i nienasłuchujące (dla TCP oznacza to ustanowione połączenia). -l, --listening Wyświetla tylko gniazda nasłuchujące (domyślnie są one pomijane). -o, --options Pokaż informacje o zegarze. W przypadku protokołu TCP format wyjściowy to: zegar:(<nazwa_zegara>,<czas_wygaśnięcia>,<retransmisja>) <nazwa_zegara> nazwa timera, istnieje pięć rodzajów nazw timerów: on : oznacza jeden z tych liczników czasu: licznik czasu retransmisji TCP, licznik czasu wczesnej retransmisji TCP i licznik czasu tail loss keepalive: zegar podtrzymujący aktywność tcp timewait: timer etapu oczekiwania persist: zegar próby okna zerowego unknown: żaden z powyższych zegarów <czas_wygaśnięcia> po jakim czasie timer wygaśnie <retransmisja> ile razy nastąpiła retransmisja -e, --extended Pokaż szczegółowe informacje o gnieździe. Format wyjściowy to: uid:<numer_uid> ino:<numer_iwęzła> sk:<ciasteczko> <numer_uid> identyfikator użytkownika, do którego należy gniazdo <numer_iwęzła> numer i-węzła gniazda w VFS <ciasteczko> uuid gniazda -m, --memory Pokaż użycie pamięci gniazda. Format wyjściowy to: skmem:(r<rmem_alloc>,rb<rcv_buf>,t<wmem_alloc>,tb<snd_buf>, f<fwd_alloc>,w<wmem_queued>,o<opt_mem>, bl<back_log>,d<sock_drop>) <rmem_alloc> pamięć przydzielona do odebrania pakietu <rcv_buf> całkowita pamięć która może być przydzielona do odbioru pakietu <wmem_alloc> pamięć użyta do wysłania pakietu (który został wysłany do warstwy 3) <snd_buf> całkowita pamięć która może być przeznaczona na wysłanie pakietu <fwd_alloc> pamięć przydzielona przez gniazdo jako pamięć podręczna, ale jeszcze nie używana do odbierania/wysyłania pakietu. Jeśli potrzebna jest pamięć do wysłania/odbioru pakietu, pamięć w pamięci podręcznej zostanie wykorzystana przed przydzieleniem dodatkowej pamięci. <wmem_queued> Pamięć przydzielona do wysłania pakietu (który nie został wysłany do warstwy 3) <opt_mem> Pamięć używana do przechowywania opcji gniazda, np. klucza do podpisu TCP MD5 <back_log> Pamięć używana przez kolejkę sk rejestru zadań do wykonania. W kontekście procesu, jeśli proces odbiera pakiet i odbierany jest nowy pakiet, zostanie on umieszczony w kolejce sk, dzięki czemu proces może go natychmiast odebrać <sock_drop> liczba pakietów odrzuconych przed demultipleksowaniem w gnieździe -p, --processes Pokazuje proces za pomocą gniazda. -T, --threads Pokazuje wątek za pomocą gniazda. Implikuje -p. -i, --info Pokazuje wewnętrzne informacje o TCP. Mogą pojawić się poniższe pola: ts pokazuje „ts”, jeśli ustawiono opcję znacznika czasu sack pokazuje „sack”, jeśli opcja sack jest ustawiona ecn pokazuje ciąg „ecn”, jeśli ustawiono opcję jawnego powiadamiania o przeciążeniu ecnseen pokazuje "ecnseen", jeśli flaga saw ecn zostanie znaleziona w odebranych pakietach fastopen pokazuje „fastopen”, jeśli opcja fastopen jest ustawiona cong_alg nazwa algorytmu przeciążenia, domyślnym algorytmem jest „cubic” wscale:<snd_wscale>:<rcv_wscale> jeśli używana jest opcja skali okna, to pole pokazuje współczynnik skali wysyłania i współczynnik skali odbierania rto:<icsk_rto> wartość limitu czasu retransmisji tcp, jednostką jest milisekunda backoff:<icsk_backoff> używany do wykładniczej retransmisji wycofywania, rzeczywista wartość limitu czasu retransmisji to icsk_rto << icsk_backoff rtt:<rtt>/<rttvar> rtt to średni czas podróży w obie strony, rttvar to średnie odchylenie rtt, ich jednostkami są milisekundy ato:<ato> limit czasu potwierdzenia, jednostką jest milisekunda, używana w trybie opóźnienia mss:<mss> maksymalny rozmiar segmentu cwnd:<cwnd> rozmiar okna przeciążenia pmtu:<pmtu> wartość ścieżki MTU ssthresh:<ssthresh> próg powolnego uruchamiania okna przeciążenia tcp bytes_acked:<bajty_potwierdzone> potwierdzone bajty bytes_received:<bajty_odebrane> odebrane bajty segs_out:<seg_wysłane> wysłane segmenty segs_in:<seg_odebrane> odebrane segmenty send <wysłane_bps>bps wyjścia bps lastsnd:<ostatnie_wysłane> ilość czasu która upłynęła od ostatniego wysłania pakietu, jednostką jest milisekunda lastrcv:<ostatnie_otrzymane> ilość czasu która upłynęła od otrzymania ostatniego pakietu, jednostką jest milisekunda lastack:<ostatni_ack> ilość czasu która upłynęła od ostatniego potwierdzenia, jednostką są milisekundy pacing_rate <wskaźnik_tempa>bps/<max_wskaźnik_tempa>bps wskaźnik tempa i maksymalny wskaźnik tempa rcv_space:<rcv_space> zmienna pomocnicza dla wewnętrznego bufora odbiorczego automatycznego dostrajania gniazda TCP tcp-ulp-mptcp flags:[MmBbJjecv] token:<rem_token(rem_id)/loc_token(loc_id)> seq:<sn> sfseq:<ssn> ssnoff:<off> maplen:<maplen> Informacje o przepływie podrzędnym MPTCP --tos Pokaż ToS i informacje priorytetowe. Mogą pojawić się poniższe pola: tos Bajt typu usługi IPv4 tclass Bajt klasy ruchu IPv6 class_id Identyfikator klasy ustawiony przez net_cls cgroup. Jeśli klasa ma wartość zero, pokazuje priorytet ustawiony przez SO_PRIORITY. --cgroup Pokazuje informacje o grupie. Mogą pojawić się poniższe pola: cgroup Ścieżka do Cgroup v2. Ta nazwa ścieżki jest względna do punktu montowania w hierarchii. --tipcinfo Pokazuje wewnętrzne informacje o gnieździe tipc. -K, --kill Próbuje siłowo zamykać gniazda. Ta opcja wyświetla gniazda pomyślnie zamknięte i dyskretnie pomija gniazda, których zamykanie nie jest obsługiwane przez jądro. Obsługuje tylko gniazda IPv4 i IPv6. -s, --summary Wypisuje zbiorcze statystyki. Ta opcja nie analizuje list gniazd uzyskując podsumowanie z różnych źródeł. Jest to przydatne, gdy liczba gniazd jest tak duża, że parsowanie /proc/net/tcp jest ciężkie. -E, --events Ciągle wyświetla gniazda w miarę ich niszczenia -Z, --context Podobnie jak opcja -p, ale pokazuje również kontekst bezpieczeństwa procesu. Jeśli używana jest opcja -T, pokazuje również kontekst zabezpieczeń wątku. Dla netlink(7) kontekst procesu inicjującego gniazd jest wyświetlany w następujący sposób: 1. Jeśli prawidłowy pid pokazuje kontekst procesu. 2. Jeśli miejscem docelowym jest jądro (pid = 0), pokaż początkowy kontekst jądra. 3. Jeśli unikalny identyfikator został przydzielony przez jądro lub użytkownika netlink, pokaż kontekst jako „niedostępny”. Ogólnie oznacza to, że proces ma więcej niż jedno aktywne gniazdo netlink. -z, --contexts Jak opcja -Z, ale pokazuje również kontekst gniazda. Kontekst gniazda jest pobierany z powiązanego i-węzła i nie jest rzeczywistym kontekstem gniazda utrzymywanym przez jądro. Gniazda są zwykle oznaczone kontekstem procesu tworzenia, jednak pokazany kontekst będzie odzwierciedlał wszelkie zastosowane reguły zmiany ról, typów i/lub zakresów zasad, dlatego jest przydatnym odniesieniem. -N NSNAME, --net=NSNAME Przełącza się na określoną nazwę sieciowej przestrzeni nazw. -b, --bpf Pokazuje klasyczne filtry BPF gniazda (tylko administratorzy mogą uzyskać te informacje). -4, --ipv4 Wyświetla tylko gniazda IP w wersji 4 (alias dla -f inet). -6, --ipv6 Wyświetla tylko gniazda IP w wersji 6 (alias dla -f inet6). -0, --packet Wyświetl gniazda PACKET (alias dla łącza -f link). -t, --tcp Wyświetla gniazda TCP. -u, --udp Wyświetla gniazda UDP. -d, --dccp Wyświetla gniazda DCCP. -w, --raw Wyświetla gniazda RAW. -x, --unix Wyświetla gniazda domeny Unix (alias dla -f unix). -S, --sctp Wyświetla gniazda SCTP. --tipc Wyświetla gniazda tipc (alias dla -f tipc). --vsock Wyświetla gniazda vsock (alias dla -f vsock). --xdp Wyświetla gniazda XDP (alias dla -f xdp). -M, --mptcp Wyświetl gniazda MPTCP. --inet-sockopt Wyświetl opcje gniazda inet. -f FAMILY, --family=FAMILY Wyświetla gniazda z FAMILY. Obecnie obsługiwane są następujące rodziny: unix, inet, inet6, link, netlink, vsock, tipc, xdp. -A QUERY, --query=QUERY, --socket=QUERY Lista tabel gniazd do zrzutu, oddzielona przecinkami. Rozumiane się następujące identyfikatory: all, inet, tcp, udp, raw, unix, package, netlink, unix_dgram, unix_stream, unix_seqpacket, package_raw, package_dgram, dccp, sctp, tipc, vsock_stream, vsock_dgram, xdp, mptcp. Każdy element na liście może być opcjonalnie poprzedzony wykrzyknikiem (!), aby wykluczyć zrzut tabeli gniazd. -D FILE, --diag=FILE Nie wyświetla niczego, zrzuca nieprzetworzone informacje o gniazdach TCP do PLIKU po zastosowaniu filtrów. Jeśli PLIK jest - używane jest stdout. -F FILE, --filter=FILE Czyta informacje o filtrze z PLIKU. Każda linia PLIKU jest interpretowana jako pojedyncza opcja wiersza poleceń. Jeśli PLIK to - używane jest stdin. FILTER := [ state FILTR-STANU ] [ WYRAŻENIE ] Szczegółowe informacje dotyczące filtrów można znaleźć w oficjalnej dokumentacji.
FILTR-STANU
STATE-FILTER pozwala skonstruować dowolny zestaw stanów do dopasowania. Jego składnia to sekwencja słów kluczowych stan i wykluczenie, po których następuje identyfikator stanu. Dostępne identyfikatory to: Wszystkie standardowe stany TCP: established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed, close-wait, last-ack, listening and closing. all - dla wszystkich stanów connected - dla wszystkich stanów oprócz listening i closed synchronized - dla wszystkich stanów connected oprócz syn-sent bucket - stany, które są utrzymywane jako mini gniazda, czyli time-wait i syn-recv big - przeciwieństwo do bucket
WYRAŻENIE
EXPRESSION umożliwia filtrowanie na podstawie określonych kryteriów. EXPRESSION składa się z szeregu predykatów połączonych operatorami boolowskimi. Możliwe operatory w rosnącej kolejności to lub (lub | lub ||), and (lub & lub &&) i not (lub !). Jeśli żaden operator nie znajduje się między kolejnymi predykatami, zakłada się operator and. Podwyrażenia można grupować za pomocą „(” i „)”. Obsługiwane są następujące predykaty: {dst|src} [=] HOST Sprawdź, czy miejsce docelowe lub źródło odpowiada HOST. Aby uzyskać szczegółowe informacje, zobacz HOST SYNTAX. {dport|sport} [OP] [FAMILY:]:PORT Porównaj port docelowy lub źródłowy z PORT. OP może być dowolnym z "<", "<=", "=", "!=", ">=" i ">". Zgodnie ze zwykłymi regułami arytmetycznymi. FAMILY i PORT są takie, jak opisano w HOST SYNTAX poniżej. dev [=|!=] DEVICE Dopasowuje na podstawie urządzenia, z którego korzysta połączenie. DEVICE może być nazwą urządzenia lub indeksem interfejsu. fwmark [=|!=] MASK Dopasowania na podstawie wartości fwmark dla połączenia. Może to być określona wartość znaku lub wartość znaku, po której następuje znak „/” i maska bitów, których bity mają być użyte w porównaniu. Na przykład „fwmark = 0x01/0x03” pasowałoby, gdyby dwa najmniej znaczące bity znaku fw miały wartość 0x01. cgroup [=|!=] PATH Dopasuj, jeśli połączenie jest częścią cgroup w podanej ścieżce. autobound Dopasuj, jeśli port lub ścieżka adresu źródłowego została przydzielona automatycznie (a nie jawnie określona). Większość operatorów ma aliasy. Jeśli nie podano żadnego operatora, przyjmowany jest znak „=”. Każda z następujących grup operatorów jest równoważna: • = == eq • != ne neq • > gt • < lt • >= ge geq • <= le leq • ! not • | || or • & && and
SKŁADNIA HOSTA
Ogólna składnia hosta to [RODZINA:]ADRES[:PORT]. RODZINA musi być jedną z rodzin obsługiwanych przez opcję -f. Jeśli nie zostanie podany, domyślnie przyjmuje rodzinę podaną z opcją -f, a jeśli jej również nie ma, przyjmie albo inet, albo inet6. Należy zauważyć, że wszystkie warunki hosta w wyrażeniu powinny należeć do tej samej rodziny lub zawierać tylko inet i inet6. Jeśli istnieje inna mieszanka rodzin, wyniki będą prawdopodobnie nieoczekiwane. Postać ADRESU i PORTU zależy od użytej rodziny. „*” może służyć jako symbol wieloznaczny dla adresu lub portu. Szczegóły dotyczące każdej rodziny są następujące: unix ADRES jest wzorcem globalnym (patrz fnmatch(3)), który będzie dopasowywany bez uwzględniania wielkości liter do adresu gniazda uniksowego. Obsługiwane są zarówno nazwy ścieżek, jak i abstrakcyjne. Adresy uniksowe nie obsługują portu, a „*” nie może być używana jako symbol wieloznaczny. link ADRES to niewrażliwa na wielkość liter nazwa protokołu Ethernet do dopasowania. PORT to albo nazwa urządzenia, albo indeks urządzenia dla żądanego urządzenia łącza, jak widać na wyjściu łącza ip. netlink ADRES jest deskryptorem rodziny netlink. Możliwe wartości pochodzą z /etc/iproute2/nl_protos. PORT to identyfikator portu gniazda, który zwykle jest taki sam jak identyfikator procesu będącego właścicielem. Wartość „kernel” może być używana do reprezentowania jądra (identyfikator portu równy 0). vsock ADRES to liczba całkowita reprezentująca adres CID, a PORT to port. inet i inet6 ADRES to adres IP (w zależności od rodziny v4 lub v6) lub nazwa hosta DNS, która jest tłumaczona na adres IP wymaganej wersji. Adres IPv6 musi być ujęty w „[” i „]”, aby ujednoznacznić separator portów. Adres może mieć dodatkowo długość prefiksu podaną w notacji CIDR (ukośnik, po którym następuje długość prefiksu w bitach). PORT jest numerycznym portem gniazda lub nazwą usługi, do której ma być dopasowany port.
PRZYKŁADY UŻYCIA
ss -t -a Wyświetla wszystkie gniazda TCP. ss -t -a -Z Wyświetla wszystkie gniazda TCP z procesowymi kontekstami bezpieczeństwa SELinux. ss -u -a Wyświetla wszystkie gniazda UDP. ss -o state established '( dport = :ssh or sport = :ssh )' Wyświetla wszystkie ustanowione połączenia ssh. ss -x src /tmp/.X11-unix/* Znajduje wszystkie lokalne procesy podłączone do serwera X. ss -o state fin-wait-1 '( sport = :http or sport = :https )' dst 193.233.7/24 Wypisuje wszystkie gniazda tcp w stanie FIN-WAIT-1 dla naszego Apache do sieci 193.233.7/24 i wskazuje na ich liczniki czasu. ss -a -A 'all,!tcp' Wyświetla listę gniazd we wszystkich stanach ze wszystkich tabel gniazd z wyjątkiem protokołu TCP.
ZOBACZ TAKŻE
ip(8), RFC 793 - https://tools.ietf.org/rfc/rfc793.txt (TCP states)
AUTOR
ss napisane przez Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>. Ta strona podręcznika została napisana przez Michaela Prokopa <mika@grml.org> dla projektu Debian (ale może być używana przez innych).
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Daria Danieluk <daria.danieluk@gmail.com> Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej ⟨manpages-pl-list@lists.sourceforge.net⟩. SS(8)