汎用BPF カウンター

我社のオープンソース・モニター・ツール- pcap_bpfcounter がリリースされました!

市場には数百のネットワーク・モニター・ツールがあり、無料のツール、安価なツール、法外価格のツールが出回っています。FMADIOは、自社の全ての捕捉システムと作動する関連 FMADIO プラグインを伴うオープンソース「pcap_bpfcounter」をリリースしました。

我社は、一事に長けるコンパクトなユーティリティであるべきとのUNIX ツール原則に従っています。一事とは、パケットをカウントしてバンド幅/マイクロバーストを計算することです。易しい事と思われますか?その通り簡単です!唯、ユニークな点はユーザーが定義する無限に近い数のBPF フローをカウントすることです。同じパケットをconfig ファイルに定められている各及び全てのBPF フィルターを通して送ることによって行われます。フィルターはBPF のため、一般的なフロー(例えば、全てのtcp/udp )から特定(BPF: vlan 5 及び host 192.168.1.90)の間のあらゆるフローのモニターが可能です。もしtcpdumpを使って出来るのであれば、それは文字どおり同じフィルター・エンジンです。

重要な点は、必要なだけ多くのBPF expressionを記述し、次に記するように、各及び全てのパケットをBPF expressionを通して送ることです。

結果としての出力は、解析するスクリプトのための簡単なタブで区切られたCSV ファイルです。各BPFフィルターにつき1つのファイルは、多数の異なったネットワークのフロー・モニターを容易にします。

BPF Expression: (host 192.168.1.1)
Burst Bucket  :           100000 nsec
Output Time   :      60000000000 nsec 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Time,                                         EpochNS,              Packets,                Bytes,       BurstMax(Mbps),       RateMean(Mbps),             PctTotal,           RMON1_runt,             RMON1_64,         RMON1_64-127,        RMON1_128-255,        RMON1_256-511,       RMON1_512-1023,      RMON1_1024-1518,      RMON1_1024-2047,      RMON1_2048-4095,      RMON1_4096-8191,           RMON1_8192
2018-09-06_23:59:23.154.301.928,  1536245963154301928,                    1,                  250,               20.000,                0.000,             1.000000,                    1,                    0,                    0,                    0,                    0,                    0,                    0,                    0,                    0,                    0,                    0
2018-09-07_00:00:23.206.032.023,  1536246023206032023,                  761,               128760,              101.440,                0.017,             0.456052,                  309,                  189,                  262,                    0,                    0,                    0,                    0,                    0,                    0,                    0,                    0
2018-09-07_00:01:23.216.361.437,  1536246083216361437,                 1524,               261516,              191.040,                0.018,             0.451980,                  312,                  189,                  262,                    0,                    0,                    0,                    0,                    0,                    0,                    0,                    0
2018-09-07_00:02:23.230.927.657,  1536246143230927657,                 2279,               388396,              101.440,                0.017,             0.457989,                  306,                  191,                  258,                    0,                    0,                    0,                    0,                    0,                    0,                    0,                    0
   .                      .                    .                         .                    .                    .                      .                   .                     .                     .                     .           
   .                      .                    .                         .                    .                    .                      .                   .                     .                     .                     .           
   .                      .                    .                         .                    .                    .                      .                   .                     .                     .                     .           
   .                      .                    .                         .                    .                    .                      .                   .                     .                     .                     .           
   .                      .                    .                         .                    .                    .                      .                   .                     .                     .                     .           
   .                      .                    .                         .                    .                    .                      .                   .                     .                     .                     .           
   .                      .                    .                         .                    .                    .                      .                   .                     .                     .                     .           

構造はもっと簡単であり、以下に示すようにLUA 構造を用います。もっと複雑なネットワークのために、このconfigファイルを生成できます。

-- how often to generate output log entries in nano seconds
SetUpdateRate(60e9)

-- create pipelines
CreatePipeline(
{
    ["Name"]            = "everything",
    ["BPF"]             = "",                               -- no BPF filter
    ["RE"]              = "",
    ["Output"]          = "/mnt/remote0/fmadio000.stats",
    ["BurstTime"]       = 100e3,                            -- time bucket to calculate microburtst statistics 
})

CreatePipeline(
{
    ["Name"]            = "everything-tcp",
    ["Output"]          = "/mnt/remote0/fmadio000.stats",
    ["BPF"]             = "tcp",
    ["RE"]              = "",
})

CreatePipeline(
{
    ["Name"]            = "everything-udp",
    ["Output"]          = "/mnt/remote0/fmadio000.stats",
    ["BPF"]             = "udp",
    ["RE"]              = "",
})

.
.

最後になりますが、最良の点は、結果がNFSサーバーに書かれることです。 FMADIOパケット捕捉システム上において、NFS 共有を自動的にマウントでき、結果の情報を集中ロケーションに書くことができます。

GitHubにてさらに調べて下さい、又はFMADIOプラグインについて我社にお問合せください。

Previous
Previous

CYBER SECURITY MANGA

Next
Next

GENERAL PURPOSE BPF COUNTER