netstat をちゃんと使えるようになろうの回

netstat について、WindosOSでセッションが確認できる。。ぐらいの理解で止まっていたので、改めて学習しなおして、ちゃんと使えるようになろう!ということで、学習した内容を以下にまとめてく。
こういうやつって後回しにしがちなんですけど、後々使い方わからず困る事が明白なんですよね。。。

 

まず netstat とは

WindosOS標準のコマンド
実行ファイル名は、netstat.exe
ActiveなTCPコネクションの状態を表示できる


TCPの定義を振り返っておくと

2つのアプリケーション間で、信頼性のある通信路(コネクション)を開設し、お互いにデータ等をやり取りするための機能

 

netstatコマンドの引数について

 

netstat のみ(引数無し)
 TCPコネクションのみ表示、LISTENINGは表示無し

 

・-a 引数を付けた場合
UDPも表示。(※UDPにはコネクションの概念はない)
LISTENING(待受け状態のTCPポート)も表示

・-n 引数を付けた場合
IPアドレスTCP/UDPポート番号が全て数値で表示。
-n 無しだと文字列で表示されてしまう。
※通常は -n付で、素早く表示させる。必要に応じて -n無しを利用する。-n無しだと名前解決処理(逆引き)をするので時間が掛かるが、通信相手が分かりやすい。

 

・-f 引数を付けた場合
リモートのコンピュータ名をFQDNで表示。
例えば、「a1234.sys.example.jp」というFQDN名を持つコンピュータと通信している場合、-fオプションがないと単にa1234としか表示されないが、-fを付けると完全なDNS名で表示される。表示が長くなって見づらくなるが、どのコンピュータと通信しているかが分かりやすくなる。

 

・-o 引数を付けた場合
そのコネクションを保有してるプロセスIDを表示。タスクマネージャからプロセス名の調査が可能。

-b 引数を付けると、実際のプロセス名が表示。
用途不明のTCP通信が行われたり、リッスン状態になってたりした場合に特定が可能。必要に応じて、FWでそのポートをブロックしたり、プログラム、サービスそのものを停止させ、セキュリティを確保する。

 

・数値を引数として付けた場合
その時間間隔(単位は秒)でnetstatを繰返し実行。定常的にモニターが可能。

 

LISTENING(待受け状態)の表示について

外部アドレスの

IPv4では、0.0.0.0 : 0

IPv6では、[ :: ] : 0
(※ [::] は、IPv6で全て0を表すアドレス表記)

 

ローカルアドレス

IPv4では、0.0.0.0 : 135等

IPv6では、[ :: ] : 135等

 

UDPの場合、
状態表示は無し(TCPの場合は、LISTENING)

外部アドレスは、* : *

 

その他のマニアックなnetstatの使い方

使うことがあるかもなので、念のため下記しておく

 

・-s 引数 : 各種プロトコル別の統計情報

・-e 引数 :インターフェース送受信カウンタの表示

・-p 引数 :プロトコルを絞って表示可能。例えば、「-p ip」とか

      「-p icmp」「-p tcp」「-p udp」などとする。

・-r 引数 :ルーティングテーブルを表示