Linuxのコマンドラインからソケット関連の情報にアクセスする場合、最初に頭に浮かぶツールはnetstatです。ただし、この作業を行うことができる別のユーティリティがあります。
それはssと呼ばれます 。このチュートリアルでは、わかりやすい例を使用して、このツールの基本について説明します。ただし、その前に、ここでのすべてのケースがUbuntu18.04LTSマシンでテストされていることを言及する価値があります。
Linuxssコマンド
Linuxのssコマンドを使用すると、ソケットを調査できます。その構文は次のとおりです。
ss [options] [FILTER]
そして、これがツールのマニュアルページに書かれていることです:
ssは、ソケット統計をダンプするために使用されます。 netstatと同様の情報を表示できます。
他のツールよりも多くのTCPおよび状態情報を表示できます。
以下は、ssコマンドがどのように機能するかをよりよく理解するためのQ&Aスタイルの例です。
Q1。 ssコマンドの使用方法は?
非常に基本的な形式では、'ss' sansanyoptionを実行してssコマンドを使用できます。
ss
以下は、私の場合に生成されたコマンドの出力です。
ssは、デフォルトの出力で接続が確立されたソケットを表示します。
Q2。 ssでヘッダー行を抑制するにはどうすればよいですか?
ヘッダーの抑制は、-Hコマンドラインオプションを使用して実行できます。
ss -H
次のスクリーンショットは、このコマンドラインオプションの動作を示しています。
したがって、この場合、ヘッダー行が欠落していることがわかります。
Q3。 ssにリスニングソケットと非リスニングソケットの両方を表示させる方法は?
これは、-aコマンドラインオプションを使用して実行できます。
ss -a
リスニングソケットはデフォルトで省略されているため、-aを使用すると、ssがそれらを出力に含めることに注意してください。ただし、ssでリスニングソケットのみを表示する場合は、-lコマンドラインオプションを使用します。
ss -l </ pre>Q4。ソケットを使用してssshowプロセスを作成するにはどうすればよいですか?
ssコマンドで、すでに出力に生成されている他の情報とともにプロセス情報を表示する場合は、-pコマンドラインオプションを使用します。
ss -p次のスクリーンショットは、私の場合の出力を示しています。
これで、プロセス情報が出力に表示されていることがわかります。
Q5。 ssに要約情報を生成させる方法は?
ssコマンドがデフォルトで生成する出力を表示したくない場合。次に、ssに解析する情報の簡単な要約を提供するように依頼できるオプションがあります。
この要約は、-sコマンドラインオプションを使用して作成できます:
ss -sたとえば、私の場合の要約は次のとおりです。
合計:1334(カーネル0)
TCP:41(estab 35、クローズ3、孤立0、synrecv 0、timewait 3/0)、ポート0
トランスポート合計IPIPv6
* 0 - -
RAW 1 0 1
UDP 7 5 2
TCP 38 37 1
INET 46 42 4
FRAG 0 0Q6。 ssにIPv4またはIPv6ソケットのみを表示させるにはどうすればよいですか?
これは、-4および-6オプションを使用して実行できます。
たとえば、ssにIPv4ソケットのみを表示させるには、次のコマンドを実行します。
ss -4同様に、IPv6の場合は、次のコマンドを実行します。
ss -6Q7。 ssにTCPまたはUDPソケットのみを表示させるにはどうすればよいですか?
ここで使用できるさまざまなコマンドラインオプションがあります。TCPの場合は-t、UDPの場合は-uです。
以下は、ssコマンドのマニュアルページからの便利な抜粋です。
-t、--tcp
TCPソケットを表示します。
-u、-udp
UDPソケットを表示します。
-d、 --dccp
DCCPソケットを表示します。
-w、--raw
RAWソケットを表示します。
-x、-unix
Unixドメインソケット(-f unixのエイリアス)を表示します。
-S、-sctp
SCTPソケットを表示します。
--vsock
vsockソケット(-f vsockのエイリアス)を表示します。結論 ssコマンドは、Linuxの作業にネットワーキングが含まれる場合に便利なツールです。ここで、このチュートリアルでは、ssが提供するいくつかのコマンドラインオプションについて説明しました。これらの練習が終わったら、ツールのマニュアルページにアクセスして詳細を確認してください。
Linux