Linux 基本コマンド -ss ソケット情報を表示する

Linux の基本コマンド -netstat はネットワークの状態を表示します

ss

1. コマンドの紹介

まずマニュアルを使用してコマンドの紹介情報を表示します

名前
ss - ソケットを調査する別のユーティリティ

説明
ss はソケット統計をダンプするために使用されます。netstat と同様の情報を表示できます
他のツールよりも多くの TCP および状態情報を表示できます。

ss (ソケット統計) コマンドの主な機能は、ソケット情報を表示することです。netstat コマンドの使用と非常に似ており、ソケット情報を表示するために使用されます。ss コマンドの利点は、TCP と接続ステータスに関するより詳細な情報を表示できることと、より高速で効率的なことです。

2. 文法形式

ss の文法形式は次のとおりです: ss [パラメータ] [フィルタ]

概要
ss [オプション] [フィルター]

3. 基本パラメータ

コマンドの基本的なパラメータは以下の通りですが、今後さらにパラメータが増えていき、もちろんこのコマンドの使い方もかなり豊富になることがわかります。

-n ドメイン名を解決しない
-a すべてのソケットを表示
-l リスニング状態のソケットを表示する
-o タイマー情報を表示する
-e 詳細なソケット情報を表示する
-m ソケットのメモリ状態を表示します
-p ソケットを使用したプロセスを表示
-私 内部 TCP 情報を表示する
-s ソケットの使用状況を表示する
-4 IPv4ソケット情報を表示する
-6 IPv6ソケット情報を表示する
-0 PACKETソケット情報の表示
-t TCPソケット情報を表示する
-u UDPソケット情報を表示する
-d DCCPソケット情報の表示
-w RAWソケット情報を表示する
-D 未加工の TCP ソケット情報をファイルにダンプする
-r IPとポート番号を解析する

4. 各列が表す意味

ここに画像の説明を挿入

ネット ネットワーク識別子
各サービスの接続状況
受信Q 受信ソケット (ソケット) キュー内のデータ量 (バイト単位)
送信Q 送信ソケット (ソケット) キュー内のデータ量 (バイト単位)
ローカルアドレス ローカルコンピュータアドレスを実行する
ポート サービスポート
ピアアドレス ピアポート

V. 参考例

1. 確立された接続をリストする

デフォルトでは、ssパラメーターなしでコマンドのみが使用され、確立されたすべての接続のソケット リスト情報が表示されます。

[root@localhost ~]# ss |wc -l
716
[root@localhost ~]# ss | head -n 3
Netid  State      Recv-Q Send-Q Local Address:Port                 Peer Address:Port                
u_str  ESTAB      0      0       * 37084                 * 37928                
u_str  ESTAB      0      0       * 36812                 * 36814                

2. TCPプロトコルのソケット情報をリッスンします。

-lすべてのtcpプロトコルのソケットの内容をパラメータでリッスンできます

<pre>[root@localhost ~]# ss -lt
State      Recv-Q Send-Q  Local Address:Port                   Peer Address:Port                
LISTEN     0      100         127.0.0.1:smtp                              *:*                    
LISTEN     0      128                 *:sunrpc                            *:*                    
LISTEN     0      5       192.168.122.1:domain                            *:*                    
LISTEN     0      128                 *:ssh                               *:*                    
LISTEN     0      128         127.0.0.1:ipp                               *:*                    
LISTEN     0      100             [::1]:smtp                           [::]:*                    
LISTEN     0      128              [::]:sunrpc                         [::]:*                    
LISTEN     0      128              [::]:ssh                            [::]:*                    
LISTEN     0      128             [::1]:ipp                            [::]:*                    
</pre>

3. ホストがリッスンするポートを表示します。

-nドメイン名が解決されていないことを示し、IP+ポートの形式が表示されます。

[root@localhost ~]# ss -tnl 
State      Recv-Q Send-Q    Local Address:Port                   Peer Address:Port              
LISTEN     0      100           127.0.0.1:25                                *:*                  
LISTEN     0      128                   *:111                               *:*                  
LISTEN     0      5         192.168.122.1:53                                *:*                  
LISTEN     0      128                   *:22                                *:*                  
LISTEN     0      128           127.0.0.1:631                               *:*              

4. 実行中のプロセスに関する情報を表示する

使用する必要がある-pパラメータと、 -tlTCP プロトコルのサービスを示し、リスニング状態にあることを示す情報を組み合わせたもの

[root@localhost ~]# ss -tlp  |head -10
State      Recv-Q Send-Q Local Address:Port                 Peer Address:Port                
LISTEN     0      100    127.0.0.1:smtp                     *:*                     users:(("master",pid=1284,fd=13))
LISTEN     0      128        *:sunrpc                   *:*                     users:(("rpcbind",pid=704,fd=8))
LISTEN     0      5      192.168.122.1:domain                   *:*                     users:(("dnsmasq",pid=1533,fd=6))
LISTEN     0      128        *:ssh                      *:*                     users:(("sshd",pid=1176,fd=3))
LISTEN     0      128    127.0.0.1:ipp                      *:*                     users:(("cupsd",pid=1168,fd=11))
LISTEN     0      100    [::1]:smtp                  [::]:*                     users:(("master",pid=1284,fd=14))

最後の列にはプロセス名、PID、fd ファイル記述子、その他の情報が表示されていることがわかります。知りたいサービス情報を絞り込むこと
もできますgrep

[root@localhost ~]# ss -ltp | grep ssh
LISTEN     0      128        *:ssh                      *:*                     users:(("sshd",pid=1176,fd=3))
LISTEN     0      128     [::]:ssh                   [::]:*                     users:(("sshd",pid=1176,fd=4))

5. 確立されたすべての情報を表示します

-aすべての接続情報を表示するにはパラメータが必要です

[root@localhost ~]# ss -a | wc -l
963
[root@localhost ~]# ss  | wc -l
716

情報が多すぎるためここでは記載しませんが、すべて表示する場合やデフォルトで表示する場合はさらに情報行が多くなることがわかります。使用するパラメータを
追加することもできます-t -n

[root@localhost ~]# ss -ant 
State      Recv-Q Send-Q    Local Address:Port                   Peer Address:Port              
LISTEN     0      100           127.0.0.1:25                                *:*                  
LISTEN     0      128                   *:111                               *:*                  
LISTEN     0      5         192.168.122.1:53                                *:*                  
LISTEN     0      128                   *:22                                *:*                  
LISTEN     0      128           127.0.0.1:631                               *:*                  
ESTAB      0      0       192.168.157.166:22                  192.168.157.213:65011              
LISTEN     0      100               [::1]:25                             [::]:*                  
LISTEN     0      128                [::]:111                            [::]:*                  
LISTEN     0      128                [::]:22                             [::]:*                  
LISTEN     0      128               [::1]:631                            [::]:*                  
[root@localhost ~]# ss -nt 
State      Recv-Q Send-Q    Local Address:Port                   Peer Address:Port              
ESTAB      0      0       192.168.157.166:22                  192.168.157.213:65011              

6. サービスに関する詳細情報を表示する

-o時刻情報の表示、-mソケットで使用される内容の表示、-i内部 TCP 情報の表示など

[root@localhost ~]# ss -imo | head -2
Netid  State      Recv-Q Send-Q Local Address:Port                 Peer Address:Port                
u_str  ESTAB      0      0       * 37084                 * 37928                 skmem:(r0,rb212992,t0,tb212992,f0,w0,o0,bl0,d0)

7. ソケットの使用状況情報を表示する

使用状況情報を表示するために必要な-sパラメータ

[root@localhost ~]# ss -s 
Total: 1711 (kernel 2055)
TCP:   11 (estab 1, closed 1, orphaned 0, synrecv 0, timewait 0/0), ports 0

Transport Total     IP        IPv6
*	  2055      -         -        
RAW	  1         0         1        
UDP	  11        8         3        
TCP	  10        6         4        
INET	  22        14        8        
FRAG	  0         0         0        

8. IPv4情報の表示

使用する必要のあるパラメータ-4の後にフィルタリングする情報が続き、監視されているサービスのみがここに表示されます。

[root@localhost ~]# ss -4 state listening
Netid  Recv-Q Send-Q    Local Address:Port                     Peer Address:Port                
tcp    0      100           127.0.0.1:smtp                                *:*                    
tcp    0      128                   *:sunrpc                              *:*                    
tcp    0      5         192.168.122.1:domain                              *:*                    
tcp    0      128                   *:ssh                                 *:*                    
tcp    0      128           127.0.0.1:ipp                                 *:*               

IPv6 で使用可能な-6パラメータを表示するには

[root@localhost ~]# ss -6 state listening
Netid  Recv-Q Send-Q    Local Address:Port                     Peer Address:Port                
tcp    0      100               [::1]:smtp                             [::]:*                    
tcp    0      128                [::]:sunrpc                           [::]:*                    
tcp    0      128                [::]:ssh                              [::]:*                    
tcp    0      128               [::1]:ipp                              [::]:*           

9. リモートとローカルのアドレスとポート番号を一致させる

ここではいくつかのパラメータ形式を使用する必要があります

dst :
フィルタリングされた接続の宛先アドレス
src: フィルタリングされた接続のローカル アドレス
dport: 宛先ポート
Sport: 送信元ポート

リモートアドレスとポート番号を一致させる

ss dst 192.168.157.33
ss dst 192.168.157.33:443
ss dst 192.168.157.33:http

ローカルポートとポート番号を一致させる

ss src 192.168.157.166
ss src 192.168.157.166:22
ss src 192.168.157.166:ssh

9.1 もちろん、ローカルポートとリモートポートを数値で比較することもできます

ss dport OP num
ss sport OP num

上記のテキストのOPではこれらを使用できた可能性があります

<= 以下
== 等価 同等
!= それはです 等しくない
> GT 以上
< それ 未満

突然、表内の記号が見慣れたものだと感じませんか? シェル スクリプトを学習したことがある方なら、その記号が何を表しているのか一目でわかるはずです。
使用方法を引き続き示します。
送信元ポートが 50 未満であるポート番号の内容を表示します。

[root@localhost ~]# ss -ntul sport lt 50
Netid  State      Recv-Q Send-Q Local Address:Port                Peer Address:Port              
tcp    LISTEN     0      100        127.0.0.1:25                             *:*                  
tcp    LISTEN     0      128                *:22                             *:*                  
tcp    LISTEN     0      100            [::1]:25                          [::]:*                  
tcp    LISTEN     0      128             [::]:22                          [::]:*              

シンボルを使用する場合は、シンボルの前にエスケープ文字を追加する必要があります。

[root@localhost ~]# ss -ntul sport \< 50
Netid  State      Recv-Q Send-Q Local Address:Port                Peer Address:Port              
tcp    LISTEN     0      100        127.0.0.1:25                             *:*                  
tcp    LISTEN     0      128                *:22                             *:*                  
tcp    LISTEN     0      100            [::1]:25                          [::]:*                  
tcp    LISTEN     0      128             [::]:22                          [::]:*            

要約する

ss コマンドはパラメータが多く、使い方も無数にあるため、上記の内容は一部にすぎませんが、ネットワーク状態情報の表示に関しては、ss と netstat の使い方も知っておく必要があります。上記の内容で良いと思ったら、いいねしてサポートしてください!
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/rhn_111/article/details/129444051