Scroll to navigation

SS(8) System Manager's Manual SS(8)

NUME

un alt instrument pentru examinarea soclurilor

SINOPSIS

ss [opțiuni] [ FILTRU ]

DESCRIERE

ss este utilizat pentru a afișa statisticile privind soclurile. Permite afișarea unor informații similare cu cele oferite de netstat. Poate afișa mai multe informații despre TCP și starea conexiunilor decât alte instrumente.

OPȚIUNI

Atunci când nu se specifică nicio opțiune, comanda «ss» afișează o listă a soclurilor deschise care nu sunt în stare de ascultare (de exemplu, TCP/UNIX/UDP) și care au conexiuni stabilite.

Afișează un rezumat al opțiunilor.
Afișează informații despre versiune.
Suprimă linia de titluri.
Suprimă coloanele corespunzătoare cozilor de trimitere și de primire.
Afișează datele fiecărui soclu pe o singură linie.
Nu încearcă să rezolve numele serviciilor. Afișează valorile exacte ale lățimii de bandă, în loc de valori ușor de înțeles pentru utilizatori.
Încearcă să rezolve adresele numerice și porturile.
Afișează atât soclurile de ascultare, cât și cele care nu sunt de ascultare (în cazul TCP, aceasta înseamnă conexiuni stabilite).
Afișează doar soclurile de ascultare (acestea sunt omise în mod implicit).
Afișează doar soclurile TCP asociate, dar inactive (care nu ascultă, nu se conectează etc.) (acestea sunt omise în mod implicit).
Afișează informații despre temporizator. Pentru protocolul TCP, formatul de ieșire este:

timer:(<timer_name>,<expire_time>,<retrans>)

<timer_name>
numele temporizatorului, existând cinci tipuri de nume de temporizatoare:

on : se referă la unul dintre următoarele temporizatoare: temporizatorul de retransmisie TCP, temporizatorul de retransmisie timpurie TCP și temporizatorul de verificare a pierderilor de la coada fluxului

keepalive: temporizatorul keep-alive TCP

timewait: temporizatorul stării timewait

persist: temporizatorul de sondare a ferestrei zero

unknown: niciunul dintre temporizatoarele de mai sus

<expire_time>
cât timp a mai rămas până la expirarea temporizatorului
<retrans>
de câte ori au avut loc retransmisii
Afișează informații detaliate despre soclu. Formatul de ieșire este:

uid:<uid_number> ino:<inode_number> sk:<cookie>

<uid_number>
id-ul utilizatorului căruia îi aparține soclul
<inode_number>
numărul nodului-i al soclului în VFS
<cookie>
un UUID al soclului
Afișează utilizarea memoriei de către soclu. Formatul de ieșire este:

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>
memoria alocată pentru recepționarea pachetelor
<rcv_buf>
memoria totală care poate fi alocată pentru recepționarea pachetelor
<wmem_alloc>
memoria utilizată pentru trimiterea pachetelor (care au fost transmise către stratul 3)
<snd_buf>
memoria totală care poate fi alocată pentru trimiterea pachetelor
<fwd_alloc>
memoria alocată de către soclu ca memorie cache, dar care nu a fost încă utilizată pentru primirea/trimiterea pachetelor. Dacă este necesară memorie pentru trimiterea/primirea pachetelor, se va utiliza mai întâi memoria din această cache înainte de a se aloca memorie suplimentară.
<wmem_queued>
memoria utilizată pentru trimiterea pachetelor (care nu au fost transmise către stratul 3)
<opt_mem>
memoria utilizată pentru stocarea opțiunilor de soclu, de exemplu, cheia pentru semnătura MD5 TCP
<back_log>
Memoria utilizată pentru coada de așteptare „sk backlog”. În contextul unui proces, dacă procesul primește pachete și se primește un pachet nou, acesta va fi plasat în coada de așteptare „sk backlog”, astfel încât să poată fi preluat imediat de către proces.
<sock_drop>
numărul de pachete eliminate înainte de a fi demultiplexate în soclu
Afișează procesele care utilizează socluri.
Afișează firele de execuție care utilizează socluri. Implică -p.
Afișează informații interne TCP. Pot apărea următoarele câmpuri:
afișează șirul „ts” dacă opțiunea de marcaj temporal este activată
afișează șirul „sack” dacă opțiunea „sack” este activată
afișează șirul „ecn” dacă opțiunea de notificare explicită a congestiei este activată
afișează șirul „ecnseen” dacă se găsește fanionul ecn în pachetele primite
afișează șirul „fastopen” dacă opțiunea fastopen este activată
numele algoritmului de congestie; algoritmul de congestie implicit este „cubic”
dacă se utilizează opțiunea de scalare a ferestrei, acest câmp afișează factorul de scalare la trimitere și factorul de scalare la recepție
valoarea timpului de așteptare pentru retransmiterea TCP; unitatea de măsură este milisecunda
utilizată pentru retransmisia cu întârziere exponențială, valoarea efectivă a timpului de expirare pentru retransmisie este icsk_rto << icsk_backoff
rtt reprezintă timpul mediu de dus-întors, rttvar reprezintă abaterea medie a valorii rtt, iar unitățile lor de măsură sunt milisecundele
timp de așteptare pentru ack, unitatea este milisecunda, utilizată pentru modul de întârziere a confirmării (ack)
dimensiunea maximă a segmentului
dimensiunea ferestrei de congestie
valoarea MTU a traseului
pragul de pornire lentă al ferestrei de congestie TCP
octeți confirmați (acked)
octeți primiți
segmente trimise
segmente primite
lățime de bandă de ieșire (bps)
cât timp a trecut de la trimiterea ultimului pachet; unitatea de măsură este milisecunda
cât timp a trecut de la primirea ultimului pachet; unitatea de măsură este milisecunda
cât timp a trecut de la primirea ultimei confirmări (ACK); unitatea de măsură este milisecunda
frecvența de stimulare și frecvența maximă de stimulare
o variabilă auxiliară pentru reglarea automată internă a memoriei tampon TCP de recepție a soclului
informații privind subfluxurile MPTCP
Afișează informațiile privind ToS și prioritatea. Pot apărea următoarele câmpuri:
Octetul „Type-of-Service” (Tip de serviciu) IPv4
Octet al clasei de trafic IPv6
ID-ul clasei este stabilit de grupul de control net_cls. Dacă valoarea clasei este zero, aceasta indică prioritatea stabilită de SO_PRIORITY.
Afișează informații despre cgroup. Pot apărea următoarele câmpuri:
Numele rutei Cgroup v2. Această rută este relativă față de punctul de montare al ierarhiei.
Afișează informații interne despre soclul tipc.
Încearcă să închidă forțat soclurile. Această opțiune afișează soclurile care au fost închise cu succes și omite fără a afișa un mesaj de eroare soclurile pe care nucleul nu le acceptă pentru închidere. Acceptă numai socluri IPv4 și IPv6.
Imprimă statistici sumare. Această opțiune nu analizează listele de socluri obținând date sumare din diverse surse. Este utilă atunci când numărul de socluri este atât de mare încât analizarea fișierului /proc/net/tcp devine dificilă.
Afișează în mod continuu soclurile pe măsură ce sunt distruse (închise)
La fel ca opțiunea -p, dar afișează și contextul de securitate al procesului. Dacă se utilizează opțiunea -T, se afișează și contextul de securitate al firului de execuție.

Pentru soclurile netlink(7), contextul procesului inițiator este afișat după cum urmează:

1.
Dacă PID-ul este valid, afișează contextul procesului.
2.
Dacă destinația este nucleul (pid = 0), se afișează contextul inițial al nucleului.
3.
Dacă un identificator unic a fost alocat de către nucleu sau de către utilizatorul netlink, afișează contextul ca fiind „indisponibil”. Acest lucru indică, în general, faptul că un proces are mai mult de un soclu netlink activ.
La fel ca opțiunea -Z, dar afișează și contextul soclului. Contextul soclului este preluat din nodul-i asociat și nu este contextul real al soclului deținut de nucleu. Soclurile sunt de obicei etichetate cu contextul procesului care le-a creat; cu toate acestea, contextul afișat va reflecta orice rol de politică, tip și/sau reguli de tranziție de interval aplicate și, prin urmare, constituie o referință utilă.
Comută la numele spațiului de nume de rețea specificat.
Afișează filtrele BPF clasice ale soclului (numai administratorii au dreptul să acceseze aceste informații).
-4, --ipv4
Afișează numai soclurile IP versiunea 4 (alias pentru -f inet).
-6, --ipv6
Afișează numai soclurile IP versiunea 6 (alias pentru -f inet6).
-0, --packet
Afișează soclurile PACKET (alias pentru opțiunea -f link).
Afișează soclurile TCP.
Afișează soclurile UDP.
Afișează soclurile DCCP.
Afișează soclurile RAW.
Afișează soclurile de domeniu Unix (alias pentru -f unix).
Afișează soclurile SCTP.
Afișează soclurile tipc (alias pentru -f tipc).
Afișează soclurile vsock (alias pentru -f vsock).
Afișează soclurile XDP (alias pentru -f xdp).
Afișează soclurile MPTCP.
Afișează opțiunile soclului INET.
Afișează soclurile de tip FAMILIA. În prezent sunt acceptate următoarele familii: unix, inet, inet6, link, netlink, vsock, tipc, xdp.
Listează tabelele de socluri care urmează să fie salvate, extrase prin virgule. Sunt recunoscuți următorii identificatori: all, inet, tcp, udp, raw, unix, packet, netlink, unix_dgram, unix_stream, unix_seqpacket, packet_raw, packet_dgram, dccp, sctp, tipc, vsock_stream, vsock_dgram, xdp, mptcp. Orice element din listă poate fi precedat opțional de un semn de exclamare (!) pentru a exclude acel tabel de socluri din procesul de extragere.
Nu afișează nimic, ci doar scrie informațiile brute despre soclurile TCP în FIȘIER după aplicarea filtrelor. Dacă FIȘIER este -, se utilizează ieșirea standard (stdout).
Citește informațiile despre filtre din FIȘIER. Fiecare linie din FIȘIER este interpretată ca o singură opțiune de linie de comandă. Dacă FIȘIER este -, se utilizează intrarea standard (stdin).
Afișează într-un format ușor de citit toate intrările de date locale ale soclului BPF pentru fiecare soclu.
Afișează într-un format ușor de citit intrările de date locale ale soclului BPF pentru ID-ul hărții solicitate. Poate fi utilizată de mai multe ori.
Vă rugăm să consultați documentația oficială pentru detalii privind filtrele.

FILTRU-STARE

STATE-FILTER permite construirea unui set arbitrar de stări care trebuie să corespundă. Sintaxa sa constă dintr-o secvență de cuvinte-cheie „state” și „exclude”, urmate de identificatorul stării.

Toate stările TCP standard: established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed, close-wait, last-ack, listening și closing.

all – pentru toate stările

connected - toate stările, cu excepția celor listening (ascultare) și closed (închis)

synchronized - toate stările connected (conectat), cu excepția stării syn-sent (SYN-trimis)

bucket - stări, care sunt menținute sub formă de mini-socluri, și anume time-wait (timp-așteptare) și syn-recv (SYN-primit)

big - opusul lui bucket

bound-inactive - socluri atașate, dar inactive în rest (care nu ascultă, nu se conectează etc.)

EXPRESIE

EXPRESSION (expresia) permite filtrarea pe baza unor criterii specifice. EXPRESSION este alcătuită dintr-o serie de predicate combinate prin operatori booleeni. Operatorii posibili, în ordine crescătoare a priorității, sunt or (sau | sau ||), and (sau & sau &&) și not (sau !). Dacă între două predicate consecutive nu se află niciun operator, se presupune existența unui operator and implicit. Subexpresiile pot fi grupate cu „(” și „)”.

Sunt acceptate următoarele predicate:

{dst|src} [=] GAZDĂ
Testează dacă destinația sau sursa corespunde cu GAZDA. Consultați secțiunea SINTAXA GAZDEI pentru detalii.
{dport|sport} [OP] [FAMILIA:]:PORT
Compară portul de destinație sau cel de origine cu PORT. OP poate fi oricare dintre „<”, „<=”, „=”, „!=”, „>=” și „>”, respectând regulile aritmetice obișnuite. FAMILIA și PORT sunt descrise în secțiunea SINTAXA GAZDEI de mai jos.
Căutarea se bazează pe dispozitivul utilizat de conexiune. DISPOZITIV poate fi fie numele unui dispozitiv, fie indicele interfeței.
Se realizează potriviri pe baza valorii fwmark a conexiunii. Aceasta poate fi fie o valoare specifică a marcajului, fie o valoare a marcajului urmată de un „/” și o mască de biți care indică biții care trebuie utilizați în comparație. De exemplu, „fwmark = 0x01/0x03” s-ar potrivi dacă cei doi biți cei mai puțin semnificativi ai fwmark ar fi 0x01.
Se potrivește dacă conexiunea face parte dintr-un cgroup la ruta specificată.
Se potrivește dacă portul sau ruta adresei sursă au fost alocate automat (și nu specificate în mod explicit).

Majoritatea operatorilor au denumiri alternative. Dacă nu se specifică niciun operator, se presupune „=”. Fiecare dintre următoarele grupuri de operatori este echivalent:

  • = == eq
  • != ne neq
  • > gt
  • < lt
  • >= ge geq
  • <= le leq
  • ! not
  • | || or
  • & && and

SINTAXA GAZDEI

Sintaxa generală pentru gazdă este [FAMILIA:]ADRESĂ[:PORT].

FAMILIA trebuie să fie una dintre familiile acceptate de opțiunea -f. Dacă nu este specificată, se va folosi implicit familia indicată cu opțiunea -f, iar dacă nici aceasta nu este specificată, se va presupune fie inet, fie inet6. Rețineți că toate condițiile referitoare la gazde din expresie trebuie să aparțină fie aceleiași familii, fie doar familiilor inet și inet6. Dacă există o altă combinație de familii, rezultatele vor fi probabil neașteptate.

Forma parametrilor ADRESĂ și PORT depinde de familia utilizată. Caracterul „*” poate fi folosit drept caracter joker pentru adresă sau pentru port. Detaliile pentru fiecare familie sunt următoarele:

ADRESA este un model global (vezi fnmatch(3)) care va fi comparat, fără a ține cont de majuscule și minuscule, cu adresa soclului Unix. Sunt acceptate atât numele de rută, cât și numele abstracte. Adresele Unix nu acceptă porturi, iar caracterul „*” nu poate fi folosit pe post de caracter joker.
ADRESA este numele unui protocol Ethernet care trebuie identificat, fără a se ține cont de majuscule și minuscule. PORT este fie numele unui dispozitiv, fie un index al dispozitivului pentru dispozitivul de legătură dorit, așa cum se vede în rezultatul comenzii „ip link”.
ADRESA este un descriptor din familia netlink. Valorile posibile sunt preluate din fișierul /etc/iproute2/nl_protos. PORT reprezintă ID-ul portului soclului, care este de obicei identic cu ID-ul procesului proprietar. Valoarea „kernel” poate fi utilizată pentru a reprezenta nucleul (ID-ul portului 0).
ADRESA este un număr întreg care reprezintă adresa CID, iar PORT este portul.
ADRESA este o adresă IP (fie IPv4, fie IPv6, în funcție de familie) sau un nume de gazdă DNS care se rezolvă într-o adresă IP de versiunea necesară. O adresă IPv6 trebuie să fie încadrată între „[” și „]” pentru a elimina ambiguitatea separatorului de port. Adresa poate avea, în plus, o lungime a prefixului exprimată în notație CIDR (o bară urmată de lungimea prefixului în biți). PORT este fie portul numeric al soclului, fie numele serviciului pentru portul care trebuie să corespundă.

EXEMPLE DE UTILIZARE

Afișează toate soclurile TCP.
Afișează toate soclurile TCP cu contextele de securitate SELinux ale proceselor.
Afișează toate soclurile UDP.
Afișează toate conexiunile SSH stabilite.
Găsește toate procesele locale conectate la serverul X.
Afișează toate soclurile tcp aflate în starea FIN-WAIT-1 pentru serverul nostru Apache către rețeaua 193.233.7/24 și verifică temporizatoarele acestora.
Afișează soclurile din toate stările din toate tabelele de socluri, cu excepția celor TCP.

CONSULTAȚI ȘI

ip(8),
RFC 793 - https://tools.ietf.org/rfc/rfc793.txt (TCP states)

AUTOR

ss a fost scris de Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>.

Această pagină de manual a fost scrisă de Michael Prokop <mika@grml.org>, pentru proiectul Debian (dar poate fi folosită și de alții).

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.