linuxシステムネットワークコマンド(三)
一、netstat監視ネットワークコマンド
1、コマンドの概要
Netstatコマンドは、TCP/IPネットワークを監視する非常に有用なツールであり、ルーティングテーブル、実際のネットワーク接続、および各ネットワークインタフェースデバイスの状態、およびネットワークプロトコルに関する情報を表示することができる.
2、常用オプション
−tは、TCP伝送プロトコルの接続状況を示す.
−uは、UDP伝送プロトコルの接続状況を示す.
-lモニタのサーバーのSocketを表示します.
-aはすべてのケーブルのSocketを表示します.
-pはSocketを使用しているプログラム識別コードとプログラム名を表示します.
−nは、ドメイン名サーバを介さずにIPアドレスを直接使用する.
-rはrouteまたはip route showに似たルーティングテーブルを表示します.
-e詳細なソケット情報を表示します.
3、コマンドパラメータの併用
3.1、逆ドメイン名解析を無効にし、検索速度を速める
デフォルトではnetstatは、逆ドメイン名解析技術によって各IPアドレスに対応するホスト名を検索します.これにより、検索速度が低下します.ホスト名を知る必要がなく、IPアドレスが十分だと思う場合は、-nオプションを使用してドメイン名解析機能を無効にします.
3.2、リスニング中の接続のみをリストする
ネットワーク・サービスのバックグラウンド・プロセスでは、アクセスのリクエストをリスニングするためのポートが開きます.これらの傍受中のソケットも接続されたソケットと同様にnetstatに列挙される.-lオプションを使用して、リスニング中のソケットをリストします.
3.3、カーネルルーティング情報を表示する
-rオプションを使用してカーネルルーティング情報を印刷します.印刷された情報はrouteコマンドが出力した情報と同じです.-nオプションを使用してドメイン名の解析を禁止することもできます.
3.4、プロセス名、プロセス番号及びユーザーIDの取得
ポートと接続の情報を表示するときに、対応するプロセス名とプロセス番号を表示することは、システム管理者にとって非常に役立ちます.たとえば、httpサービスは80ポートを開きます.httpサービスが開始されたかどうか、またはhttpサービスがapacheまたはnginxで開始されたかを確認する場合は、プロセス名を参照してください.
-pオプションを使用する場合、netstatはroot権限の下で実行する必要があります.そうしないと、root権限の下で実行されるプロセス名を取得できません.プロセス名とプロセス番号よりも、プロセスの所有者を表示する方が便利です.-epオプションを使用して、プロセス名とユーザー名を同時に表示します.
TCPプロトコルの下にあるリスニングソケットがリストされ、プロセス情報と追加情報が表示されます.これらの追加情報には、ユーザー名とプロセスのインデックス・セクション番号が含まれます.注意---nと-eオプションを一緒に使用すると、User列のプロパティはユーザー名ではなくユーザーのID番号です.
二、ss監視コマンド
1、ssコマンドの概要
ssはSocket Statisticsの略です.名前の通り、ssコマンドは、netstatと同様のコンテンツを表示できるsocket統計を取得するために使用できます.しかし、ssの利点は、TCPおよび接続状態に関するより詳細な情報をより多く表示でき、netstatよりも迅速かつ効率的であることである.またnetstatコマンドの代わりに使用されるコマンドインストールパッケージはiprouteです.
2、常用オプション
−tは、TCP伝送プロトコルの接続状況を示す.
−uは、UDP伝送プロトコルの接続状況を示す.
-lモニタのサーバーのSocketを表示します.
-aはすべてのケーブルのSocketを表示します.
-pはSocketを使用しているプログラム識別コードとプログラム名を表示します.
−nは、ドメイン名サーバを介さずにIPアドレスを直接使用する.
-rはrouteまたはip route showに似たルーティングテーブルを表示します.
-e詳細なソケット情報を表示します.
-mソケット接続に使用するメモリ情報を表示する
3、使用例
3.1、Socketsの概要を表示する
3.2、現在のシステムがtcp状態である全てのリンクをIPで表示する
3.3、プロセスが使用するsocketを数字で表示する:
3.4、確立された22ポートのすべての接続を表示する:
3.5.現在のマシンの80ポートが誰に占有されているかを確認する:
なぜssはnetstatより速いのか:
Netstatは、/procの下にある各PIDディレクトリを巡り、ssは/proc/netの下にある統計を直接読みます.したがってss実行時にリソースを消費したり、netstatよりも時間を消費したりするのは少ない.
参照先:
http://linux.cn/thread/12158/1/1/
http://www.cnblogs.com/peida/archive/2013/03/11/2953420.html
1、コマンドの概要
Netstatコマンドは、TCP/IPネットワークを監視する非常に有用なツールであり、ルーティングテーブル、実際のネットワーク接続、および各ネットワークインタフェースデバイスの状態、およびネットワークプロトコルに関する情報を表示することができる.
2、常用オプション
−tは、TCP伝送プロトコルの接続状況を示す.
−uは、UDP伝送プロトコルの接続状況を示す.
-lモニタのサーバーのSocketを表示します.
-aはすべてのケーブルのSocketを表示します.
-pはSocketを使用しているプログラム識別コードとプログラム名を表示します.
−nは、ドメイン名サーバを介さずにIPアドレスを直接使用する.
-rはrouteまたはip route showに似たルーティングテーブルを表示します.
-e詳細なソケット情報を表示します.
3、コマンドパラメータの併用
3.1、逆ドメイン名解析を無効にし、検索速度を速める
デフォルトではnetstatは、逆ドメイン名解析技術によって各IPアドレスに対応するホスト名を検索します.これにより、検索速度が低下します.ホスト名を知る必要がなく、IPアドレスが十分だと思う場合は、-nオプションを使用してドメイン名解析機能を無効にします.
[root@hpf-linux ~]# netstat -tan // tcp IP , p 。
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 52 192.168.1.110:22 192.168.1.104:60376 ESTABLISHED
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:25 :::* LISTEN
3.2、リスニング中の接続のみをリストする
ネットワーク・サービスのバックグラウンド・プロセスでは、アクセスのリクエストをリスニングするためのポートが開きます.これらの傍受中のソケットも接続されたソケットと同様にnetstatに列挙される.-lオプションを使用して、リスニング中のソケットをリストします.
[root@hpf-linux ~]# netstat -tunl // tcp、udp IP 。
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:25 :::* LISTEN
3.3、カーネルルーティング情報を表示する
-rオプションを使用してカーネルルーティング情報を印刷します.印刷された情報はrouteコマンドが出力した情報と同じです.-nオプションを使用してドメイン名の解析を禁止することもできます.
[root@hpf-linux ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
[root@hpf-linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
3.4、プロセス名、プロセス番号及びユーザーIDの取得
ポートと接続の情報を表示するときに、対応するプロセス名とプロセス番号を表示することは、システム管理者にとって非常に役立ちます.たとえば、httpサービスは80ポートを開きます.httpサービスが開始されたかどうか、またはhttpサービスがapacheまたはnginxで開始されたかを確認する場合は、プロセス名を参照してください.
[root@hpf-linux ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1113/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1324/master
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1744/nginx
tcp 0 0 :::22 :::* LISTEN 1113/sshd
tcp 0 0 ::1:25 :::* LISTEN 1324/master
-pオプションを使用する場合、netstatはroot権限の下で実行する必要があります.そうしないと、root権限の下で実行されるプロセス名を取得できません.プロセス名とプロセス番号よりも、プロセスの所有者を表示する方が便利です.-epオプションを使用して、プロセス名とユーザー名を同時に表示します.
[cangls@hpf-linux ~]$ netstat -ltpe
(No info could be read for "-p": geteuid()=505 but you should be root.) //
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 *:ssh *:* LISTEN root 8879 -
tcp 0 0 localhost:smtp *:* LISTEN root 9221 -
tcp 0 0 *:ssh *:* LISTEN root 8882 -
tcp 0 0 localhost:smtp *:* LISTEN root 9223 -
TCPプロトコルの下にあるリスニングソケットがリストされ、プロセス情報と追加情報が表示されます.これらの追加情報には、ユーザー名とプロセスのインデックス・セクション番号が含まれます.注意---nと-eオプションを一緒に使用すると、User列のプロパティはユーザー名ではなくユーザーのID番号です.
[cangls@hpf-linux ~]$ netstat -ltne
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 8879
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 9221
tcp 0 0 :::22 :::* LISTEN 0 8882
tcp 0 0 ::1:25 :::* LISTEN 0 9223
二、ss監視コマンド
1、ssコマンドの概要
ssはSocket Statisticsの略です.名前の通り、ssコマンドは、netstatと同様のコンテンツを表示できるsocket統計を取得するために使用できます.しかし、ssの利点は、TCPおよび接続状態に関するより詳細な情報をより多く表示でき、netstatよりも迅速かつ効率的であることである.またnetstatコマンドの代わりに使用されるコマンドインストールパッケージはiprouteです.
2、常用オプション
−tは、TCP伝送プロトコルの接続状況を示す.
−uは、UDP伝送プロトコルの接続状況を示す.
-lモニタのサーバーのSocketを表示します.
-aはすべてのケーブルのSocketを表示します.
-pはSocketを使用しているプログラム識別コードとプログラム名を表示します.
−nは、ドメイン名サーバを介さずにIPアドレスを直接使用する.
-rはrouteまたはip route showに似たルーティングテーブルを表示します.
-e詳細なソケット情報を表示します.
-mソケット接続に使用するメモリ情報を表示する
3、使用例
3.1、Socketsの概要を表示する
[root@hpf-linux ~]# ss -s
Total: 115 (kernel 132)
TCP: 7 (estab 2, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 3
Transport Total IP IPv6
* 132 - -
RAW 0 0 0
UDP 0 0 0
TCP 7 5 2
INET 7 5 2
FRAG 0 0 0
3.2、現在のシステムがtcp状態である全てのリンクをIPで表示する
[root@hpf-linux ~]# ss -tan
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 :::22 :::*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:80 *:*
ESTAB 0 52 192.168.1.110:22 192.168.1.104:62515
ESTAB 0 0 192.168.1.110:22 192.168.1.104:60376
3.3、プロセスが使用するsocketを数字で表示する:
[root@hpf-linux ~]# ss -lnp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 :::22 :::* users:(("sshd",1113,4))
LISTEN 0 128 *:22 *:* users:(("sshd",1113,3))
LISTEN 0 100 ::1:25 :::* users:(("master",1324,13))
LISTEN 0 100 127.0.0.1:25 *:* users:(("master",1324,12))
LISTEN 0 128 *:80 *:* users:(("nginx",2054,6),("nginx",2055,6))
3.4、確立された22ポートのすべての接続を表示する:
[root@hpf-linux ~]# ss -tan -o state established '( sport = :22 )'
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 52 192.168.1.110:22 192.168.1.104:62515 timer:(on,249ms,0)
0 0 192.168.1.110:22 192.168.1.104:60376 timer:(keepalive,62min,0)
3.5.現在のマシンの80ポートが誰に占有されているかを確認する:
[root@hpf-linux ~]# ss -lnp src :80
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:80 *:* users:(("nginx",2054,6),("nginx",2055,6))
[root@hpf-linux ~]# ss -lnp |grep 80
LISTEN 0 128 *:80 *:* users:(("nginx",2054,6),("nginx",2055,6))
なぜssはnetstatより速いのか:
Netstatは、/procの下にある各PIDディレクトリを巡り、ssは/proc/netの下にある統計を直接読みます.したがってss実行時にリソースを消費したり、netstatよりも時間を消費したりするのは少ない.
参照先:
http://linux.cn/thread/12158/1/1/
http://www.cnblogs.com/peida/archive/2013/03/11/2953420.html