Windows Sysinternals を知る
IT管理者・開発者に必須のツール!?
と言われてどんなツールを思い浮かべるでしょうか?世の中、シェアウェア・フリーウェア含めると膨大なツールが存在しておりますが、Windows というカテゴリに目を向けると「Sysinternals」と呼ばれるツール(正しくはツール集)があります。
Windows トラブルシューティング ツール集 | Microsoft Docs
作者は Mark Russinovich とありますが、このお方は Windows 界隈では超がつく程の有名人、というよりは現在 Microsoft Azure の CTO を務めていらっしゃります。Windows の専門家として知られていた歴史があった上で自身が1996年に創業した会社が後に2006年マイクロソフトに買収され、自身もマイクロソフトに入社したという経緯です。ちなみに、下記の本の著者でもあります。(ガチ本なので内容は難しいです。。)
ちなみにですが、Sysinternal 向けの本もあります。(中身見たことないですがきっとこれもガチ、インサイド読み途中なのでいずれ読もう。。)
Sysinternal のツール群に触れてみる
前述のリンク先にある「人気のダウンロード」より。
Process Explorer
近しいところでいうとタスクマネージャーになりますが、その高機能版といったイメージです。画面イメージを見て頂いても分かる通り、プロセスの親子関係を把握できる上にかなり詳細です。ちなみに、個別のプロセスをダブルクリックすると詳細が閲覧できます、これを眺めているだけでも面白いです。笑
例は OneDrive.exe、「TCP/IP」タブを選択すると TCP/IP のエンドポイント情報なんかも確認可能です。ちなみに、V16.0 からの機能とのことですが、「VirusTotal」(無料のマルウェアオンラインスキャンサービス)によるプロセスのマルウェア判断結果を確認することも可能です。
今後は「タスクマネージャーではなく Process Explorer で行くんやで!」と決めた場合には画面上部の「Options」から「Replace Task Manager」を選択すればデフォルトを変えられます。
Process Monitor
こちらは前述のリンク先ではダウンロードできなかった為、下記リンク先からダウンロードしてみて下さい。
Process Monitor - Windows Sysinternals | Microsoft Docs
Process Explorer とは違い、Process Monitor はプロセスが行った処理にフォーカスしその処理がどのような分類にあたるかロギングしてくれます。ロギングの量は膨大なので赤枠で囲ったアイコンをメインに絞った方が適切な利用になりそうです。
・レジストリ アクセスを記録
・ファイル アクセスを記録
・ネットワーク アクセスを記録
・プロセスとスレッドの処理を記録
の順となります。
TCPView
こちらも前述のリンク先ではダウンロードできなかった為、下記リンク先からダウンロードしてみて下さい。
TCPView for Windows - Windows Sysinternals | Microsoft Docs
近しいところでは netstat コマンドになりますが、netstat とは違いプロセス基準でどこにどんなアクセスをしているかを可視化することが可能です。仮に怪しそうな Remote Address に謎の通信をしていそうな場合は Kill Process することも可能です。更に詳細なパケット、となると Wireshark(これは Sysinternals ではない)あたりになるのでしょうか。
これもまた定番のソフトウェアです。
と、3点程挙げてみましたが、これをただただいじっているだけでも色々と発見がありそうです。年末年始は(以下略