Netstat,SS and RHEL7/CentOS
netstatコマンドは、CentOS/RHEL7のデフォルトインストールには存在しません。 現在はssコマンドに置き換えられています。
ssコマンドは、ソケットの統計情報を表示するために使用されます。 パケットソケット、TCPソケット、UDPソケット、DCCPソケット、RAWソケット、Unixドメインソケットなどの統計情報を表示できます。 これは、netstatコマンドと同様の情報を表示することができます。 他のツールよりも多くのTCPおよび状態情報を表示できます。 これは、TCP接続とソケットを追跡するための新しい、信じられないほど便利で高速な(netstatと比較して)ツールです。 SSは以下の情報を提供できます:
- すべてのTCPソケット。
- すべてのUDPソケット。
- すべての確立されたssh/ftp/http/https接続。
- X serverに接続されているすべてのローカルプロセス。
- 状態(接続、同期、SYN-RECV、SYN-SENT、TIME-WAITなど)、アドレス、およびポートによるフィルタリング。
- 状態FIN-WAIT-1および大いに多くのすべてのtcpソケット。
ほとんどのLinuxディストリビューションには、ssと多くの監視ツールが同梱されています。 このツールに精通していることは、システムソケットで何が起こっているのかを理解するのに役立ち、パフォーマンスの問題の考えられる原因を見つ
- タスク:ソケットの概要の表示
- タスク:開いているすべてのネットワークポートの表示
- タスク:すべてのTCPソケットの表示
- タスク:すべてのUDPソケットを表示する
- タスク:すべてのRAWソケットを表示する
- タスク: すべてのUNIXソケットを表示する
- タスク:確立されたすべてのSMTP接続を表示する
- タスク:確立されたすべてのHTTP接続の表示
- タスク:X Serverに接続されているすべてのローカルプロセスの検索
- タスク:状態FIN-WAIT-1
- のすべてのTcpソケットを一覧表示するTCP状態を使用してソケットをフィルタリングするにはどうすればよいですか?
- 例
- リモートアドレスとポート番号を一致させるにはどうすればよいですか?
- ローカルアドレスとポート番号を一致させるにはどうすればよいですか?
- ローカルポートやリモートポートを数値と比較するにはどうすればよいですか?
- 例
- ssコマンドオプションの概要
タスク:ソケットの概要の表示
現在確立されている、閉じられている、孤立している、待機中のTCPソケットの一覧を入力します:# ss -s
サンプル出力:
Shell
1
2
3
4
5
6
7
8
9
|
Total: 734 (kernel 904)
TCP: 1415(estab112、閉じた1259、孤立した11、synrecv0、timewait1258/0)、ポート566
転送合計IP Ipv6
* 904 – –
生0 0 0
UDP15 12 3
TCP156 134 22
INET171 146 25
FRAG0 0 0
|
タスク:開いているすべてのネットワークポートの表示
# ss -l
出力例:
次のように入力して、open socketを使用して名前が付けられたプロセスを表示します:# ss -pl
ソケット/ポートを開く責任がある人を見つける# 4949:# ss -lp | grep 4949
サンプル出力:
シェル
1
|
0 0 *:4949 *:* ユーザー:((“munin-node”,3772,5))
|
タスク:すべてのTCPソケットの表示
# ss -t -a
タスク:すべてのUDPソケットを表示する
# ss -u -a
タスク:すべてのRAWソケットを表示する
# ss -w -a
タスク: すべてのUNIXソケットを表示する
# ss -x -a
タスク:確立されたすべてのSMTP接続を表示する
# ss -o state established '( dport = :smtp or sport = :smtp )'
タスク:確立されたすべてのHTTP接続の表示
# ss -o state established '( dport = :http or sport = :http )'
タスク:X Serverに接続されているすべてのローカルプロセスの検索
# ss -x src /tmp/.X11-unix/*
タスク:状態FIN-WAIT-1
のすべてのTcpソケットを一覧表示するTCP状態を使用してソケットをフィルタリングするにはどうすればよいですか?
構文は次のとおりです:
シェル
1
2
3
4
5
6
|
## tcp ipv4##
ss-4状態フィルタ名-ここ
## tcp ipv6##
ss-6状態フィルタ名-ここ
|
ここで、FILTER-NAME-HERE 次のいずれかを指定できます,
- syn-sent
- syn-recv
- fin-wait-1
- fin-wait-2
- time-wait
- closed
- close-wait
- last-ack
- listen
- closing
- all:上記のすべての状態
- connected:listenとclosedを除くすべての状態
- synchronized:syn-sentを除くすべての接続状態
- bucket:minisocketsとして維持される状態、つまりtime-waitとsyn-recv
- ビッグ : バケット状態とは反対です。
例
次のコマンドを入力して、ソケットを閉じることを確認します:
シェル
1
2
|
ss-4状態クロージング
|
リモートアドレスとポート番号を一致させるにはどうすればよいですか?
次の構文を使用します。
リモート123.1.2.100:httpによるローカル仮想サーバーへの接続を確認します:# ss dst 123.1.2.100:http
出力例:
ローカルアドレスとポート番号を一致させるにはどうすればよいですか?
ローカルポートやリモートポートを数値と比較するにはどうすればよいですか?
次の構文を使用します:
シェル
1
2
3
4
5
6
|
## リモートポートを番号と比較します##
ss dport OP PORT
## ローカルポートを番号と比較します##
sport OPポート
|
ここで、OPには次のいずれかを指定できます。