GNU/Linux >> Linux の 問題 >  >> Linux

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接続のリストを表示するには 、-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アドレスのリスト接続を表示できます。

たとえば、宛先IPアドレスの接続を一覧表示するには:

$ ss dst 13.227.138.30

たとえば、送信元IPアドレスの接続を一覧表示するには:

$ ss src 192.168.18.151

9。 IPv4およびIPv6ソケット接続のリスト

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

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

$ ss -4

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

$ ss -6

すべてのIPv4TCP接続を一覧表示するには、次の例を使用できます。

$ ss -at4

10。プロセスを特定する

ソケットのプロセスを見つけることができます -pを使用する ssコマンドと一緒にオプション。プロセスを識別するには、sudo権限が必要です。

$ sudo ss -t -p 

11。ホスト名が解決されていない接続を一覧表示する

数値のアドレス/ポートを解決するには、-r(解決)オプションを使用します。一方、-n オプションはサービス名を解決しようとしません。

この例では、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

ssvsnetstatコマンド

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

結論

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


Linux
  1. Linuxでの12の便利なWgetコマンドの例

  2. 例を含むLinuxTeeコマンド

  3. 例を含むLinuxヘッドコマンド

  1. 例を含むwcLinuxコマンド

  2. Linuxのソートコマンドと例

  3. LinuxでのJQコマンドと例

  1. Linuxでのエコーコマンド(例付き)

  2. LinuxのNetstatコマンド-例を含む28個のコマンド

  3. Linuxでのmanコマンドと例