【遠隔ホストのパケットをキャプチャする】WIRESHARK達人への道 第二十歩 リモートホストのキャプチャを実現

2021年6月5日、題名を変更したよ。

本連載は、筆者がWiresharkの達人となるまでを追うドキュメンタリー作品である。

やりたいことは表題の通りですが、いくつか嵌るポイントがありますので、きっと役に立つ記事になるかと思います。

Googleで表題のネタを検索する限り、WinPCAPをインストールして、services.mscから「Remote Packet Capture Protocol v.0 (experimental)」を開始して・・・といった記事がごろごろ出てくると思います。

しかし、このRemote Packet Capture Protocolは現行のWinPCAPには含まれておりません。嵌りポイント1点目

それでは、この2020年9月時点でどうやってリモートホストのNICをキャプチャするか?ですが、sshdumpなるものを利用します。

そして、嵌りポイント2点目なのですが、このsshdumpはデフォルトインストールでは含まれません。

よって、別途最新のWiresharkのインストーラーを起動しToolツリー内にあるsshdumpにチェックを入れて再度インストールする必要があります。

図1のように、「sshdump and ciscodump」の箇所にチェックを入れてインストールしてください。

図1 sshdump and ciscodumpにチェックを入れて再インストール

Wiresharkを起動して、認識するインターフェイスの一覧画面をスクロールしていくと、「SSH remote capture」が表示されます。

左の設定アイコンをクリックしてください。

図2 SSH remote capture

新しくウィンドウが表示されます。

ServerタブでLinuxホストのIPアドレスとSSHサーバーのリッスンポートを指定してください。

図3 サーバー設定

次にAuthenticationタブを押し、ユーザー名とパスワードを入力してください。

図4 認証設定

最後にCaptureタブを押し、Linuxの監視対象インターフェイス名とsudoを使っているLinuxホストの場合(現在ではほぼ利用していると思います)、「Use sudo on the remote machine」にチェックを入れ、「開始」ボタンを押してください。

これでWiresharkが立ち上がり、指定したLinuxホストのNICのキャプチャができた!!と思ったのですが、画面に何も表示されません。。。

キャプチャ0です。試しにLinuxホストにログインし、tcpdumpコマンドが実行されているかを確認しましたが以下のように動作していることを確認しました。


# ps -efwwwwww | grep tcpdump
root     24653 24652  0 22:29 ?        00:00:00 sudo tcpdump -U -i br0 -w -
root     24655 21941  0 22:29 pts/0    00:00:00 grep --color=auto tcpdump

つまり、SSHログインもできコマンドも実行されているのにもかかわらずWindows側で実行しているWiresharkのパケットウィンドウには何も表示されないのです。

これをデバックするために、plink.exeというputtyのインストールディレクトリに含まれているコマンドを利用しました。

>plink.exe -ssh demo@192.168.1.254 -pw password "sudo tcpdump -i br0 -w - not port 22"

こちらを実行すると、なんと再度sudo用途のパスワードが聞かれるではありませんか。

つまり、Wiresharkは2回目のパスワード要求箇所で停止していたんだということが分かりました。嵌りポイント3点目

Linuxホスト側で、visudoを実行し以下の1行を追加します。

ユーザー名 ALL=NOPASSWD: ALL
図5 visudo

こちらで再度plink.exeを実行したところ、パケットキャプチャが正常に行われていることが確認できました。

Wiresharkを再起動し、図2から同手順をたどると無事Wiresharkの画面にLinuxホストの特定NICのパケットが表示されました。

図6 Wireshark実行画面

いや~何気に苦労してしまいました。

例ではWindows,Linux間ですが、逆でもWindows同士でもLinux同士でもロジックは一緒ですので是非活用してみてください。

(Visited 5,893 times, 1 visits today)
The following two tabs change content below.
【好きなもの】 インフラ技術が好き。古いものが好き。 【生きてきたフィールド】 システム運用、ソフトウェア開発、ミドルウェア検証、OSSサポート、プリセールスエンジニア、プロジェクトマネジメント 【このサイトでの役割】 サイト管理者。