Wiresharkでバイト列のフィルタ
JGroupsのPINGトラフィックを除外したものを見たかったんだけど、data.textを対象にフィルタ指定してもバイナリデータだと効かないみたいだ。
というわけでバイナリdata.dataにフィルタを指定するんだけど、指定する「バイト文字列」のフォーマットをWiresharkで決められてるコロン区切りHexフォーマットにしないといけないのと、containsの否定式どうやるんだろうと思ったので調べた。できたのがコレ。
! data.data contains 50:49:4e:47
否定は先頭に'!'をつければどの式でも否定になるっぽい。ダイアログ形式のExpressionヘルパ使ってるとわからないね。
バイト文字列はこんな感じで変換したもの。
$ jruby -e 's = "PING"; puts s.unpack("H2"*(s.length)).join(":")' 50:49:4e:47