table of contents
- unstable 4.32.4-1
| 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.
- -h, --help
- Afișează un rezumat al opțiunilor.
- -V, --version
- Afișează informații despre versiune.
- -H, --no-header
- Suprimă linia de titluri.
- -Q, --no-queues
- Suprimă coloanele corespunzătoare cozilor de trimitere și de primire.
- -O, --oneline
- Afișează datele fiecărui soclu pe o singură linie.
- -n, --numeric
- 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.
- -r, --resolve
- Încearcă să rezolve adresele numerice și porturile.
- -a, --all
- Afișează atât soclurile de ascultare, cât și cele care nu sunt de ascultare (în cazul TCP, aceasta înseamnă conexiuni stabilite).
- -l, --listening
- Afișează doar soclurile de ascultare (acestea sunt omise în mod implicit).
- -B, --bound-inactive
- Afișează doar soclurile TCP asociate, dar inactive (care nu ascultă, nu se conectează etc.) (acestea sunt omise în mod implicit).
- -o, --options
- 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
- -e, --extended
- 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
- -m, --memory
- 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>,
- <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
- -p, --processes
- Afișează procesele care utilizează socluri.
- -T, --threads
- Afișează firele de execuție care utilizează socluri. Implică -p.
- -i, --info
- Afișează informații interne TCP. Pot apărea următoarele câmpuri:
- ts
- afișează șirul „ts” dacă opțiunea de marcaj temporal este activată
- sack
- afișează șirul „sack” dacă opțiunea „sack” este activată
- ecn
- afișează șirul „ecn” dacă opțiunea de notificare explicită a congestiei este activată
- ecnseen
- afișează șirul „ecnseen” dacă se găsește fanionul ecn în pachetele primite
- fastopen
- afișează șirul „fastopen” dacă opțiunea fastopen este activată
- cong_alg
- numele algoritmului de congestie; algoritmul de congestie implicit este „cubic”
- wscale:<snd_wscale>:<rcv_wscale>
- 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
- rto:<icsk_rto>
- valoarea timpului de așteptare pentru retransmiterea TCP; unitatea de măsură este milisecunda
- backoff:<icsk_backoff>
- utilizată pentru retransmisia cu întârziere exponențială, valoarea efectivă a timpului de expirare pentru retransmisie este icsk_rto << icsk_backoff
- rtt:<rtt>/<rttvar>
- rtt reprezintă timpul mediu de dus-întors, rttvar reprezintă abaterea medie a valorii rtt, iar unitățile lor de măsură sunt milisecundele
- ato:<ato>
- timp de așteptare pentru ack, unitatea este milisecunda, utilizată pentru modul de întârziere a confirmării (ack)
- mss:<mss>
- dimensiunea maximă a segmentului
- cwnd:<cwnd>
- dimensiunea ferestrei de congestie
- pmtu:<pmtu>
- valoarea MTU a traseului
- ssthresh:<ssthresh>
- pragul de pornire lentă al ferestrei de congestie TCP
- bytes_acked:<bytes_acked>
- octeți confirmați (acked)
- bytes_received:<bytes_received>
- octeți primiți
- segs_out:<segs_out>
- segmente trimise
- segs_in:<segs_in>
- segmente primite
- send <send_bps>bps
- lățime de bandă de ieșire (bps)
- lastsnd:<lastsnd>
- cât timp a trecut de la trimiterea ultimului pachet; unitatea de măsură este milisecunda
- lastrcv:<lastrcv>
- cât timp a trecut de la primirea ultimului pachet; unitatea de măsură este milisecunda
- lastack:<lastack>
- cât timp a trecut de la primirea ultimei confirmări (ACK); unitatea de măsură este milisecunda
- pacing_rate <frecv-stimulare>bps/<frecv-stimulare-max>bps
- frecvența de stimulare și frecvența maximă de stimulare
- rcv_space:<rcv_space>
- o variabilă auxiliară pentru reglarea automată internă a memoriei tampon TCP de recepție a soclului
- tcp-ulp-mptcp flags:[MmBbJjecv] token:<rem_token(rem_id)/loc_token(loc_id)> seq:<sn> sfseq:<ssn> ssnoff:<off> maplen:<maplen>
- informații privind subfluxurile MPTCP
- --tos
- Afișează informațiile privind ToS și prioritatea. Pot apărea următoarele câmpuri:
- --cgroup
- Afișează informații despre cgroup. Pot apărea următoarele câmpuri:
- cgroup
- Numele rutei Cgroup v2. Această rută este relativă față de punctul de montare al ierarhiei.
- --tipcinfo
- Afișează informații interne despre soclul tipc.
- -K, --kill
- Î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.
- -s, --summary
- 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ă.
- -E, --events
- Afișează în mod continuu soclurile pe măsură ce sunt distruse (închise)
- -Z, --context
- 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.
- -z, --contexts
- 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ă.
- -N NSNAME, --net=NSNAME
- Comută la numele spațiului de nume de rețea specificat.
- -b, --bpf
- 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).
- -t, --tcp
- Afișează soclurile TCP.
- -u, --udp
- Afișează soclurile UDP.
- -d, --dccp
- Afișează soclurile DCCP.
- -w, --raw
- Afișează soclurile RAW.
- -x, --unix
- Afișează soclurile de domeniu Unix (alias pentru -f unix).
- -S, --sctp
- Afișează soclurile SCTP.
- --tipc
- Afișează soclurile tipc (alias pentru -f tipc).
- --vsock
- Afișează soclurile vsock (alias pentru -f vsock).
- --xdp
- Afișează soclurile XDP (alias pentru -f xdp).
- -M, --mptcp
- Afișează soclurile MPTCP.
- --inet-sockopt
- Afișează opțiunile soclului INET.
- -f FAMILIA, --family=FAMILIA
- Afișează soclurile de tip FAMILIA. În prezent sunt acceptate următoarele familii: unix, inet, inet6, link, netlink, vsock, tipc, xdp.
- -A INTEROGARE, --query=INTEROGARE, --socket=INTEROGARE
- 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.
- -D FIȘIER, --diag=FIȘIER
- 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).
- -F FIȘIER, --filter=FIȘIER
- 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).
- --bpf-maps
- Afișează într-un format ușor de citit toate intrările de date locale ale soclului BPF pentru fiecare soclu.
- --bpf-map-id=ID_HARTĂ
- 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.
- FILTER := [ state FILTRU-STARE ] [ EXPRESIE ]
- 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.
- Identificatorii disponibili sunt:
-
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.
- dev [=|!=] DISPOZITV
- Căutarea se bazează pe dispozitivul utilizat de conexiune. DISPOZITIV poate fi fie numele unui dispozitiv, fie indicele interfeței.
- fwmark [=|!=] MASCA
- 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.
- cgroup [=|!=] RUTA
- Se potrivește dacă conexiunea face parte dintr-un cgroup la ruta specificată.
- autobound
- 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:
- unix
- 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.
- link
- 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”.
- netlink
- 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).
- vsock
- ADRESA este un număr întreg care reprezintă adresa CID, iar PORT este portul.
- inet și inet6
- 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¶
- ss -t -a
- Afișează toate soclurile TCP.
- ss -t -a -Z
- Afișează toate soclurile TCP cu contextele de securitate SELinux ale proceselor.
- ss -u -a
- Afișează toate soclurile UDP.
- ss -o state established '( dport = :ssh or sport = :ssh )'
- Afișează toate conexiunile SSH stabilite.
- ss -x src /tmp/.X11-unix/*
- Găsește toate procesele locale conectate la serverul X.
- ss -o state fin-wait-1 '( sport = :http sau sport = :https )' dst 193.233.7/24
- 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.
- ss -a -A 'all,!tcp'
- 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.