Aký je príkaz SS v systéme Linux?

What Is Ss Command Linux



Schopnosť zobrazovať a porozumieť sieťovým zásuvkovým pripojeniam, ktoré sa vyskytujú vo vašom systéme Linux, môže byť cenná pri riešení problémov a získavaní stavu systému.

Tento tutoriál vás prevedie hĺbkovým pohľadom na nástroj príkazového riadka ss, ktorý nám umožňuje zobraziť sieťové pripojenia a ďalšie podrobné informácie. Ak použijete to, čo sa naučíte z tejto príručky, mali by ste porozumieť a používať nástroj ss pre maximálnu informovanosť a produktivitu.







Začnime



Čo je ss?

Stručne povedané, ss je nástroj príkazového riadka, ktorý umožňuje používateľom ukladať informácie o sieťových zásuvkách. Je podobný populárnemu nástroju netstat, ale ponúka viac funkcií a informácií ako netstat.



Ss vám umožňuje zobraziť podrobné informácie o tom, ako vaše zariadenie komunikuje s inými zdrojmi, ako sú siete, služby a sieťové pripojenia.





Vďaka informácii ss môžete jasne pochopiť, čo sa deje, kedy a ako. Môže to byť veľmi užitočné počas procesu odstraňovania problémov.

Základné použitie príkazov

Použitie príkazu ss je také jednoduché, ako napísať dve písmena do terminálu a stlačiť kláves Enter. Aj keď podporuje množstvo argumentov, volanie príkazu ss bez možností zobrazí informácie o všetkých pripojeniach bez ohľadu na ich stav.



Ak sa príkaz ss používa bez možností, uloží veľa informácií, na ktoré sa môžete neskôr obrátiť. Na uloženie výstupu do súboru môžete použiť operátor presmerovania výstupu, ako je uvedené v príkaze:

sudo ss> output.txt

POZNÁMKA : Je dobré poznamenať, že spustenie príkazu ss s oprávneniami sudo a bez nich môže poskytovať rôzne výstupy - to znamená, že príkaz ss uvádza informácie podľa kontextu používateľa.

Základné možnosti príkazu ss

Ako už bolo spomenuté, príkaz ss podporuje rôzne možnosti, ktoré vám umožňujú ovládať výstup a zobrazené informácie. Základné možnosti si môžete prezrieť pomocou príkazu:

ss -pomoc

Medzi niekoľko základných možností podporovaných príkazom ss patrí:

  1. -V alebo –verzia: Umožňuje zobraziť nainštalovanú verziu obslužného programu ss.
  2. -H alebo –žiadna hlavička: Tento príznak potláča riadok hlavičky. Predvolený riadok hlavičky príkazu ss obsahuje nasledujúce hodnoty: Netid, State, Recv-Q, Send-Q, Local Address: Port a Peer Address: Port. Potlačenie hlavičky je užitočné, keď potrebujete spracovať výstup ss pomocou iných nástrojov.
  3. -t alebo –tcp: Povie príkazu ss, aby zobrazoval iba pripojenia TCP.
  4. -a alebo –všetky: Zobrazí pripojenia na počúvanie aj na počúvanie.
  5. -e alebo –rozšírené: Zobrazí ďalšie informácie o sieťovej zásuvke.
  6. -u alebo –udp: Povie príkazu ss, aby zobrazoval iba pripojenia UDP.
  7. -alebo -zhrnutie: Zobrazí súhrn štatistík pripojenia.
  8. -l alebo -počúvanie: Ukazuje zásuvky na počúvanie, ktoré nie sú predvolene zahrnuté.
  9. -p alebo –proces: Ukazuje proces pomocou zásuvky.
  10. -4 alebo –ipv4: Povie príkazu ss, aby zobrazoval iba pripojenia IPv4.
  11. -6 alebo –ipv6: Zobrazuje iba pripojenia IPv6.
  12. -m alebo –pamäť: Zobrazuje využitie pamäte soketu.

Hoci vyššie uvedené sú niektoré zo základných argumentov, ktoré budete používať pri práci s ss, podporuje aj mnoho ďalších možností. Bližšie informácie nájdete v návode.

Porty na počúvanie a nepočúvanie

Ak chcete zobraziť informácie o počúvajúcich aj nepočúvajúcich portoch, môžete použiť príznak -a, ako je uvedené v nižšie uvedenom príkaze:

ss -a

Výstup z príkazov ss môžete presmerovať na konkrétnejšie informácie pomocou nástrojov, ako je napríklad grep.

Napríklad:

ss -a | grep ssh

Zobraziť pripojenia TCP

Pomocou príznaku -t s príkazom ss môžete filtrovať tak, aby sa zobrazovali iba pripojenia TCP, ako je uvedené v nižšie uvedenom príkaze:

ss -t

Ak chcete získať ďalšie informácie, môžete určiť, aby sa počúvajúce pripojenia TCP zobrazovali pomocou príznaku -l a -t, ako je uvedené v nižšie uvedenom príkaze:

sudo ss -tl

Zobraziť pripojenia UDP

Ak chcete zobraziť všetky pripojenia UDP, použite príznak -l podľa nasledujúceho príkazu:

sudo ss -au

Pochopenie záhlavia

Ako môžete vidieť z rôznych výstupov uvedených vo vyššie uvedených príkazoch, ss zobrazuje veľa informácií. Obsahuje formát hlavičky, pokiaľ nie je výslovne uvedené pomocou príznaku -H, ktorý odstráni riadok hlavičky.

Pochopenie riadka hlavičky môže byť užitočné pri ukázať, aké informácie sa nachádzajú v konkrétnej sekcii. Obsahuje nasledujúce riadky:

Stav, Recv-Q, Send-Q, miestna adresa: port, partnerská adresa: port
  1. Štát: Stavový riadok hlavičky označuje stav pripojenia, napríklad LISTEN, ESTABLISHED, CLOSED, TIME-WAIT atď. Tento riadok hlavičky je užitočný pri pripojení TCP, pretože UDP nesleduje stav paketov, čím sa stáva protokol bez štátnej príslušnosti.
  2. Recv-Q: Toto ukazuje celkový počet bajtov, ktoré program skopírovaný do konkrétneho soketu neskopíroval.
  3. Odoslať Q: Počet bajtov, ktoré nie sú ACK vzdialeným hostiteľom.
  4. Miestna adresa: Prístav: Toto zobrazuje miestny soket a číslo portu viazané na pripojenie
  5. Adresa partnera: Port: Číslo vzdialenej zásuvky a portu je viazané na pripojenie.

Zobraziť procesy

Na získanie postupu pomocou konkrétneho soketu môžete použiť príznak -p, ako je uvedené v nižšie uvedenom príkaze:

sudo ss - tp

Ako je uvedené na výstupe vyššie, môžete vidieť TCP spojenia procesu pomocou soketu vrátane jeho PID.

Filtrovanie podľa stavu pripojenia (TCP)

Ako viete, TCP podporuje rôzne stavy, o ktorých nebudeme v tomto návode diskutovať. Môžete však filtrovať výstup ss, aby ste získali iba pripojenia s podporovanými stavmi TCP.

sudo ss -t stav počúvania

Všimnete si, že výstup na obrázku vyššie nezahŕňa stav v hlavičke, pretože sme výstup filtrovali pomocou zadaného stavu. Zobrazia sa teda iba spojenia počúvania.

Záver

V tomto návode sme diskutovali o tom, ako používať a porozumieť obslužnému programu ss. Je to účinný nástroj, keď sa musíte pozrieť nad rámec zoznamových procesov. Aby ste pochopili, ako to funguje, môžete sa dozvedieť viac z oficiálneho manuálu.

Zvážte nasledujúci zdroj:

https://en.wikipedia.org/wiki/Iproute2

http://www.policyrouting.org/iproute2.doc.html