mcpField
N
netflows

netflows

github.com/brownfinesecurityセキュリティ87544 回インストール21 週間前に更新
リポジトリ

netflows について

netflowsはPCAPまたはPCAPNGファイルからTCP・UDPフローを抽出し、キャプチャ内のDNS応答を使ってホスト名を解決します。ネットワーク調査やIoTデバイスの通信先分析に利用できます。

主な機能

  1. 01TCP・UDPフローの抽出
  2. 02キャプチャ内のDNS応答から対応表を作成
  3. 03IPアドレスからホスト名を特定
  4. 04送信元IPによるフローの絞り込み
  5. 05テキスト、JSON、簡易リストで出力

活用シーン

  1. 01IoTデバイスが接続するサービスの把握
  2. 02インシデント時の通信先の調査
  3. 03テレメトリーやトラッキング先の発見
  4. 04ファイアウォールの許可・拒否リスト作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/brownfinesecurity/iothackbot --skill netflows

インストール後、Claude Code で/netflowsを入力して読み込まれたか確認します。

詳細

NetFlows - DNS 解決機能付きネットワークフロー抽出ツール

netflows ツールを使って、ユーザーがパケットキャプチャファイルからネットワークフローを抽出、分析できるよう支援します。

ツールの概要

NetFlows は pcap/pcapng ファイルを分析し、次の処理を行います。

  • 一意な TCP および UDP フロー(宛先 IP:ポートの組み合わせ)を抽出します
  • キャプチャ内の DNS 応答から DNS 解決テーブルを作成します
  • 可能な場合は IP アドレスをホスト名に自動的に解決します
  • 送信元 IP アドレスでフローをフィルタリングします
  • 接続したすべてのネットワーク宛先の概要を生成します

これは、IoT デバイスが通信する外部サービスを把握するための分析に特に役立ちます。

手順

ユーザーからネットワークフローの分析、宛先の抽出、またはデバイスが通信するホストの特定を依頼された場合は、次の手順に従います。

  1. 要件を確認する:

    • pcap/pcapng ファイルのパスを取得します
    • 特定の送信元 IP(例:IoT デバイスの IP)でフィルタリングするかどうかを確認します
    • 希望する出力形式を確認します
  2. 分析を実行する:

    • iothackbot の bin ディレクトリにある netflows コマンドを使用します
  3. 結果を解釈する:

    • 解決されたホスト名とその意味を説明します
    • 追加調査が必要と思われる未解決の IP を示します
    • 興味深いパターン(クラウドサービス、P2P 接続など)を強調します

使用方法

基本的な分析

すべてのフローを表示して pcap ファイルを分析します。

netflows capture.pcap
送信元 IP によるフィルタリング

特定のデバイスからのフローを抽出します。

netflows capture.pcap --source-ip 192.168.1.100
複数ファイル

複数のキャプチャファイルを分析します。

netflows capture1.pcap capture2.pcapng
出力形式
# Human-readable colored output (default)
netflows capture.pcap --format text

# Machine-readable JSON
netflows capture.pcap --format json

# Minimal output - just hostname:port list
netflows capture.pcap --format quiet

パラメーター

入力:

  • pcap_files:分析する 1 つ以上の pcap/pcapng ファイル(必須)

フィルタリング:

  • -s, --source-ip:この IP アドレスを送信元とするフローをフィルタリングします

出力:

  • --format text|json|quiet:出力形式(デフォルト:text)
  • -v, --verbose:詳細出力を有効にします

例

IoT デバイスのトラフィックを分析します。

netflows iot-capture.pcap --source-ip 192.168.1.50

スクリプトで使うフローリストのみを取得します。

netflows capture.pcap -s 10.0.0.100 --format quiet

解析用の JSON 出力です。

netflows capture.pcap --format json | jq '.data[].flow_summary'

出力情報

テキスト形式には次の情報が含まれます:

  • 検出された DNS マッピング(IP -> ホスト名)
  • ホスト名の解決状態を含む TCP フロー
  • ホスト名の解決状態を含む UDP フロー
  • 統合されたフローの概要(hostname:port または ip:port)

JSON 形式には次の情報が含まれます:

  • dns_mappings:IP とホスト名のマッピングを格納した辞書
  • tcp_flows:ホスト名、IP、ポートを含む TCP フローオブジェクトのリスト
  • udp_flows:ホスト名、IP、ポートを含む UDP フローオブジェクトのリスト
  • flow_summary:「hostname:port」または「ip:port」形式の文字列のリスト
  • dns_queries:問い合わせられた DNS ドメインのリスト
  • total_packets:分析したパケット数

使用例

  1. IoT デバイスのプロファイリング:IoT デバイスが通信するクラウドサービスとエンドポイントをすべて特定します
  2. ネットワークフォレンジック:インシデント中に接続した宛先を列挙します
  3. プライバシー分析:テレメトリーおよびトラッキングのエンドポイントを検出します
  4. ファイアウォールルールの作成:エンドポイントの許可リスト/ブロックリストを生成します
  5. マルウェア分析:C2 サーバーと情報流出先を特定します

重要な注意事項

  • このツールは、同じ pcap ファイル内で見つかった DNS 応答を使用してホスト名を解決します
  • キャプチャ内に対応する DNS ルックアップがない IP は「unresolved」と表示されます
  • pcap と pcapng の両形式に対応しています
  • (ライブキャプチャツールとは異なり)昇格した権限は必要ありません
  • 大容量の pcap ファイルは処理に時間がかかる場合があります

コメント