Netstat

net-tools
netstatのスクリーンショット
最新版
1.60 / 2001年4月15日 (23年前) (2001-04-15)
プログラミング
言語
C
ライセンス GPL
公式サイト net-tools.sourceforge.net
テンプレートを表示

netstatは、ネットワーク接続、ルーティングテーブル、各種ネットワークインタフェースの統計情報などを表示するコマンド行ツールUNIXUnix系Windows NTオペレーティングシステムで利用可能。"network statistics" の略。

ネットワークに関わる問題を探したり、トラフィック量を調べて性能を測定するといった用途に使う[1]

パラメータ

このコマンドのパラメータには、スラッシュ (/) ではなくハイフン (-) を前置する。

  • -a : 全てのアクティブなTCPコネクションと、そのマシンがlistenしているTCPポートおよびUDPポートを表示する。
  • -b : 各コネクションやlistenポートに対応したプログラム名を表示する(Windows XPと2003 Server以降のみ)。
  • -e : イーサネットの統計情報を表示する(受信した総バイト数やパケット数など)。-s と組み合わせて使うことができる。
  • -f : 外部のアドレスについて完全修飾ドメイン名 <FQDN> を表示する(Windowsでは使えない)。
  • -i : ネットワークインタフェースとそれらの統計情報を表示する(Windowsでは使えない)。
  • -n : アクティブなTCPコネクションを表示するが、アドレスやポート番号は数値的に表示され、名前への変換は行わない。
  • -o : アクティブなTCPコネクションと対応するプロセスID (PID) を表示する。Windowsタスクマネージャを併用するとPIDからどのアプリケーションかがわかる。-a, -n,および-pと共に指定できる。Windows XPと2003 Server以降で利用可能(Windows 2000ではホットフィックスがある[2])。
  • -p Windows: Protocol : Protocolで指定したプロトコルのコネクションを表示する。Protocolに指定できるのはtcp, udp, tcpv6, udpv6のいずれかである。-sと組み合わせてプロトコルの統計情報を表示する場合はtcp, udp, icmp, ip, tcpv6, udpv6, icmpv6, ipv6のいずれかを指定できる。
  • -p Linux: Process : ソケットごとのプロセスの対応を表示する(Windowsの-bに相当)。root権限が必要。
  • -P Solaris: Protocol : Protocolで指定したプロトコルのコネクションを表示する。Protocolにはip, ipv6, icmp, icmpv6, igmp, udp, tcp, rawipが指定できる。
  • -r : ルーティングテーブルの内容を表示する。Windowsでのroute printコマンドに相当。
  • -s : プロトコル毎の統計情報を表示する。デフォルトでは、TCPUDPICMPIPの統計情報を表示する。Windows XP以降でIPv6をインストールしている場合、TCP over IPv6、UDP over IPv6、ICMPv6、IPv6についての統計情報も表示する。-pを併用すると、指定したプロトコルの情報を表示できる。
  • -v : -bと組み合わせると、コネクション作成やlistenポートに関わるコンポーネントを羅列する。
  • Interval : 指定された情報をInternal秒ごとに表示する。CTRL+Cで表示が停止する。これを省略すると1回だけ表示する。
  • /? : ヘルプ情報を表示する(Windowsのみ)。

netstatで得られる情報

  • Proto(プロトコル) - プロトコル名(TCPまたはUDP
  • Local Address(ローカルアドレス) - ローカルコンピュータで使われているIPアドレスとポート番号。-nパラメータを指定しない場合、対応する名前が表示される。
  • Foreign Address(外部アドレス) - ソケットが接続されているリモートコンピュータのIPアドレスとポート番号。-nパラメータを指定しない場合、対応する名前が表示される。コネクションが確立していない場合、ポート番号はアスタリスク (*) で表示される。
  • State(状態) - TCPコネクションの状態を表示。とりうる状態はCLOSE_WAIT, CLOSED, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, LAST_ACK, LISTEN, SYN_RECEIVED, SYN_SEND, TIME_WAITである。TCPコネクションの状態について詳しくはRFC 793を参照。

TCPまたはUDPプロトコルの統計情報を表示する場合、次のようなコマンド行となる。

netstat -sp tcp

netstat -sp udp

アクティブなTCPコネクションと対応するプロセスIDを5秒間隔で表示する場合、次のようなコマンド行となる(Windows XP、2003、2000(ホットフィックス)以降のみ)。

netstat -o 5

macOSでは次の通り。

netstat -w 5

アクティブなTCPコネクションと対応するプロセスIDを数値として表示する場合、次のようなコマンド行になる(Windows XP、2003、2000(ホットフィックス)以降)。

netstat -no

特定のプロセスIDのプロセスがオープンした全ポートを表示する場合は、次の通り。

netstat -ao | find "pid"

注意

一部のバージョンでは、printf出力に明確なフィールド区切り文字が指定されていないため、フィールドが重なってしまい、データが読み取れなくなる場合がある。

プラットフォーム固有の注意点

Linuxでは、netstatでは上述のprintf問題で表示が壊れることがあるため、/proc/net/devからデータを得る場合がある。

Windowsでは、netstatはIP Helper APIまたはIPHLPAPI.DLLのGetTcpTableおよびGetUdpTableという関数を呼び出して情報を収集している。これらで得られる情報は、ローカルおよびリモートのIPアドレスとポート番号、TCP状態コードである。また、TCP/IPがインストールされていない場合は使えない。

Mac OS X v10.5では、 /Applications/UtilitiesフォルダにNetwork Utilityというユーティリティがあり、そのNetstatタブで同等の情報を表示できる。

関連項目

脚注

  1. ^ netstatコマンド IBM
  2. ^ Microsoft サポートオンライン

外部リンク

  • Net Statistics (NetStats) home page – フリーウェアのネットワーク監視ツール
  • Microsoft TechNet Netstat article
  • The netstat Command (Linux)
  • Security Now #49 - The NETSTAT Command – Security Now!のポッドキャスト
  • From linux-ip.net 表示内容に関する詳細な説明
  • netstat(8) man page (JM Project)
  • netstat(1M) man page (Solaris 10 Reference Manua)(英語)
  • netstat(1) man page(HP-UX リファレンス)
  • netstat コマンド Solaris のシステム管理(IP サービス)
Unixコマンド
ファイルとファイルシステム管理
プロセス管理
ユーザ管理/環境
テキスト処理
シェルビルトイン
通信
検索
  • find
  • grep
  • locate(英語版)
  • whatis(英語版)
  • whereis(英語版)
マニュアル
  • apropos(英語版)
  • help(英語版)
  • man
ソフトウェア開発
その他
  • bc
  • dc
  • cal
  • date
  • expr
  • false
  • lp(英語版)
  • lpr
  • od
  • sl
  • sleep
  • stty
  • true
  • tty
Windowsコマンドラインプログラムと組み込みコマンド
ファイルシステム
  • cd (chdir)
  • dir
  • popd(英語版)
  • pushd(英語版)
  • tree(英語版)
  • ファイル管理
    • attrib(英語版)
    • cacls
    • cipher
    • compact
    • copy(英語版)
    • del(英語版) (erase)
    • deltree(英語版)
    • expand
    • icacls
    • makecab
    • md (mkdir)
    • move(英語版)
    • rd (rmdir)
    • recover(英語版)
    • ren(英語版) (rename)
    • replace(英語版)
    • rmdir
    • robocopy(英語版)
    • xcopy(英語版)
    ディスク管理
    • CHKDSK
    • convert(英語版)
    • defrag
    • diskcomp(英語版)
    • diskcopy(英語版)
    • diskpart(英語版)
    • fdisk(英語版)
    • format(英語版)
    • label(英語版)
    • SUBST
    • scandisk
    • sys(英語版)
    • vol(英語版)
    • vssadmin(英語版)
    プロセス管理
    • exit(英語版)
    • kill
    • PowerCFG(英語版)
    • runas(英語版)
    • sc
    • shutdown
    • start(英語版)
    • taskkill
    • tasklist(英語版)
    レジストリ
    ユーザ環境
    • date
    • mode(英語版)
    • path(英語版)
    • set
    • setx
    • time(英語版)
    • title(英語版)
    • ver(英語版)
    • whoami
    テキスト処理
    • comp(英語版)
    • edit
    • edlin
    • fc
    • find
    • findstr(英語版)
    • print(英語版)
    • type(英語版)
    スクリプト
    ネットワーク
    メンテナンス
    • driverquery(英語版)
    • msiexec
    • ntbackup(英語版)
    • sfc
    • systeminfo(英語版)
    • w32tm(英語版)
    • WBAdmin(英語版)
    • winsat
    • wmic
    ブート管理
    ソフトウェア開発
    • debug(英語版)
    • exe2bin(英語版)
    • QBasic
    その他
    • CLS
    • help(英語版)