2014/12/13

[ble]どうせならWireSharkで直接パケットを見られないだろうか

なんか、いつものことながら、道を外れつつある・・・。
いや、人の道は外れないけど、やろうとしてたことを外れるというか。
まあ、より道は子供の頃から楽しいものだから、仕方あるまい。

前回、PSDファイルをPCAPに変換してWireSharkで見る、という作業を行った。
接続の構成は、こんな感じ。

image

ソフトまで含めると、こうなる。
前回やったのは、黒い矢印のところだけ。

image

WireSharkは「ネットワークインターフェース」のデータを取り扱うソフトなので、ネットワークインターフェースじゃないものは扱うことができない。
だから、BLEのデータもWireSharkで見ることができないから、一度PSDファイルにしたものをWireSharkで読めるPCAP形式に変換してみた、というのが前回の話だ。

 

だから、ネットワークインターフェースで見えるようにさえしてしまえば、どんなデータもWireSharkで見ることができる、というのもまた真である。
今回で言えば、CC2540 DongleとPC間はUSBで接続されているので、USBの通信をネットワークインターフェースで見えるようにすればよいだけのことだ。
「USBはネットワークとは別だろう」と思うかもしれないが、そんなことを言ってしまうと「ネットワークのデータは画像データじゃないじゃないか」と言ってるようなもので、ノイマン型コンピュータの中で生きている我々にとっては「データはメモリに載っかってしまえばみんな同じ」なのだ。
あとは、どう扱うか、だけ。

WireSharkもそれをわかっていて、USBを解析する方法が書かれている。
私はWindowsだったので、USBPcapを使ってみた。
tourのStep1~3で、Dongleのデータをpcapファイルに保存し、WireSharkで見てみた。
うん、Bulk転送でそれっぽいデータが受信できている。
Dongleの操作はWireSharkではできないので、これはTI Packet Snifferで操作した。
Step4のlive captureも同じ要領で試して、それっぽいデータが受信できていた。
(USBPcap2となっている箇所は、自分のスニファしたいUSB Host番号に合わせること!)

あとは、これをリアルタイムで解釈するようにがんばるかどうか。。。
この記事を書き始める前までは、LUAでプラグイン書いてやってみよー、と思ってたんだけど、今のところリアルタイムのWireSharkで見る必要性がほとんどないのだな。
自分でスニファアプリを作ったとかすれば必要になってくるけど、今使っているBVMCNDT52はUSBを電源供給で使うだけなので、そういうのがいらない。COMポート経由とかでも同じことはできると思うけど、そんなことを考えるのが面倒だからDongleを買ったのだよ。

そんなわけで、「TIのドングル出力を直接WireSharkで見られるか?」という問に対してはYesなんだけど、「今からがんばりたいか?」という問に対してはNo、と答えてしまうな。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。