NETSTAT(8)

名前
netstat - ネットワーク接続、経路テーブル、インターフェースの状態、マスカレード接続、 netlink メッセージを表示する

書式
netstat [-venaoc] [--tcp|-t] [--udp|-u] [--raw|-w] [--unix|-u] [--inet|--ip] [--ax25] [--ipx] [--netrom]
netstat [-veenc] [--inet] [--ipx] [--netrom] [--ddp] [--ax25] {--route|-r}
netstat [-veenac] {--interfaces|-i} [iface]
netstat [-enc] {--masquerade|-M}
netstat [-cn] {--netlink|-N}
netstat {-V|--version} {-h|--help}

説明
netstat は Linux のネットワークシステムに関する情報を表示する。

  オプションがなかった場合
オープンされているソケットがリストされ、ネットワークの接続状況を一覧す ることができる。アドレスファミリーを指定しなけ れば、設定されている全てのアドレスファミリーに関して、アクティブなソケッ トが表示される。 -e オプションを用いるとユーザー ID の情報が追加される。 -v オプションを用いると、カーネルでサポートされていないアドレスファミリー が存在した場合に netstat は警告を発する。 -o オプションを用いるとネットワーキングタイマに関する情報が追加される。 -a は listen 状態にあるサーバーソケットも含め、全てのソケッ トを表示する。アドレスファミリー inet は raw、 udp、 tcp ソケットを表示する。

  -r, --route
-r、 --route オプションを指定すると、カーネルの経路テーブルを route -e と同じフォーマットで表示する。 netstat -er とすると route と同じフォーマットになる。詳細は route(8) を見よ。

  -i, --interface iface
-i、 --interface オプションを指定すると、全ての (あるいは ifaceで指定した) ネットワークインターフェースの状態テーブルを ifconfig -e と同じフォーマットで表示する。詳細は ifconfig(8) を見よ。 netstat -ei とすると、インターフェースのテーブル (エントリは一つだけかもしれないが) を ifconfig と同じように表示する。 -a スイッチを同時に指定すると、設定されていない (つまり U=UP フラグにセットされていない) インターフェースも表示される。

  -M, --masquerade
IP マスカレードされたセッションも表示される。 -e スイッチを同時に指定すると、シーケンス番号や番号ずれ (delta) に関する情報 が追加される (これらは FTP セッションでの PORT コマンドによるデータ書 き換えによって生じる)。マスカレードは、公開されていないネットワークア ドレスを持ったホストを外部から隠すために用いられる。詳細は ipfw(4)、ipfwadm(8)、ipfw(8) などを見よ。

  -N, --netlink
最近のカーネルでは netlink と呼ばれるカーネル−ユーザー間の通信ができ るようになっている。 /dev/route (36, 0) からインターフェースや経路の生成・削除に関するメッセージを受け取ること ができる。

オプション

  -v, --verbose
饒舌モードになり、起こっていることをユーザーに知らせる。特に、設定されて いないアドレスファミリーに関する有用な情報をいくつか表示する。

  -n, --numeric
ホストやポート、ユーザーなどの名前を解決せずに、数字のアドレスで表示す る。

  -A, --af family
アドレスファミリーを別法でセットする。 famiry はコンマ (',') で区切られたリストで、アドレスファミリーのキーワードを 指定する。キーワードとしては以下のようなものが指定できる: inet、 unix、 ipx、 ax25、 netrom、 ddp。 これらはそれぞれ以下の長いオプションを指定するのと等価である。 --inet、 --unix、 --ipx、 --ax25、 --netrom、 --ddp。

  -c, --continous
指定されたテーブルを一秒ごとにスクリーンに表示し続ける。終了させるには 割り込み (interrupt) をかける必要がある。

出力

  アクティブなインターネット接続 (TCP, UDP, RAW)

  Proto
ソケットで用いられているプロトコル (tcp, udp, raw のいずれか)。

  Recv-Q
このソケットに接続されたユーザープログラムに渡されなかったデータのバイ ト数。

  Send-Q
リモートホストに受け入れられなかったデータのバイト数。

  Local Address
ソケットのローカルアドレス (ローカルのホスト名) およびポート番号。 -n スイッチが指定されていない場合は、ソケットアドレスは標準のホスト名にな り、ポート番号は対応するサービス名に変換される。

  Foreign Address
ソケットのリモートアドレス (リモートのホスト名) とポート番号。ローカル のアドレス、ポートと同じく、 -n スイッチを指定するとホスト名とサービス名の解決はされない。

  State
ソケットの状態 (state)。 RAW には状態がなく、また UDP も通常状態を使用 しないため、これらでは空白になっている。普通は以下の値のどれか:

ESTABLISHED
    ソケットは確立した接続状態にある。

SYN_SENT
    ソケットは接続を確立しようと試みている。

SYN_RECV
    接続は初期化中である。

FIN_WAIT1
    ソケットはクローズされており、接続は切断中である。

FIN_WAIT2
    接続はクローズされ、ソケットはリモート側からの切断を待っている。

TIME_WAIT
    ソケットは、クローズ後にリモートからの切断が再送されるのを待っている。

CLOSED
    ソケットは使用されていない。

CLOSE_WAIT
    リモート側が切断され、ソケットがクローズされるのを待っている。

LAST_ACK
    リモート側が切断され、ソケットもクローズされている。確認 (ack) を待っている。

LISTEN
    ソケットは接続待ち (listen) である。これらのソケットは -a、 --listening スイッチをセットした場合に限り表示される。

CLOSING
    両方のソケットが切断されているが、まだ全てのデータが送られていない。

UNKNOWN
    ソケットの状態は不明である。

  User
ソケットのオーナーの、名前または UID。

  Timer
(まだ書いていない)

  アクティブな UNIX ドメインソケット

  Proto
ソケットで用いられているプロトコル (通常は unix)。

  RefCnt
参照カウント (このソケットに接続されているプロセス数)。

  Flags
表示されるフラグは SO_ACCEPTON (ACC と表示される)、 SO_WAITDATA (W)、 SO_NOSPACE (N) である。 SO_ACCEPTON は、ソケットが接 続されておらず、かつそれを用いているプログラムが接続要求を待っている場 合に用いられる。他のフラグは通常は重要ではない。

  Type
ソケットアクセスのタイプ。何種類かある:

SOCK_DGRAM
    データグラム (connectionless) モードのソケットである。

SOCK_STREAM
    ストリーム (connection) ソケットである。

SOCK_RAW
    raw ソケットである。

SOCK_RDM
    信頼性の高いメッセージを届けるソケットである。

SOCK_SEQPACKET
    シーケンシャルパケットのソケットである。

SOCK_PACKET
    RAW インターフェースアクセスのソケットである。

UNKNOWN
    将来なにが起こるか誰が知ろうか - ここに書いて下さい :-)

  State
このフィールドには、以下のキーワードのいずれかが入る:

FREE
    ソケットは割り当てられていない。

LISTENING
    ソケットは接続要求の待ち状態である。これらのソケットは -a、 --listening スイッチがセットされた場合のみ表示される。

CONNECTING
    ソケットは接続中である。

CONNECTED
    ソケットは接続されている。

DISCONNECTING
    ソケットは切断中である。

(空白)
    ソケットは他のソケットに接続されていない。

UNKNOWN
    このステートは現われないはずである。

  Path
ソケットに結び付けられているプロセスのパス名を表示する。

  アクティブな IPX ソケット
(知識を持っている人が記述してほしい)

  アクティブな NET/ROM ソケット
(知識を持っている人が記述してほしい)

  アクティブな AX.25 ソケット
(知識を持っている人が記述してほしい)

ファイル
/etc/services -- サービス名と番号の変換表が入ったファイル
/proc/net/dev -- デバイスの情報
/proc/net/raw -- RAW ソケットの情報
/proc/net/tcp -- TCP ソケットの情報
/proc/net/udp -- UDP ソケットの情報
/proc/net/unix -- Unix ドメインソケットの情報
/proc/net/ipx -- IPX ソケットの情報
/proc/net/ax25 -- AX25 ソケットの情報
/proc/net/appletalk -- DDP (appletalk) ソケットの情報
/proc/net/nr -- NET/ROM ソケットの情報
/proc/net/route -- カーネルの IP 経路情報
/proc/net/ax25_route -- カーネルの AX25 経路情報
/proc/net/ipx_route -- カーネルの IPX 経路情報
/proc/net/nr_nodes -- カーネルの NET/ROM ノードリスト
/proc/net/nr_neigh -- カーネルの NET/ROM ネイバー (neighbour)
/proc/net/ip_masquerade カーネルのマスカレード接続

関連項目
route(8), ifconfig(8), ipfw(4), ipfw(8), ipfwadm(8)

バグ
ソケットが表示中に変更されると、たまに妙な情報が表示されることがある。 あまり起こらないことではあるが。
netstat -i オプションは、まだ完全には動作しない。このマニュアルの記述のようにちゃん と動くのは、 net-tools パッケージのコードがベータリリースから整理され て以降のことになるだろう。

著者
netstat のユーザーインターフェースは Fred Baumgarten <dc6iq@insu1.etec.uni-karlsruhe.de> が書いた。マニュアルページは主に Matt Welsh <mdw@tc.cornell.edu> が書き Alan Cox <Alan.Cox@linux.org> が更新した。が、作業はあまり多くなかった。
net-tools パッケージに入っているマニュアルページとコマンドは、 Bernd Eckenfels <ecki@linux.de> が全体的に書き直した。