トラヒック計測ツール pmacct を使ってみる

NIC インターフェイスを特定して細かいトラフィックを計測するために、 pmacct を使ってみました

tcpdump で集計するよりめっちゃ楽でした。

ともかく使う

apt install pmacct で環境が揃います。yumでも大丈夫かな

$ sudo apt install -y pmacct

実行

まず実行してみます

$ sudo pmacctd -P print -r 10 -i eth0 -c src_host,dst_host,dst_port
INFO ( default/core ): Reading configuration from cmdline.
OK ( default/core ): link type is: 1
INFO ( default/print ): cache entries=16411 base cache memory=53434216 bytes
SRC_IP                                         DST_IP                                         DST_PORT  PACKETS               BYTES
INFO ( default/print ): *** Purging cache - START (PID: 6790) ***
XX.XX.XX.96                                     YY.YY.YY.107                                  61645     6                     712
YY.YY.YY.107                                    XX.XX.XX.96                                   22        3                     120
INFO ( default/print ): *** Purging cache - END (PID: 6790, QN: 2/2, ET: 0) ***
^CINFO ( default/print ): *** Purging cache - START (PID: 6789) ***
XX.XX.XX.96                                     YY.YY.YY.107                                  61645     4                     848
YY.YY.YY.107                                    XX.XX.XX.96                                   22        1                     40
INFO ( default/print ): *** Purging cache - END (PID: 6789, QN: 2/2, ET: 0) ***
INFO ( default/core ): OK, Exiting ...

16 packets received by filter
0 packets dropped by kernel

それっぽい感じで表示されました
上記コマンドラインの引数の意味はそれぞれ以下の通りです

  • 出力先 = print
  • 対象I/F = eth0
  • 集計期間 = 10秒毎
  • 集計単位 = src_host,dst_host,dst_port の3要素でグルーピング

pmacctのいいところ

tcpdumpで直接計測しようと思いましたが、ちょっと大変そうだったところに見つけることができよかったです

  • 標準出力といったCLI構成でも使える
    • DBにも保存できる
  • 時間やホスト・ポート等の条件でまとめ上げてくれる
  • tcpdump互換の表記で集計対象(もしくは対象外)を設定できる
    • $ sudo pmacctd -P print -r 10 -i eth0 -c src_host,dst_host,dst_port not port 22 こんな感じで port=22 なトラヒックは除外できる

あとがき

低トラヒック用途向け新料金体系調査を行うためにトラヒックモニタリングのツールを探してました

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.