netstat
netstat コマンド は Linux のネットワークシステムの状態情報を表示するコマンドで、システム全体のネットワーク状況を把握できます。
構文
netstat [-vWeenNcCF] [<Af>] -r
netstat {-V|--version|-h|--help}
netstat [-vWnNcaeol] [<Socket> ...]
netstat { [-vWeenNac] -i | [-cnNe] -M | -s [-6tuw] }
オプション
-A: 該当するネットワークタイプの接続に関連するアドレスを一覧表示します。-r, --route:ルーティングテーブルを表示し、システムのルート情報を一覧表示します。-i, --interfaces:インターフェース名、IP アドレスなどのネットワークインターフェース情報を表示します。-g, --groups:マルチキャストグループのメンバー情報を表示します。-s, --statistics:SNMP(Simple Network Management Protocol)のようなネットワーク統計情報を表示し、ネットワーク活動の詳細な統計を提供します。-M, --masquerade:マスカレード(masquerade)接続情報を表示します。通常は NAT(Network Address Translation)ネットワークで使用します。-v, --verbose:詳細情報を表示し、ネットワーク問題の診断に役立つ情報を提供します。-W, --wide:IP アドレスを省略せず、完全な IP アドレス情報を表示します。-n, --numeric:ホスト名やポート名を解決せず、IP アドレス、ポート番号、ユーザー情報を数値形式で表示します。--numeric-hosts:ホスト名を解決しません。--numeric-ports:ポート名を解決しません。--numeric-users:ユーザー名を解決しません。-N, --symbolic:ハードウェア名を解決し、ハードウェアデバイスのシンボル名を表示します。-e, --extend:追加情報を表示します。2 回指定すると最大限の詳細情報が得られます。-p, --programs:PID(プロセス識別子)とプログラム名を表示し、ソケットに関連するプロセス情報を示します。-o, --timers:ソケットのタイマー状態などのタイマー情報を表示します。-c, --continuous:netstatに選択した情報を毎秒継続して表示させ、継続的に監視します。-l, --listening:待ち受け中のサーバーソケットのみを表示します。-a, --all:接続済み・未接続を含むすべてのソケットを表示します。-F, --fib:転送情報ベース(FIB)を表示します。-C, --cache:転送情報ベースではなく、ルートキャッシュを表示します。-Z, --context:SELinux セキュリティコンテキストを表示し、ソケットの SELinux セキュリティ情報を示します。-v, --verbose:詳細出力を有効にし、実行中の操作に関する情報をより多く提供します。特に未設定のアドレスファミリーを扱う場合に有用な情報が得られます。-o, --timers:ネットワークタイマーに関する情報を含めます。-p, --program:各ソケットが属するプログラムの PID と名前を表示します。-l, --listening:待ち受け中のソケットのみを表示します。デフォルトではこれらは省略されます。-a, --all:待ち受け中と待ち受けていないソケットを表示します。--interfacesオプションと併用すると、有効になっていないインターフェースも表示します。-F:FIB からルート情報を表示します(デフォルト)。-C:ルートキャッシュからルート情報を表示します。
よく使うコマンド
詳細なネットワーク状況を表示
netstat -a #列出所有端口
netstat -at #列出所有tcp端口
netstat -au #列出所有udp端口
現在の UDP 接続状況を表示
netstat -nu
UDP ポート番号の使用状況を表示
netstat -apu
ネットワークアダプタの一覧を表示
netstat -i
マルチキャストグループの関係を表示
netstat -g
ネットワーク統計情報を表示
netstat -s 显示所有端口的统计信息
netstat -st 显示TCP端口的统计信息
netstat -su 显示UDP端口的统计信息
待ち受け中のソケットを表示
netstat -l #只显示监听端口
netstat -lt #只列出所有监听 tcp 端口
netstat -lu #只列出所有监听 udp 端口
netstat -lx #只列出所有监听 UNIX 端口
netstat の出力に PID とプロセス名を表示
netstat -pt
netstat -pは他のスイッチと組み合わせて使用でき、netstat の出力に「PID/プロセス名」を追加できます。
netstat の情報を継続して出力
netstat -c #每隔一秒输出网络信息
カーネルのルート情報を表示
netstat -r
netstat -rnを使うと、ホスト名を照会せずに数値形式で表示します。
プログラムが使用しているポートを調べる
すべてのプロセスが見つかるわけではなく、権限がないものは表示されません。root 権限ですべての情報を確認してください。
netstat -ap | grep ssh
指定したポートで動作しているプロセスを調べる
netstat -an | grep ':80'
ポートからプロセス ID を調べる
netstat -anp|grep 8081 | grep LISTEN|awk '{printf $7}'|cut -d/ -f1
ドキュメント