![](https://mieruka.link/wp-content/uploads/2020/09/zaitaku_telework_man.png)
【遠隔ホストのパケットをキャプチャする】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」の箇所にチェックを入れてインストールしてください。
![](https://www.mieruka.link/wp-content/uploads/2020/09/remote1.png)
Wiresharkを起動して、認識するインターフェイスの一覧画面をスクロールしていくと、「SSH remote capture」が表示されます。
左の設定アイコンをクリックしてください。
![](https://www.mieruka.link/wp-content/uploads/2020/09/remote1-2-1024x651.png)
新しくウィンドウが表示されます。
ServerタブでLinuxホストのIPアドレスとSSHサーバーのリッスンポートを指定してください。
![](https://www.mieruka.link/wp-content/uploads/2020/09/remote2.png)
次にAuthenticationタブを押し、ユーザー名とパスワードを入力してください。
![](https://www.mieruka.link/wp-content/uploads/2020/09/remote3.png)
最後に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
![](https://www.mieruka.link/wp-content/uploads/2020/09/visudo.png)
こちらで再度plink.exeを実行したところ、パケットキャプチャが正常に行われていることが確認できました。
Wiresharkを再起動し、図2から同手順をたどると無事Wiresharkの画面にLinuxホストの特定NICのパケットが表示されました。
![](https://www.mieruka.link/wp-content/uploads/2020/09/remote5-1024x651.png)
いや~何気に苦労してしまいました。
例ではWindows,Linux間ですが、逆でもWindows同士でもLinux同士でもロジックは一緒ですので是非活用してみてください。
最新記事 by 伊集院 (全て見る)
- 【暗号化通信(TLS)を復元できる】WIRESHARK達人への道 第二十五歩 暗号化通信(TLS)を復号する方法 - 1月 1, 2023
- 【詳細版】NSM(ネットワークセキュリティモニタ)、Zeekとは? - 9月 1, 2022
- 【簡易版】OSSネットワークセキュリティモニタZeekとは? - 8月 26, 2022