Guides, HowTos and Tips for Technology Geeks - The Geek Stuff

UNIX / Linux: 10 Netstat Command Examples - The Geek Stuffにおいてnetstat(1)コマンドの10の実行サンプルが紹介されている。netstat(1)はルーティング情報やネットワークの接続状況など、ネットワークに関連した情報を出力するためのコマンド。FreeBSDやLinuxなどUnix系OSでネットワークの状況を調査する場合によく利用するコマンドのひとつ。以降に、UNIX / Linux: 10 Netstat Command Examplesで紹介されている内容をFreeBSD 9とUbuntu 9.10向けに調整したものを掲載しておく。Unix系OSでもOSごとに利用するコマンドやオプションが異なる。

1. すべてのアクティブソケットを表示する

FreeBSD 9 Ubuntu 9.10
アクティブソケットの表示 netstat -a netstat -a
出力をTCPに限定 netstat -a -p tcp netstat -at
出力をUDPに限定 netstat -a -p udp netstat -au

2. 待ち受け状態になっているソケットを表示する

FreeBSD 9 Ubuntu 9.10
待ち状態ソケットの表示 sockstat -l netstat -l
出力をTCPに限定 sockstat -l -P tcp netstat -lt
出力をUDPに限定 sockstat -l -P udp netstat -lu
出力をUNIXドメインソケットに限定 sockstat -l -u netstat -lx

3. プロトコルごとに統計情報を表示する

FreeBSD 9 Ubuntu 9.10
統計情報の表示 netstat -s netstat -s
出力をTCPに限定 netstat -s -p tcp netstat -st
出力をUDPに限定 netstat -s -p udp netstat -su

4. ソケットを使っているプロセス名も表示する

FreeBSD 9 Ubuntu 9.10
プロセス名も表示 sockstat netstat -p

5. ホスト名やポート番号を名前に展開しない

FreeBSD 9 Ubuntu 9.10
数値で表示 netstat -an netstat -an

6. 繰り返し出力する

FreeBSD 9 Ubuntu 9.10
繰り返し出力 topless netstat netstat -c

コマンドの出力をtop(1)のように加工するtopless(1)コマンドはシステムデフォルトのコマンドではないため、sysutils/toplessなどからインストールする。Ubuntuのnetstat -cと同じように出力させるなら、シェルの機能を使って1秒ごとに繰り返しコマンドを実行するようにすればいい。

7. システムがサポートしているアドレスファミリーを表示する

FreeBSD 9 Ubuntu 9.10
アドレスファミリィ sysctl -a net netstat --verbose

8. ルーティング情報を表示する

FreeBSD 9 Ubuntu 9.10
ルーティング情報の表示 netstat -r netstat -r

9. どのプログラムがどのポートを使っているか特定する

FreeBSD 9 Ubuntu 9.10
出力をプログラム名で限定 sockstat | grep NAME netstat -ap | grep NAME
出力をポート番号で限定 sockstat | grep :PORT netstat -an | grep :PORT

10. ネットワークインタフェースカードの一覧を表示する

FreeBSD 9 Ubuntu 9.10
ネットワークインタフェース一覧の表示 netstat -i netstat -i
詳細情報を表示 ifconfig netstat -ie

netstat(1)やsockstat(1)の機能はここに紹介した以外にも多くの機能がある。それぞれオンラインマニュアルに詳細な説明がまとまっている。FreeBSDの場合、ネットワーク接続はnetstat(1)やsockstat(1)以外にもfstat(1)経由でも閲覧可能。