Nástroj ss je příkaz CLI používaný k zobrazení informací o síťovém soketu v Linuxu. Ss znamená statistiku zásuvky. Je to podobný nástroj jako netstat, který dokáže zobrazit více informací, jako je TCP a stavové informace.
Nástroj ss je dodáván s balíčkem iproute2. Může zobrazovat statistiky pro PACKET, TCP, UDP, DCCP, RAW a Unix doménové sokety.
V tomto tutoriálu se naučíme příkaz ss v Linuxu s užitečnými příklady.
1. Vypsat síťová připojení
Příkaz ss bez jakýchkoli voleb vypíše všechny otevřené nenaslouchající sokety (např. TCP/UNIX/UDP), které navázaly spojení.
$ ss
- Netid:Zobrazuje typy soketů.
- Stav:Zobrazuje stav soketu, pokud je založen (ESTAB), nepřipojen (UNCONN) nebo naslouchající (LISTEN).
- Recv-Q:Zobrazuje počet přijatých paketů ve frontě.
- Send-Q:Zobrazuje počet odeslaných paketů ve frontě.
- Místní adresa:port:Zobrazuje adresu místního počítače a port.
- Adresa partnera:port:Zobrazuje adresu vzdáleného počítače a port.
Podrobnější informace můžete získat pomocí příkazu ss ve spojení s volbami. Můžete také vybrat více možností současně.
Syntaxe příkazu ss:
$ ss [Option]
$ ss [Option1] [Option2] [Option3]
2. Seznam naslouchacích zásuvek
Chcete-li zobrazit seznam naslouchacích zásuvek pomocí -l
nebo --listen
možnost.
$ ss -l
3. Vypište všechny zásuvky
Pomocí -a
můžete vypsat všechna naslouchající a neposlouchající síťová připojení nebo -all
možnost.
$ ss -a
4. Vypsat TCP Connection
Chcete-li zobrazit připojení soketu TCP, použijte -t
nebo --tcp
možnost.
$ ss -t
Zobrazení seznamu všech připojení TCP , můžete použít -a
a -t
možnosti. To zahrnuje všechny stavy zásuvky.
$ ss -at
Chcete-li zobrazit připojení TCP pro všechny stavy naslouchání, zkombinujte -l
a -t
možnosti.
$ ss -alt
5. List UDP připojení
Chcete-li zobrazit připojení soketu UDP, použijte -u
nebo --udp
možnost.
$ ss -u
Zobrazení seznamu všech připojení UDP , použijte -a
a -u
možnosti. To zahrnuje všechny stavy zásuvky.
$ ss -au
Můžete kombinovat -l
a -u
zobrazíte připojení UDP pro všechny stavy naslouchání .
$ ss -lu
6. Seznam Unix Sockets
Chcete-li zobrazit všechny sokety Unixu, můžete použít příkaz ss spolu s -f unix
nebo -x
.
$ ss -f unix
7. Vypsat nezpracované zásuvky
Chcete-li zobrazit všechny sokety Raw, můžete použít -w
nebo možnost --raw.
$ ss -w
8. Seznam připojení IP adresy
Pomocí příkazu ss můžeme zobrazit seznam připojení konkrétní cílové nebo zdrojové IP adresy.
Například pro výpis připojení cílové IP adresy:
$ ss dst 13.227.138.30
Například pro výpis připojení zdrojové IP adresy:
$ ss src 192.168.18.151
9. Seznam připojení IPv4 a IPv6 Socket
Pokud chcete zobrazit seznam připojení soketu IPv4, použijte volbu -4 a -6 pro zobrazení seznamu připojení soketu IPv6.
Zobrazení seznamu připojení soketu IPv4:
$ ss -4
Zobrazení seznamu připojení soketu IPv6:
$ ss -6
Chcete-li vypsat všechna připojení IPv4 TCP, můžete použít následující příklad.
$ ss -at4
10. Identifikujte procesy
Můžete najít procesy soketů pomocí -p
volba spolu s příkazem ss. K identifikaci procesu budete potřebovat oprávnění sudo.
$ sudo ss -t -p
11. Seznam připojení bez rozlišení názvu hostitele
Chcete-li vyřešit číselnou adresu/porty, použijte volbu -r (resolve). Zatímco -n
volba se nepokouší přeložit názvy služeb.
Zde v příkladu můžete vidět rozdíl mezi těmito dvěma:
$ ss -tn
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
ESTAB 0 0 74.208.235.196:22 48.192.234.17:60216
$ ss -tr
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
ESTAB 0 64 li82-186.members.linode.com:ssh n47-172-231-17.sun4.vic.optusnet.com.au:60317
$
12. Filtrovat podle připojení
Podívejme se na několik příkladů, jak použít filtry pro výstup konkrétních informací.
Chcete-li filtrovat připojení TCP s nasloucháním stavu, zadejte:
$ ss -t state listening
Chcete-li zobrazit navázaná připojení k portu ssh:
$ ss -tr state established '( dport = :22 or sport = :22 )'
Můžete také filtrovat tradičním způsobem příkazu grep. Zde zobrazujem všechna TCP spojení, která naslouchají ve stavu:
$ ss -at | grep LISTEN
Možnosti příkazu ss
Příkaz ss poskytuje různé možnosti ovládání výstupu, který se má zobrazit podle vašich požadavků. Můžete použít -h nebo --help spolu s příkazem ss k zobrazení základních voleb dostupných pomocí příkazového nástroje ss.
$ ss -h
příkaz ss vs netstat
Nástroj ss je součástí balíčku iproute2 a je výchozí ve většině distribucí Linuxu. Chcete-li mít netstat, musíte nainstalovat net-tools, který je již zastaralý. Příkaz ss je mnohem rychlejší, protože se načítá přímo z jádra. Ss není úplnou náhradou netstat, některé příkazy netstat jsou nahrazeny příkazem ip.
Závěr
V tomto tutoriálu jsme se dozvěděli o příkazu ss s několika užitečnými příklady. Další informace naleznete na manuálové stránce příkazu ss.