【表示フィルタを徹底活用しNetFlowを抽出】Wireshark達人への道 第十三歩 NetFlowパケットの抽出方法
本連載は、筆者がWiresharkの達人となるまでを追うドキュメンタリー作品である。
今回の記事では、以下の3ステップでNetFlowパケットを分析します。
- パケット取得時に特にフィルタをかけずに取得したキャプチャファイルからNetFlowパケットのみをフィルタ
- 1:N(特定IPアドレスから対抗装置N台)でフィルタ
- NetFlowプロトコルに合わせた表示のカスタマイズ
今回検証に利用した構成は、以下の通りです。有線接続したWindows 10がWiresharkを起動し、apu4から送信されたトラフィックを全受信しています。
1. NetFlowパケットの抽出
収集したパケットは、NetFlow以外のパケットを含んでいます。NetFlowパケットだけを抽出し、さらにエクスポーター(NetFlowを送信するルータ/スイッチ)が複数存在するケースを考え、送信元IPアドレスでもフィルタします。
((udp.port == 2055) && (ip.src == 192.168.1.254))
ステップ2の条件でトラフィックを絞るために、単一のIPv4アドレスに着目します。今回は、Windows 10(192.168.1.2)の通信で生成されたフローし絞ります。以下のフィルタを追加で入力します。
((((udp.port == 2055) && (ip.src == 192.168.1.254))) && (cflow.ip_version == 4)) && ((cflow.srcaddr == 192.168.1.2) or (cflow.dstaddr == 192.168.1.2))
フィルタを手入力すると難しく感じる方もいらっしゃると思います。図3のように「…and Selected/… or Selected」を活用すると簡単にフィルタを入力することができます。
ここまでのフィルタで十分と思われると思いますが、実際NetFlowにはFlowSetという考え方があり、1パケットに複数のフローパケットが含まれているため残念ながら、特定のIPアドレスのみのトラフィックに完全に絞るといったことは現状できません。
2. NetFlowプロトコルに合わせた表示のカスタマイズ
最後に筆者が考えるWiresharkにおける表示フィルタの設定項目をご紹介します。表示フィルタの設定方法に関しては、第二歩の表示のカスタマイズに詳しく設定方法を記載しておりますので、ご参照ください。以下が当方が考える表示フィルタの設定項目です。
- Time → Time(format as specified)
- FlowSequence → cflow.sequence
- SourceID → cflow.source_id
- SrcAddr → cflow.srcaddr
- SrcPort → cflow.srcport
- DstAddr → cflow.dstaddr
- DstPort → cflowdstport
この表示フィルタであれば、特定ホストがどのようなトラフィックを生成しているかをWireshark上でもある程度はGUIで確認することができます。こういった手間を省くために各メーカがフローコレクターを商用製品として販売しているんだなということが何となく感じていただけるのではないでしょうか。図4に上記の表示項目で表示したWiresharkの画面をご紹介して第十三歩は終わりたいと思います。
最新記事 by 伊集院 (全て見る)
- 【暗号化通信(TLS)を復元できる】WIRESHARK達人への道 第二十五歩 暗号化通信(TLS)を復号する方法 - 1月 1, 2023
- 【詳細版】NSM(ネットワークセキュリティモニタ)、Zeekとは? - 9月 1, 2022
- 【簡易版】OSSネットワークセキュリティモニタZeekとは? - 8月 26, 2022