Vad är SS -kommandot i Linux?

What Is Ss Command Linux



Möjligheten att se och förstå nätverksuttagsanslutningar som de händer i ditt Linux -system kan vara värdefullt när du felsöker och får din systemstatus.

Denna handledning tar dig en djupgående titt på kommandoradsverktyget ss som gör att vi kan se nätverksanslutningar och annan detaljerad information. Med hjälp av det du lär dig från den här guiden bör du förstå och använda ss -verktyget för maximal information och produktivitet.







Låt oss komma igång.



Vad är ss?

I ett nötskal är ss ett kommandoradsverktyg som tillåter användare att dumpa information om nätverksuttag. Det liknar det populära netstat -verktyget, men det erbjuder fler funktioner och information än netstat.



Med Ss kan du se detaljerad information om hur din maskin kommunicerar med andra resurser, till exempel nätverk, tjänster och nätverksanslutningar.





Med hjälp av ss -information kan du tydligt förstå vad som händer, när och hur. Det kan vara mycket praktiskt under felsökningen.

Grundläggande kommandoanvändning

Att använda ss -kommandot är lika enkelt som att skriva två bokstäver i en terminal och trycka på enter. Även om det stöder många argument, ringer ss -kommandot utan alternativ visar information om alla anslutningar, oavsett deras tillstånd.



När det används utan alternativ dumpar ss -kommandot mycket information som du kan referera till senare. För att spara utdata till en fil kan du använda utdataomdirigeringsoperatorn enligt kommandot:

sudo ss> output.txt

NOTERA : Det är bra att notera att körning av ss -kommandot med och utan sudo -privilegier kan ge olika utgångar - vilket betyder att ss -kommandot listar information baserat på användarkontext.

Basic ss Command Options

Som nämnts stöder ss -kommandot olika alternativ som gör att du kan styra utdata och information som visas. Du kan se de grundläggande alternativen med kommandot:

ss --hjälp

Flera grundläggande alternativ som stöds av ss -kommandot inkluderar:

  1. -V eller –version: Låter dig se den installerade versionen av ss -verktyget.
  2. -H eller –no-header: Denna flagga undertrycker rubriklinjen. Standardrubriken för ss-kommandot innehåller följande värden: Netid, State, Recv-Q, Send-Q, Local Address: Port och Peer Address: Port. Att undertrycka rubriken är användbart när du behöver bearbeta ss -utdata med andra verktyg.
  3. -t eller –tcp: Berättar ss -kommando för att bara visa TCP -anslutningarna.
  4. -a eller –all: Visar både lyssnande och icke-lyssnande anslutningar.
  5. -e eller –förlängd: Visar ytterligare information om ett nätverksuttag.
  6. -u eller –udp: Berättar ss -kommando för att bara visa UDP -anslutningarna.
  7. -s eller –sammanfattning: Visar en sammanfattning av anslutningsstatistiken.
  8. -l eller –lyssning: Visar lyssnaruttag som inte ingår som standard.
  9. -p eller –process: Visar processen med ett uttag.
  10. -4 eller –ipv4: Berättar ss -kommando för att bara visa IPv4 -anslutningar.
  11. -6 eller –ipv6: Visar endast IPv6 -anslutningar.
  12. -m eller –memory: Visar användning av socketminne.

Även om ovanstående är några av de grundläggande argumenten du kommer att använda när du arbetar med ss, stöder det också många ytterligare alternativ. Se manualen för mer information.

Visa lyssnande och icke-lyssnande portar

För att visa information om både lyssnande och icke -lyssnande portar kan du använda -a -flaggan som visas i kommandot nedan:

ss -a

Du kan leda utmatningen från ss -kommandon för mer specifik information med hjälp av verktyg som grep.

Till exempel:

ss -a | grep ssh

Visa TCP -anslutningar

Med hjälp av -t -flaggan med ss -kommandot kan du filtrera för att endast visa TCP -anslutningar som visas i kommandot nedan:

ss -t

För att få mer information kan du ange att lyssna TCP -anslutningar ska visas med flaggan -l och -t enligt kommandot nedan:

sudo ss -tl

Visa UDP -anslutningar

För att visa alla UDP -anslutningar, använd -l -flaggan som visas i kommandot nedan:

sudo ss -au

Förstå rubriklinjen

Som du kan se från olika utgångar i kommandona ovan visar ss mycket information. Den innehåller rubrikformatet om det inte uttryckligen anges med -H -flaggan, vilket tar bort rubrikraden.

Att förstå rubrikraden kan vara till hjälp för att visa vilken information som finns i ett visst avsnitt. Den innehåller följande rader:

State, Recv-Q, Send-Q, Local Address: Port, Peer Address: Port
  1. Stat: Statusraden i rubriken indikerar anslutningens tillstånd, till exempel LISTEN, ESTABLISHED, CLOSED, TIME-WAIT, etc. Denna rubrikrad är användbar i TCP-anslutningar eftersom UDP inte håller koll på paketens tillstånd, vilket gör det till ett statslöst protokoll.
  2. Recv-Q: Detta visar det totala antalet byte som inte har kopierats av programmet som är anslutet till det specifika uttaget.
  3. Skicka-Q: Antalet byte som inte är ACK av fjärrvärden.
  4. Lokal adress: Port: Detta visar det lokala uttaget och portnumret som är anslutet till anslutningen
  5. Peer -adress: Port: Fjärrkontakt och portnummer för anslutningen.

Visa processer

För att få processen med det specifika uttaget kan du använda -p -flaggan som visas i kommandot nedan:

sudo ss - tp

Som visas i utdata ovan kan du se processens TCP -anslutningar med hjälp av uttaget, inklusive dess PID.

Filtrering efter anslutning (TCP)

Som du vet stöder TCP olika tillstånd som vi inte kommer att diskutera i den här självstudien. Du kan dock filtrera ss -utdata för att bara få anslutningarna med de TCP -tillstånd som stöds.

sudo ss -t tillstånd lyssnar

Du kommer att märka att utmatningen i bilden som visas ovan inte innehåller tillståndet i rubriken eftersom vi filtrerade utmatningen med det angivna tillståndet. Således visas bara lyssningsanslutningarna.

Slutsats

I denna handledning diskuterade vi hur man använder och förstår kommandot verktyget ss. Det är ett kraftfullt verktyg när du behöver titta bortom listningsprocesserna. För att förstå hur det fungerar kan du lära dig mer från den officiella manualen.

Tänk på följande resurs:

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

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