hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。
06/17/2012 うむ [長年日記]
■ [小ネタ][JS] ブラウザで tcpdump
Ethernet over WebSocket により L2 フレームを WebSocket に乗せることができたわけだけれど,では,WebSocket に乗せることができるということはどういうことか.
ブラウザから直接 Universal TUN/TAP を使うことはたぶんできないので,仲介屋でも立てておかない限り,ブラウザで直接トンネリングを実現することはできない. 仲介屋を作ってみるというのまあ面白いかも知れないけれど,とりあえず簡単にできるだろうということで,まずは tcpdump もどきの ethwsdump (画像) なるものを作ってみた (ただしサーバが認証かけてると動かない).
仕組みは至って単純.Ethernet over WebSocket というくらいで WebSocket 上に L2 フレームが流れてくるわけなので,WebSocket でサーバに繋いでやって,流れてくるデータを HTML 上に展開するだけ. 受信に関してはブラウザからいくらでも好きなようにできるので,プロトコルハンドラを実装してやれば解析でもなんでも出来るだろう.
ただし送信に関してはそう単純ではない. いや,処理は単純なのだけれど,肝心のデータソースがない,送れるものがないのだ. ぱっと思いつくのは,pcap ファイルをアップロードできるフォームを用意しておいてその中のデータを送るということくらいで,あまり嬉しくない...
まあ,とりあえずブラウザでできることはできるので,また何か思いついたら遊んでみるかも知れない.
思いついた
ブラウザで仮想スイッチを作れるね. ということはつまりフロー制御も入れられるはず. 制御用の WebSocket を 1 本開いておいて,その上に OpenFlow メッセージを流してやるということもきっとできるだろう.
嬉しいかどうかはさておき :-P