スポンサーリンク

【Wireshark】リモートキャプチャーが便利すぎるので今すぐ御社のラボに導入せよ!

ラボ環境を構築・検証されているネットワークエンジニアの皆様、今日もキャプチャーしているでしょうか? キャプチャーの定番のやり方といえば、リピーターハブを接続している区間に挟み込んでキャプチャーしたり、ネットワーク機器にミラーポート設定を投入してキャプチャーしたりって感じですよね。

ただ、機器の物理的な配置によってキャプチャーがしんどい場面が多々あると思います。自席からちょっと離れたラックにノートパソコン持って移動して、リピーターハブかまして……あ、みんなリピーターハブ使ってて空くのを待つしかない……などなど……面倒くさすぎる!!!

そんな手間を簡単に解消してくれるのが「リモートキャプチャー」です。リモートキャプチャーは、WinPcapの機能で、離れた場所にあるPCでキャプチャーしているデータを、自分のPCでリアルタイムにキャプチャーすることが出来ます。

しかも、今回ご紹介するやり方は導入コストも殆ど掛かりません。必要なのはWindowsのパソコンのみ。スペックの低い余ってたノートパソコンで十分です。

という訳で今回は超絶便利なWinPcapを使ったリモートキャプチャーのやり方を紹介していきます。

WinPcapによるリモートキャプチャー準備編

今回紹介するリモートキャプチャーをするにあたって準備するものは、下記PC2台だけです。

・リモートキャプチャーサーバー側PC(Windows10)
・リモートキャプチャークライアント側PC(Windows10)

PCの用意が出来たら、サーバー側PCにWinPcapをインストールします。WinPcapといえば、2. x系のWiresharkと一緒にインストールされていたのでネットワークエンジニアにはお馴染みだと思います。WinPcapは、下記の公式サイトからダウンロードしましょう。

WinPcap – Home
https://www.winpcap.org/

ちなみに最新のWiresharkがインストールされているPCの場合、NpcapのInstallオプションで「WinPcap API-compatible ModeWinPcap」がインストールされていると、インストールエラーになってしまいます。その場合は一度Wiresharkをアンインストールしてから「WinPcap API-compatible ModeWinPcap」 にチェックを入れずにインストールすると、エラーにならずにインストールできます。

クライアント側のPCは、普通に最新のWiresharkがインストールされていれば問題なしです。

リモートキャプチャー物理接続構成

リモートキャプチャーを確認するための物理接続構成は、イメージしやすいように以下のような構成図を用意しました。

ネットワークエンジニアであれば、この図だけでイメージ伝わるりますかね?

サーバー側で rpcapd.exe の起動

コマンドプロンプトで以下のコマンドを実行します。

"C:\Program Files (x86)\WinPcap\rpcapd.exe" -n -p "2002"

すると、以下のようなコマンドプロンプトの表示になると思うので、これでリモートキャプチャーの準備は完了です。

クライアント側でのリモートキャプチャー実行

それではいよいよリモートキャプチャーの実行です。
Wiresharkを起動し、「キャプチャ」→「オプション」を選択します。

次は右下の「インターフェース管理」を選択します。

次は「リモートインターフェース」タブを選択してください。

次は、左下の+ボタンをクリック。

以下の画面が表示されるので、キャプチャー元のIPをホストに入力。使用しているポート番号を入力し、認証は「ヌル認証」を選択し、OKボタンをおしてください。

すると、キャプチャー元のインターフェースの情報が表示されますので、OKボタンを押してください。

キャプチャオプションの画面に戻ったら、リモートキャプチャのインターフェースが表示されているので、選択し、右下の開始ボタンを押せば

これでRemote Captureが出来ました!

簡単にRemote Captureを実行したい場合

クライアント側のPCで、コマンドプロンプトで以下のコマンドを実行すると、リモートキャプチャーが実行できます。

"C:\Program Files\Wireshark\Wireshark.exe" -i "rpcap://192.168.3.26:2002/\Device\NPF_{xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"

また、下記のコマンドをテキストファイルに張り付け、batファイル化すると、batファイルを実行するだけでリモートキャプチャーが可能になります。

START "" "C:\Program Files\Wireshark\Wireshark.exe" -i "rpcap://192.168.3.26:2002/\Device\NPF_{xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" -k

Interface Device IDの調べ方

リモートキャプチャーをする手順の中に出てきたインターフェースの管理画面に、そのPCのインターフェースとDevice IDが表示されているので、これで判断できます。

最後に

このリモートキャプチャー、存在は知ってたのですが、詳しく書いてる記事が全然なくて、結構長い期間調べていた気がしますが、やっと実現できました。リモートキャプチャーのワードで検索すると、sshでtcpdumpする記事がいっぱい出てくるのですが、これが自分で作った環境だとなかなか実現出来ず、苦労しました。

参考にさせていただいた、以下の記事に感謝です。

RPCAPによるリモートパケットモニター (1/2):CodeZine(コードジン)
https://codezine.jp/article/detail/219

Rmote Packet Capture Protocol を使って見る
https://www.slideshare.net/hebikuzure/rmote-packet-capture-protocol

リンク先の記事には、私の記事で解説してないことも結構あるので、そちらもご覧ください。

リモートキャプチャー機能を使えば、ネットワークの色んな個所を自在にキャプチャ出来るようになると思うので、トラブルの切り分けにも非常に役立つと思います。

Wiresharkによるパケットキャプチャーは、ワンランク上のネットワークエンジニアを目指すのであれば必須だと思うので、色々参考にして勉強してみてください。

タイトルとURLをコピーしました