ssツールは、Linuxのネットワークソケットに関する情報を表示するために使用されるCLIコマンドです。 ssはソケット統計を表します。 これはnetstatに似たツールであり、TCPや状態情報などのより多くの情報を表示できます。
ssツールはiproute2パッケージに付属しています。 PACKET、TCP、UDP、DCCP、RAW、およびUnixドメインソケットの統計を表示できます。
このチュートリアルでは、 ssコマンド Linuxでは便利な例があります。
1.ネットワーク接続を一覧表示します
オプションを指定しないssコマンドは、接続を確立したすべての開いている非リスニングソケット(TCP / UNIX / UDPなど)を一覧表示します。
$ ss
- Netid:ソケットのタイプを表示します。
- 状態:ソケットが確立されている(ESTAB)、接続されていない(UNCONN)、またはリスニングしている(LISTEN)場合、ソケットの状態を表示します。
- Recv-Q:キューで受信したパケットの数を表示します。
- Send-Q:キュー内の送信済みパケットの数を表示します。
- ローカルアドレス:ポート:ローカルマシンとポートのアドレスを表示します。
- ピアアドレス:ポート:リモートマシンとポートのアドレスを表示します。
オプションと組み合わせてssコマンドを使用すると、より詳細な情報を取得できます。 同時に複数のオプションを選択することもできます。
ssコマンド構文:
$ ss [Option]
$ ss [Option1] [Option2] [Option3]
2.リスニングソケットを一覧表示します
を使用してリスニングソケットのリストを表示するには -l
また --listen
オプション。
$ ss -l

3.すべてのソケットを一覧表示します
を使用して、すべてのリスニングネットワーク接続と非リスニングネットワーク接続を一覧表示できます。 -a
また -all
オプション。
$ ss -a

4.TCP接続を一覧表示します
TCPソケット接続を表示するには、 -t
また --tcp
オプション。
$ ss -t

のリストを表示するには すべてのTCP接続、あなたは使用することができます -a
と -t
オプション。 これには、ソケットのすべての状態が含まれます。
$ ss -at
すべてのリスニング状態のTCP接続を表示するには、組み合わせます -l
と -t
オプション。
$ ss -alt
5. ListUDP接続
UDPソケット接続を表示するには、 -u
また --udp
オプション。
$ ss -u

を表示するには すべてのUDP接続のリスト、 使用する -a
と -u
オプション。 これには、ソケットのすべての状態が含まれます。
$ ss -au
組み合わせることができます -l
と -u
のUDP接続を表示するには すべてのリスニング状態。
$ ss -lu
6.Unixソケットを一覧表示します
すべてのUnixソケットを表示するには、ssコマンドを次のコマンドと一緒に使用できます。 -f unix
また -x
。
$ ss -f unix

7.Rawソケットを一覧表示します
すべてのRawソケットを表示するには、次を使用できます -w
または–rawオプション。
$ ss -w

8.IPアドレスの接続を一覧表示します
ssコマンドを使用して、特定の宛先または送信元IPアドレスのリスト接続を表示できます。
にとって example 宛先IPアドレスの接続を一覧表示するには:
$ ss dst 13.227.138.30

にとって example 送信元IPアドレスの接続を一覧表示するには:
$ ss src 192.168.18.151

9.IPv4およびIPv6ソケット接続を一覧表示します
IPv4ソケット接続のリストを表示する場合は、-4オプションと-6を使用してIPv6ソケット接続のリストを表示します。
IPv4ソケット接続リストを表示するには:
$ ss -4

IPv6ソケット接続リストを表示するには:
$ ss -6

すべてのIPv4TCP接続を一覧表示するには、次を使用できます example。
$ ss -at4

10.プロセスを特定する
あなたは見つけることができます ソケットのプロセス を使用して -p
ssコマンドと一緒にオプション。 プロセスを特定するには、 sudo 許可。
$ sudo ss -t -p

11.ホスト名解決なしのリスト接続
数値のアドレス/ポートを解決するには、-r(解決)オプションを使用します。 一方、-n
オプションはサービス名を解決しようとしません。
ここで example、2つの違いを確認できます。
$ 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.接続によるフィルタリング
フィルタを適用して特定の情報を出力する方法の例をいくつか確認してみましょう。
状態リスニングでTCP接続をフィルタリングするには、次のように入力します。
$ ss -t state listening
確立されたsshポート接続を表示するには:
$ ss -tr state established '( dport = :22 or sport = :22 )'
grepコマンドの従来の方法でフィルタリングすることもできます。 ここでは、次の状態でリッスンしているすべてのTCP接続を表示しています。
$ ss -at | grep LISTEN
ssコマンドオプション
ssコマンドは、要件に応じて表示される出力を制御するためのさまざまなオプションを提供します。 -hまたは–helpをssコマンドと一緒に使用して、sscommand-utilityで使用可能な基本オプションを表示できます。
$ ss -h

ss vsnetstatコマンド
ssツールはiproute2パッケージに含まれており、ほとんどのLinuxディストリビューションではデフォルトです。 netstatを使用するには、すでに非推奨になっているnet-toolsをインストールする必要があります。 ssコマンドは、カーネルから直接フェッチするため、はるかに高速です。 ssはnetstatの完全な置き換えではなく、netstatコマンドの一部がipコマンドに置き換えられています。
結論
このチュートリアルでは、いくつかの便利な例を使用してssコマンドについて学習しました。 参照できます ssコマンドのマニュアルページ 詳細については。