Netstatコマンドとは。その概要やオプション、使える場面は?

netstatは、ネットワーク関連でよく出てくるコマンドの一つです。

さまざまな機器やデバイスがネットワークに接続されている現代では、ネットワーク接続が正常かどうか、正しく情報がやりとりされているか、どのくらいの情報が流れているのかなどネットワーク状態を確認することはとても大切です。

netstatは、こうしたときに使われているコマンドの一つで、ネットワークエンジニアが覚えるべき基本の一つでもあります。

今回は、netstatコマンドの概要やその他のコマンドとの使い分け、実際の使い方などを解説していきます。

netstatコマンドは、WindowsでもUnix系OSでも利用可能ですが、この記事ではWindowsでの利用を前提とします。

Windows VPSならWinserver!
★丁寧な電話サポートで安心★
\2週間無料トライアル実施中/
2週間無料で試す

 

netstatは、どのようなコマンド?

netstatは、ネットワーク関連の調査や確認でよく使われるコマンドの一つです。

netstatコマンドは実際にどのようなものなのでしょうか。

ネットワークで重要なことの一つに「接続状態を把握する」ということがあります。

接続されているべき機器が正常に接続され、通信が行われているかどうか、どのくらいの情報が流されているのかといったことを確認するということがそれです。

こうした役割を果たしているのがnetstatコマンドです。

そうした意味では、ネットワークを扱う場合の基本的なコマンドの一つであると言えます。

netstatで得られる情報はどのようなもの?

ネットワーク関連の調査などで、netstatを実行することは多いと思いますが、このコマンドを実行することで得られる情報にはどのようなものがあるのでしょうか。

以下で、得られる情報を表にして整理しました。

項目内容
現在のソケットの状況ネットワーク接続やソケットの状況を表示
ルーティング情報ルーティングの設定や状況などの情報を表示
各種プロトコルの状況プロトコルごとの通信やエラーなど統計情報の表示

なお、ソケットとはIPアドレスとポート番号を組み合わせて指定したものです。

netstatを含むネットワークエンジニアが使うさまざまなコマンド

ネットワークのさまざまな設定や接続状況、流れる情報の確認など、ネットワークエンジニアはnetstat以外にもさまざまなコマンドを使います。

以下では、ネットワークエンジニアが使うさまざまなコマンドを見ていきましょう。

コマンド役割使い方
netstatネットワークの接続状況や状態の確認netstatもしくはnetstat オプション
ipconfigネットワーク設定(IPアドレスなど)の確認ipconfig /all
nslookupIPアドレスとホスト名の変換
DNSサーバーとの通信確認
nslookup サーバー名など
nbtstatIPアドレスとホスト名の変換nbtstat -a ホスト名
hostnameホスト名の確認hostname
pingネットワークの疎通確認ping 相手先
tracertネットワークの経路確認tracert 相手先
arpIPアドレスとMACアドレスの「一覧を表示(過去に通信したもの)arp -a

これら以外にもネットワーク関連のコマンドはいろいろありますが、それぞれできることが違うので、目的に合わせて使い分けることが大切です。

netstatの使い方

ここまでnetstatについて解説してきましたが、実際にどのように使うのでしょうか。

以下では、netstatコマンドの使い方について見ていきましょう。

netstatの基本的な使い方

基本的にnetstatコマンドは、コマンドラインで使用します。

Windowsではコマンドプロンプトから、以下のように実行します。

netstat

これを実行すると、以下のように表示されます。

ここで表示されている各項目については、以下のようになっています。

項目内容備考
Proto使われているネットワークプロトコル後述のオプションを付けない場合、常にTCP
Local Addressローカル側のアドレスとポート番号「:(コロン)」の左側:コンピュータ名/IPアドレス
右側:ポート番号
Foreign Address相手側アドレスとポート番号
state接続の現在のステータス 
*下記に記載

なお、接続の状態(state)に関しては、以下のようになっています。

  • CLOSED
    :未使用のTCPポート。netstatコマンドを実行してもこれは表示されない。
  • ESTABLISHED
    :TCPコネクションが確立して通信している状態。netstatコマンドで最もよく見る
  • LISTENING
    :待ち受け状態。「-a」オプションを付けると表示される。
  • SYN_SENT
    :通信開始の要求(SYN:Synchronize)を送信したが、それに対する応答(ACK:Acknowledgement)を受け取っていない状態。ACKを受け取るとESTABLISHEDになる。
  • SYN_RECEIVED
    :クライアントからSYNを受け取った状態。受け取ったSYNに対してACKを送信するとESTABLISHEDになる。
  • FIN_WAIT_1
    :自分側から先にFIN(転送終了のパケット)を送信した状態。そのFINに対するACKを受信するとFIN_WAIT_2になるが、先に相手からのFINを受け取るとCLOSINGになる。
  • FIN_WAIT_2
    :自分側から送信したFINに対するACKを受け取った状態。相手からのFINを受け取り、それに対してACKを返すとTIME_WAITになる。
  • TIME_WAIT
    :コネクションの終了待ち状態。しばらくしてからCLOSEDになる。(netstatの表示から消える。)
  • CLOSE_WAIT
    :相手からのFINを受け取った状態。FINを送信してからLAST_ACKになる。
  • LAST_ACK
    :送信したFINに対するACK待ち状態。ACKを受け取ったらCLOSEDになる。(netstatの表示から消える。)
  • CLOSING
    :FINに対するACKを受け取るとTIME_WAITになる。

 

このように、さまざまな項目にわたる情報を知ることができるだけでなく、接続状態も詳細に把握することができます。

netstatオプションを使いこなそう

netstatコマンドには、先ほど解説した使い方以外にも、さまざまなオプションがあります。

コマンドの形式としては、netstatは以下のようになっています。

netstat オプション

それを踏まえて例えば、以下のようなものがそれです。

オプションできること備考
-aすべての接続を表示接続待ちを含めた全ポートが表示される
-bサービス名/実行ファイル名を表示
-f外部アドレスをFQDNで表示
-n外部アドレスをIPアドレスで表示
プロトコルではなくポート番号で表示
-eインターフェースの統計情報を表示
-rルーティングテーブル(ルーティングキャッシュ)を表示
-s各プロトコルの統計情報を表示
-oプロセスIDを表示
-pプロトコルを指定して表示-ap tcpのように、他オプションと組み合わせて使う

これらは、目的に合わせてうまく使うことで、自分の知りたい得たい情報を得ることができるようになっています。

netstatの使い方〜応用編

標準的なnetstatの使い方と比べて、オプションを使うと目的に合わせてさまざまな得たい情報を得ることができるようになります。

ここでは、netstatコマンドで具体的に特定のオプションを使う例を見ていきましょう。

<使い方1:ルーティングテーブルの確認>

設計し、設定した通りのネットワーク経路で疎通が取れないとルーティングテーブルを確認します。

それは、以下のように行います。

netstat -r

これを実行すると以下のように、宛先ネットワークやゲートウェイ、インターフェースの情報を確認することができ、正しく設定されているかどうか確認できます。

IPv4 Route Table
==================================================================
Active Routes:
Network Destination        Netmask              Gateway            Interface     Metric
0.0.0.0                       0.0.0.0           111.222.333.1    111.222.333.2    281
127.0.0.0                   255.0.0.0               On-link            127.0.0.1          331
127.0.0.1             255.255.255.255         On-link           127.0.0.1          331
127.255.255.255      255.255.255.255          On-link           127.0.0.1            331
==================================================================
Persistent Routes:
Network Address          Netmask   Gateway Address   Metric
0.0.0.0             0.0.0.0      111.222.333.1   Default
==================================================================

 

<使い方2:ポートを使用しているアプリケーションを特定する>

複数のオプションを組み合わせることにより、目的のポート番号を使用しているアプリケーションを1行のコマンドで特定することができます。

netstat -anob

bオプションを使うには、コマンドプロンプトを管理者権限で実行する必要があるので、その点のみ注意が必要です。

Active Connections
Proto  Local Address          Foreign Address        State           PID
TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4
Can not obtain ownership information
TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       996
RpcSs
[svchost.exe]
TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
Can not obtain ownership information
TCP    0.0.0.0:3389           0.0.0.0:0              LISTENING       764
TermService
[svchost.exe]

netstatを使うときの注意

netstatは、ネットワーク接続やルーティングテーブルの状態など、ネットワーク関連の情報を確認する際にとても便利なコマンドです。

しかし、netstatを使うときには、いくつか注意すべきことがあります。

netstatを使う際には、以下の点に注意しておきましょう。

  • 実行に管理者権限が必要なオプションもある(-bなど)
  • OSによって使えるオプションが異なる

特にOSに依存したオプションはいろいろとあるので、実行時には自分が使おうとしているOSで使えるかどうか把握しておくことが大切です。

サーバー リプレース

まとめ

netstatは、ネットワークエンジニアやシステムエンジニアなど、インフラ関連に触れる情報処理技術者にとって基本とも言えるネットワークコマンドの一つです。

今回解説したように、netstatコマンド自体には、基本的な使い方以外にさまざまなオプションを駆使して、得たい情報を得ることでネットワークシステムの運用や障害対応などに幅広く使えるものとなっています。このコマンドは、非常に多くの場面で使えるものなのでぜひ理解して使いこなせるようにしておきましょう。

Winserver紹介資料

Winserver紹介資料

Windows Server専門のホスティングサービス「Winserver(ウィンサーバー)」の基本資料です。
各サービスの概要、特徴をまとめています。

Winserver紹介資料

Winserver紹介資料

Windows Server専門のホスティングサービス「Winserver(ウィンサーバー)」の基本資料です。
各サービスの概要、特徴をまとめています。

資料をダウンロードする

"VPS for 会計ソフト"

・コスパ◎ 会計ソフトが特別価格!
・テレワーク◎ 自宅から共同作業できる!

▶ プランを見る

関連記事

特集記事

TOP