本家:http://www.caida.org/tools/measurement/coralreef/
以前からちょこちょこ使っていたので、オプションや使い方をまとめておきます。
crl_flow
まずはこれでフローを分析。
デフォルトでは300秒ごとに、その時点でのフロー詳細を出力。
パケット数、バイト数、IPとポート、フローの開始//終了時刻など。
使用例
crl_flow -I tcpdump.dmp
300秒ごと、の部分を変更するには
crl_flow -Ci=600 -I tcpdump.dmp
pcapファイルが圧縮済みの場合は
crl_flow -I pcap:<(bzcat tcpdump.dmp.bz2)
で読めます。
※tcpsliceで必要な期間だけ予め切っておいたほうが楽。
tcpsliceで2GBを超えるファイルを扱う方法は別掲。
ごく短いフローを無視するなら
crl_flow -Cd=3 -I tcpdump.dmp
さらなる加工のために、区切りごとに.t2ファイルに書き出す。
crl_flow -I tcpdump.dmp -O./%s.t2
この場合のファイル名は、ご想像のとおり、エポック秒。
出来た.t2ファイルをrrdtoolに登録。
spoolcat '*.t2' | store_monitor_data report.conf subif_map.conf
※confファイルはソースの中かコンパイルディレクトリか、CAIDAのオンラインヘルプのどこかにあったはず...
グラフを生成。
create_report report.conf
※必要なディレクトリはあらかじめmkdirしておく必要あり。

