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 引数 :ルーティングテーブルを表示