LinuxでのSSコマンドと便利な例

ssツールは、Linuxのネットワークソケットに関する情報を表示するために使用されるCLIコマンドです。 ssはソケット統計を表します。 これはnetstatに似たツールであり、TCPや状態情報などのより多くの情報を表示できます。

ssツールはiproute2パッケージに付属しています。 PACKET、TCP、UDP、DCCP、RAW、およびUnixドメインソケットの統計を表示できます。

このチュートリアルでは、 ssコマンド Linuxでは便利な例があります。

1.ネットワーク接続を一覧表示します

オプションを指定しないssコマンドは、接続を確立したすべての開いている非リスニングソケット(TCP / UNIX / UDPなど)を一覧表示します。

$ ss

  1. Netid:ソケットのタイプを表示します。
  2. 状態:ソケットが確立されている(ESTAB)、接続されていない(UNCONN)、またはリスニングしている(LISTEN)場合、ソケットの状態を表示します。
  3. Recv-Q:キューで受信したパケットの数を表示します。
  4. Send-Q:キュー内の送信済みパケットの数を表示します。
  5. ローカルアドレス:ポート:ローカルマシンとポートのアドレスを表示します。
  6. ピアアドレス:ポート:リモートマシンとポートのアドレスを表示します。

オプションと組み合わせて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接続を表示する

のリストを表示するには すべてのTCP接続、あなたは使用することができます -a -t オプション。 これには、ソケットのすべての状態が含まれます。

$ ss -at

すべてのリスニング状態のTCP接続を表示するには、組み合わせます -l-t オプション。

$ ss -alt

5. ListUDP接続

UDPソケット接続を表示するには、 -u また --udp オプション。

$ ss -u

UDP接続を表示します

を表示するには すべてのUDP接続のリスト、 使用する -a-u オプション。 これには、ソケットのすべての状態が含まれます。

$ ss -au

組み合わせることができます -l-u のUDP接続を表示するには すべてのリスニング状態

$ ss -lu

6.Unixソケットを一覧表示します

すべてのUnixソケットを表示するには、ssコマンドを次のコマンドと一緒に使用できます。 -f unix また -x

$ ss -f unix

Unixソケットを一覧表示します

7.Rawソケットを一覧表示します

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

$ ss -w

Rawソケットのリスト

8.IPアドレスの接続を一覧表示します

ssコマンドを使用して、特定の宛先または送信元IPアドレスのリスト接続を表示できます。

にとって example 宛先IPアドレスの接続を一覧表示するには:

$ ss dst 13.227.138.30

IPアドレスの接続を一覧表示します

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

$ ss src 192.168.18.151

9.IPv4およびIPv6ソケット接続を一覧表示します

IPv4ソケット接続のリストを表示する場合は、-4オプションと-6を使用してIPv6ソケット接続のリストを表示します。

IPv4ソケット接続リストを表示するには:

$ ss -4

IPv4ソケットのリスト

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

$ ss -6

IPv6ソケットのリスト

すべての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コマンドオプション

ss vsnetstatコマンド

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

結論

このチュートリアルでは、いくつかの便利な例を使用してssコマンドについて学習しました。 参照できます ssコマンドのマニュアルページ 詳細については。