rmote packet capture protocol を使って見る

31
Remote Packet Capture Protocol サササササササ Murachi Akira aka hebikuzure This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives 4.0 International License.

Upload: -

Post on 16-Feb-2017

959 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Rmote Packet Capture Protocol を使って見る

Remote Packet Capture Protocol サービスを使う

Murachi Akira aka hebikuzure

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Page 2: Rmote Packet Capture Protocol を使って見る

About me 村地 彰 aka hebikuzure http://www.murachi.net/ http://www.hebikuzure.com/ https://hebikuzure.wordpress.com/ Microsoft MVP (Internet Explorer) Apr. 2011 ~

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #312

Page 3: Rmote Packet Capture Protocol を使って見る

Remote Packet Capture Protocol サービス

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #313

WinPcap のインストールで同時にインストールされるWindows サービス

WinPcap でキャプチャしたパケット データをネットワーク上に転送するサービス 詳細情報はこちら

https://www.winpcap.org/docs/docs_40_2/html/group__remote.html

Page 4: Rmote Packet Capture Protocol を使って見る

ちなみに WinPcap の歴史

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #314

オリジナルトリノ工科大学( Politecnico di Torino )で開発 商用版開発者によって設立された CACE Technologies から提供 現在

CACE Technologies が Riverbed Technology に買収されたので、 Riverbed Technology が提供元 Riverbed Technology は Wireshark Foundation のスポンサーでもある 日本法人あり

http://jp.riverbed.com/contact/

Page 5: Rmote Packet Capture Protocol を使って見る

RPCAP Protocol サービス

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #315

ドキュメントは古いが、ソフトウェアは更新済み

Page 6: Rmote Packet Capture Protocol を使って見る

RPCAP の動作モード

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #316

Passive Mode (既定) RPCAP は指定したポートで待ち受け キャプチャするクライアントがネットワーク経由で接続 クライアントからのコマンドでキャプチャと転送 Wireshark はこのモードで利用可能

Active Mode RPCAP 起動時に指定したクライアントに接続 クライアントが待ち受けている必要あり クライアントからのコマンドでキャプチャと転送 サポートするクライアントが実質無い(?)

Page 7: Rmote Packet Capture Protocol を使って見る

RPCAP の起動( GUI )

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #317

[ サービス ] の管理コンソール( services.msc )で “ Remote Packet Capture Protocol v.0 (experimental)” を開く

[ 開始 ] をクリック

Page 8: Rmote Packet Capture Protocol を使って見る

RPCAP の起動(コマンド)

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #318

管理者コマンドプロンプトを起動 sc start rpcapd

Page 9: Rmote Packet Capture Protocol を使って見る

RPCAPD の停止

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #319

[ サービス ] の管理コンソール( services.msc )で “ Remote Packet Capture Protocol v.0 (experimental)” を開き [ 停止 ] をクリック

管理者コマンドプロンプトでsc stop rpcapdを実行

Page 10: Rmote Packet Capture Protocol を使って見る

サービスの構成

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3110

レジストリHKLM\SYSTEM\CurrentControlSet\services\rpcapd

ImagePath 値( REG_EXPAND_SZ ) 起動コマンドラインを指定 環境変数( %ProgramFiles(x86)% )が利用可能

Start 値 スタートアップの種類

Page 11: Rmote Packet Capture Protocol を使って見る

Start 値

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3111

データ 定義 動作0 SERVICE_BOOT_START ブート(ドライバー)1 SERVICE_SYSTEM_START 起動(ドライバー)2 SERVICE_AUTO_START 自動(サービス)3 SERVICE_DEMAND_START 手動(サービス)4 SERVICE_DISABLED 無効

Page 12: Rmote Packet Capture Protocol を使って見る

既定の設定

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3112

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\rpcapd]“Type”=dword:00000010“Start”=dword:00000003“ErrorControl”=dword:00000001“ImagePath”=hex(2):22,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,\ 69,00,6c,00,65,00,73,00,28,00,78,00,38,00,36,00,29,00,25,00,5c,00,57,00,69,\ 00,6e,00,50,00,63,00,61,00,70,00,5c,00,72,00,70,00,63,00,61,00,70,00,64,00,\ 2e,00,65,00,78,00,65,00,22,00,20,00,2d,00,64,00,20,00,2d,00,66,00,20,00,22,\ 00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,\ 73,00,28,00,78,00,38,00,36,00,29,00,25,00,5c,00,57,00,69,00,6e,00,50,00,63,\ 00,61,00,70,00,5c,00,72,00,70,00,63,00,61,00,70,00,64,00,2e,00,69,00,6e,00,\ 69,00,22,00,00,00“DisplayName”=“Remote Packet Capture Protocol v.0 (experimental)”“WOW64”=dword:00000001“ObjectName”=“LocalSystem”"Description"="Allows to capture traffic on this machine from a remote machine."

Page 13: Rmote Packet Capture Protocol を使って見る

ちなみに

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3113

Type 値 0x1 ( 1 ) デバイス ドライバー 0x2 ( 2 ) カーネル モードのファイル システム ドライバ 0x10 ( 16 ) サービス(オウン プロセス) 0x20 ( 32 ) サービス(共有プロセス)

Page 14: Rmote Packet Capture Protocol を使って見る

RPCAP の起動オプション

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3114

rpcapd [-b <address>] [-p <port>] [-6] | [-4][-l <host_list>] [-a <host,port>] [-n] [-v] [-d] [-s <file>] [-f <file>]

Page 15: Rmote Packet Capture Protocol を使って見る

-b <address>

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3115

RPCAP がバインドされる IP アドレス 既定値はすべての IPv4 アドレスと IPv6 アドレス

Page 16: Rmote Packet Capture Protocol を使って見る

-p <port>

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3116

RPCAP がバインドされるポート番号 既定は 2002

Page 17: Rmote Packet Capture Protocol を使って見る

[-6] | [-4]

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3117

IPv6 アドレスのみバインド | IPv4 アドレスのみバインド 既定値はすべての IPv4 アドレスと IPv6 アドレス

Page 18: Rmote Packet Capture Protocol を使って見る

-l <host_list_file>

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3118

RPCAP の接続を許可するホストのリスト 1 行に 1 つのホスト名を記述したテキスト ファイルを指定 IP アドレスでも DNS 名でも可(推奨はホスト名)

Page 19: Rmote Packet Capture Protocol を使って見る

-n

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3119

匿名アクセスを許可 -l オプションで接続可能ホストを指定している場合のみの設定が推奨される 既定は匿名アクセス無効(実行ホストで認証できるユーザー名とパスワードが必要)

Page 20: Rmote Packet Capture Protocol を使って見る

-a <host, port>

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3120

アクティブ モードで起動し、host, portに接続を開始する

このモードで起動した場合も、パッシブ モードでの接続は可能

Page 21: Rmote Packet Capture Protocol を使って見る

-v

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3121

アクティブ モードのみの動作を強制する - a オプションが指定されている場合でも、パッシブ モードでの接続は不可

Page 22: Rmote Packet Capture Protocol を使って見る

-d

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3122

RPCAP をバックグラウンドでサービスとして実行 WinPcap をインストールしたときに登録される

RPCAP の既定値

Page 23: Rmote Packet Capture Protocol を使って見る

-s <file>

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3123

現在の RPCAP の設定を file に保存

Page 24: Rmote Packet Capture Protocol を使って見る

-f <file>

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3124

file から設定をロード ファイルから読み込んだ設定が優先され、他のスイッチは無視される

Page 25: Rmote Packet Capture Protocol を使って見る

-h

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3125

ヘルプの表示

Page 26: Rmote Packet Capture Protocol を使って見る

アクティブ モード

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3126

サポートしている(アクティブ モードのクライアントとして動作する)キャプチャ ツールはhttp://netgroup.polito.it/toolsの “ Analyzer” しか紹介されていない

“Analyzer” は開発停止の模様 こちらから入手は可能

http://ftp.tuwien.ac.at/.vhost/analyzer.polito.it/30alpha/

Page 27: Rmote Packet Capture Protocol を使って見る

リモート マシンでのキャプチャー開始

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3127

file://filename ローカル ファイルのオープンrpcap://host.foo.bar/adaptername 既定のポートでリモート アダプターのオー

プンrpcap://host.foo.bar:1234/adaptername

ポート番号を指定してリモート アダプターのオープン

rpcap://10.11.12.13/adaptername 既定のポートでリモート アダプターのオープン

rpcap://10.11.12.13:1234/adaptername

ポート番号を指定してリモート アダプターのオープン

rpcap://[10.11.12.13]:1234/adaptername

ポート番号を指定してリモート アダプターのオープン

rpcap://[1:2:3::4]/adaptername 既定のポートでリモート アダプターのオープン( IPv6 )

rpcap://[1:2:3::4]:1234/adaptername ポート番号を指定してリモート アダプターのオープン( IPv6 )

rpcap://adaptername RPCAP プロトコルを使用せずローカル アダプターをオープン

Page 28: Rmote Packet Capture Protocol を使って見る

Windows インストールの既定の起動オプション

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3128

%ProgramFiles(x86)%\WinPcap\rpcapd.exe” -d -f “%ProgramFiles(x86)%\WinPcap\rpcapd.ini

RPCAP をサービスとしてバックグラウンドで実行 同じディレクトリの rpcapd.ini から設定を読み込み

Page 29: Rmote Packet Capture Protocol を使って見る

既定の rpcapd.ini

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3129

既定では rpcapd.ini は存在していない サンプル rpcapd.ini.org

# Configuration file help.

# Hosts which are allowed to connect to this server (passive mode)# Format: PassiveClient = <name or address>

# Hosts to which this server is trying to connect to (active mode)# Format: ActiveClient = <name or address>, <port | DEFAULT>

# Permit NULL authentication: YES or NOTNullAuthPermit = NO

Page 30: Rmote Packet Capture Protocol を使って見る

リモート キャプチャ ツールの実例

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3130

RPCAP によるリモートパケットモニターhttp://codezine.jp/article/detail/219 実行ファイル

http://codezine.jp/article/download/324 ダウンロード ソースファイル

http://codezine.jp/article/download/325 Analyzer

http://ftp.tuwien.ac.at/.vhost/analyzer.polito.it/30alpha/download.htm Active モードに対応したパケット キャプチャ / アナライズ ツール 開発終了してるので、古い

Page 31: Rmote Packet Capture Protocol を使って見る

DEMO

2015/8/28© 2015 Murachi Akira - CC BY-NC-ND - #pakeana #3131