Hur att Använda ss-Kommandot i Linux

0
236
Fatmawati Achmad Zaenuri/Shutterstock

Ss-kommando är en modern ersättning för den klassiska netstat. Du kan använda det på Linux för att få statistik om dina nätverksanslutningar. Här är hur man arbetar med detta praktiska verktyg.

Ss-Kommando jämfört med netstat

En ersättare för den utfasade kommandot netstat, ss ger dig detaljerad information om hur din dator kommunicerar med andra datorer, nätverk och tjänster.

ss visar statistik för Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Unix (interprocess), och raw sockets. Raw sockets fungera på nätverket OSI-nivå, vilket innebär att TCP-och UDP-rubriker måste hanteras av programvaran, inte av transport lager. Internet Control Message Protocol (ICMP) meddelanden och pingverktyget både använda raw sockets.

Med hjälp av ss

Du behöver inte installera ss, som det är redan en del av en up-to-date Linux-distribution. Dess utgång, dock, kan vara mycket lång—vi har haft resultat som innehåller över 630 rader. Resultaten är också mycket stort.

På grund av detta, vi har tagit sms: a representationer av de resultat vi uppnått, eftersom de inte skulle få plats i en skärmdump. Vi har trimmat dem för att göra dem mer hanterbara.

Notering Nätverksanslutningar

Med hjälp av ss utan kommandoradsalternativ listor uttag som är icke-lyssnande. Det är det listor på uttag som inte lyssnar staten.

För att se detta, skriv följande:

ss

Netid Staten Recv-Q-Skicka-Q Lokala Adress:Port Peer-Adress:Port Process
u_str FASTSTÄLLDES 0 0 * 41826 * 41827
u_str FASTSTÄLLDES 0 0 /run/systemd/tidning/stdout 35689 * 35688
u_str FASTSTÄLLDES 0 0 * 35550 * 35551

u_str FASTSTÄLLDES 0 0 * 38127 * 38128
u_str FASTSTÄLLDES 0 0 /run/dbus/system_bus_socket 21243 * 21242
u_str FASTSTÄLLDES 0 0 * 19039 * 19040
u_str FASTSTÄLLDES 0 0 /run/systemd/tidning/stdout 18887 * 18885
u_str FASTSTÄLLDES 0 0 /run/dbus/system_bus_socket 19273 * 17306
icmp6 UNCONN 0 0 *:ipv6-icmp -*: *
udp FASTSTÄLLDES 0 0 192.168.4.28%enp0s3:bootpc 192.168.4.1:bootps

Kolumnerna är följande:

  • Netid: Den typ av sockel. I vårt exempel har vi “u_str,” en Unix-stream, en “udp,” och “icmp6,” en IP-version 6 ICMP-uttaget. Du kan hitta mer beskrivningar av Linux uttag typer i Linux-man-sidor.
  • Staten: Den statliga uttaget är i.
  • Recv-Q: antalet mottagna paket.
  • Skicka-Q: antalet skickade paket.
  • Lokal Adress:Port: Den lokala adress och port (eller motsvarande värden för Unix-uttag).
  • Peer-Adress:Port: fjärr-adress och port (eller motsvarande värden för Unix-uttag).

För UDP-uttag i “Staten” – kolumnen är oftast tom. För TCP-sockets det kan vara en av följande:

  • LYSSNA: Server-sidan. Uttaget väntar en anslutningsbegäran.
  • SYN-SKICKAT: klientsidan. Detta uttag har gjort en förfrågan om anslutning och väntar för att se om det är accepterat.
  • SYN-MOTTAGEN:på Server-sidan. Detta uttag är att vänta för en anslutning bekräftelse efter accepterar en anslutningsförfrågan.
  • ETABLERAD: Server och klienter. En fungerande anslutning har upprättats mellan servern och klienten, vilket gör att data kan överföras mellan de två.
  • FIN-VÄNTA-1: Server och klienter. Detta uttag väntar på anslutning begäran om uppsägning från remote-uttaget, eller en bekräftelse av en anslutning begäran om uppsägning som var tidigare som skickas från denna socket.
  • FIN-VÄNTA-2: Server och klienter. Detta uttag väntar på anslutning begäran om uppsägning från remote-uttaget.
  • NÄRA-VÄNTA: klient och Server. Detta uttag väntar på anslutning begäran om uppsägning från den lokala användaren.
  • STÄNGNING: Server och klienter. Detta uttag väntar på anslutning uppsägning begära bekräftelse från remote-uttaget.
  • SISTA-ACK: klient och Server. Detta uttag väntar på en bekräftelse av den anslutning uppsägning begär det skickas till remote-uttaget.
  • TID-VÄNTA: Server och klienter. Detta uttag skickas en bekräftelse till remote-uttaget för att låta det vet det fick remote uttaget s begäran om uppsägning. Det är nu som väntar på att se till att bekräftelse har mottagits.
  • STÄNGT: Det finns inget samband, så uttaget har upphört att gälla.

Notering Lyssna Uttag

För att se den lyssnande uttag kommer vi lägga till-l (lyssna) alternativ, så här:

ss -l

Netid Staten Recv-Q-Skicka-Q Lokala Adress:Port Peer-Adress:Port Process
nl UNCONN 0 0 rtnl:NetworkManager/535 *
nl UNCONN 0 0 rtnl:evolution-addre/2987 *

u_str LYSSNA 0 4096 /run/systemd/privat 13349 * 0
u_seq LYSSNA 0 4096 /run/udev/kontroll 13376 * 0
u_str LYSSNA 0 4096 /tmp/.X11-unix/X0 33071 * 0
u_dgr UNCONN 0 0 /run/systemd/tidning/syslog 13360 * 0
u_str LYSSNA 0 4096 /run/systemd/fsck.framsteg 13362 * 0
u_dgr UNCONN 0 0 /run/user/1000/systemd/meddela 32303 * 0

Dessa uttag är alla osammanhängande och lyssna. Den “rtnl” innebär routing netlink, som används för att överföra information mellan kärna och separata processer.

Lista Alla Kontakter

För att lista alla kontakter, kan du använda växeln-a (all) alternativ:

ss -en

Netid Staten Recv-Q-Skicka-Q Lokala Adress:Port Peer-Adress:Port Process
nl UNCONN 0 0 rtnl:NetworkManager/535 *
nl UNCONN 0 0 rtnl:evolution-addre/2987 *

u_str LYSSNA 0 100 public/showq 23222 * 0
u_str LYSSNA 0 100 privat/fel-23225 * 0
u_str LYSSNA 0 100 privat/försök igen 23228 * 0

udp UNCONN 0 0 0.0.0.0:631 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:mdns 0.0.0.0:*

tcp LYSSNA 0 128 [::]:ssh [::]:*
tcp LYSSNA 0 5 [::1]:ipp [::]:*
tcp LYSSNA 0 100 [::1]:smtp [::]:*

Produktionen innehåller alla uttag, oavsett tillstånd.

Notering TCP-Sockets

Du kan också använda ett filter så att bara matchande uttag visas. Vi kommer att använda de -t (TCP) alternativ, så att endast TCP-sockets kommer att listas:

ss -en -t

Notering UDP-Uttag

-U (UDP) alternativet utför samma typ av filtrering åtgärder. Den här gången ska vi bara se UDP-uttag:

ss -en -u

Statligt Recv-Q-Skicka-Q Lokala Adress:Port Peer-Adress:Port Process
UNCONN 0 0 0.0.0.0:631 0.0.0.0:*
UNCONN 0 0 0.0.0.0:mdns 0.0.0.0:*
UNCONN 0 0 0.0.0.0:60734 0.0.0.0:*
UNCONN 0 0 127.0.0.53%lo:domän 0.0.0.0:*
FASTSTÄLLDES 0 0 192.168.4.28%enp0s3:bootpc 192.168.4.1:bootps
UNCONN 0 0 [::]:mdns [::]:*
UNCONN 0 0 [::]:51193 [::]:*

Notering Unix-Uttag

Att bara se Unix-uttag, kan du inkludera -x (Unix) alternativ, som visas nedan:

ss -en -x

Netid Staten Recv-Q-Skicka-Q Lokala Adress:Port Peer-Adress:Port Process
u_str FASTSTÄLLDES 0 0 * 41826 * 41827
u_str FASTSTÄLLDES 0 0 * 23183 * 23184
u_str FASTSTÄLLDES den 28 0 @/tmp/.X11-unix/X0 52640 * 52639

u_str FASTSTÄLLDES 0 0 /run/systemd/tidning/stdout 18887 * 18885
u_str FASTSTÄLLDES 0 0 /run/dbus/system_bus_socket 19273 * 17306

Notering Raw Sockets

Filtret för raw sockets är -w (rå) alternativ:

ss -en -w

Notering IP Version 4 Uttag

Uttag med hjälp av TCP/IP version 4-protokollet kan listas med -4 (IPV4) alternativ:

ss -en -4

Notering IP Version 5 Uttag

Du kan slå på matchande IP version 6 filter med -6 (IPV6) alternativ, så här:

ss -en -6

Notering Uttag Av Staten

Du kan lista uttag av staten i vilken de är med i det statliga alternativet. Detta fungerar med etablerade, lyssnar, eller slutna stater. Vi kommer också att använda den lösa alternativet (-r), som försöker att lösa nät-adresser till namn, och hamnar till protokoll.

Följande kommando kommer att se ut för TCP-anslutningar och ss kommer att försöka lösa namn:

ss -t -r-stat,

Fyra anslutningar är listade som är i den etablerade staten. Värdnamnet, ubuntu20-04, har lösts och “ssh” visas i stället för 22 för SSH-anslutningen på den andra raden.

Vi kan upprepa detta för att leta efter uttag i att lyssna status:

ss -t -r staten att lyssna

Recv-Q-Skicka-Q Lokala Adress:Port Peer-Adress:Port Process
0 128 localhost:5939 0.0.0.0:*
0 4096 localhost%lo:domän 0.0.0.0:*
0 128 0.0.0.0:ssh-0.0.0.0:*
0 5 localhost:ipp-0.0.0.0:*
0 100 localhost:smtp-0.0.0.0:*
0 128 [::]:ssh [::]:*
0 5 ip6-localhost:ipp [::]:*
0 100 ip6-localhost:smtp [::]:*

Notering Uttag Av Protokoll

Du kan lista uttag med hjälp av ett särskilt protokoll med destinationsport och sport alternativ, som utgör destinationen och källa portar, respektive.

Vi skriver följande lista uttag med hjälp av HTTPS-protokollet på en etablerad anslutning (observera blanksteget efter den inledande parentes och innan stängning en):

ss -en medlemsstat etablerad ” ( destinationsport = :https-eller sport -= : https )’

Vi kan använda protokollet namn eller den port som vanligtvis förknippas med att protokollet. Standard är port för Secure Shell (SSH) är port 22.

Vi kommer att använda det protokoll som namn på ett kommando och sedan upprepa det med hjälp av portnummer:

ss -en ” ( destinationsport = :ssh-eller sport -= : ssh )’
ss -en ” ( destinationsport = :22 eller sport = :22 )’

Som väntat får vi samma resultat.

Notering Anslutningar till en Specifik IP-Adress

Med dst (destination) alternativ, vi kan lista anslutningar till en viss destination IP-adress.

Vi skriver följande:

ss -en dst 192.168.4.25

Identifiera Processer

För att se vilka processer som är med uttag kan du använda processer alternativet (-p), som visas nedan (observera att du måste använda sudo):

sudo ss -t-p

Statligt Recv-Q-Skicka-Q Lokala Adress:Port Peer-Adress:Port Process
FASTSTÄLLDES 0 0 192.168.4.28:57650 54.218.19.119:https användare:((“firefox”,pid=3378,fd=151))
FASTSTÄLLDES 0 0 192.168.4.28:ssh 192.168.4.25:43946 användare:((“sshd”,pid=4086,fd=4),(“sshd”,pid=3985,fd=4))

Detta visar oss att de två etablerade kontakter på TCP-sockets används av SSH-demonen och Firefox.

En Värdig Efterträdare

Ss-kommando som ger samma information som tidigare lämnats av netstat, men på ett enklare, mer lättillgängligt sätt. Du kan kolla på man-sidan för fler alternativ och tips.

LÄS NÄSTA

  • “Hur att Avsluta Felsäkert Läge i Windows 10
  • “Hur att Använda ss-Kommandot i Linux
  • “Nästan Glömt: Nintendos Virtual Boy, 25 År Senare
  • “Hur att Spela in och Visa Ditt Namn Uttal på LinkedIn
  • “Hur vill tvångsavsluta ett program på Windows 10