Iothackbot netflows
Network flow extractor that analyzes pcap/pcapng files to identify outbound connections with automatic DNS hostname resolution. Use when you need to enumerate network destinations, identify what hosts a device communicates with, or map IP addresses to hostnames from packet captures.
git clone https://github.com/BrownFineSecurity/iothackbot
T=$(mktemp -d) && git clone --depth=1 https://github.com/BrownFineSecurity/iothackbot "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/netflows" ~/.claude/skills/brownfinesecurity-iothackbot-netflows && rm -rf "$T"
skills/netflows/SKILL.mdNetFlows - Network Flow Extractor with DNS Resolution
You are helping the user extract and analyze network flows from packet capture files using the netflows tool.
Tool Overview
NetFlows analyzes pcap/pcapng files to:
- Extract unique TCP and UDP flows (destination IP:port pairs)
- Build a DNS resolution table from DNS responses in the capture
- Automatically resolve IP addresses to hostnames where possible
- Filter flows by source IP address
- Generate a summary of all network destinations contacted
This is particularly useful for IoT device analysis to understand what external services a device communicates with.
Instructions
When the user asks to analyze network flows, extract destinations, or identify what hosts a device talks to:
-
Gather requirements:
- Get the pcap/pcapng file path(s)
- Ask if they want to filter by a specific source IP (e.g., the IoT device's IP)
- Determine preferred output format
-
Execute the analysis:
- Use the netflows command from the iothackbot bin directory
-
Interpret results:
- Explain resolved hostnames and their significance
- Note any unresolved IPs that may need further investigation
- Highlight interesting patterns (cloud services, P2P connections, etc.)
Usage
Basic Analysis
Analyze a pcap file showing all flows:
netflows capture.pcap
Filter by Source IP
Extract flows from a specific device:
netflows capture.pcap --source-ip 192.168.1.100
Multiple Files
Analyze multiple capture files:
netflows capture1.pcap capture2.pcapng
Output Formats
# 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
Parameters
Input:
: One or more pcap/pcapng files to analyze (required)pcap_files
Filtering:
: Filter flows originating from this IP address-s, --source-ip
Output:
: Output format (default: text)--format text|json|quiet
: Enable verbose output-v, --verbose
Examples
Analyze IoT device traffic:
netflows iot-capture.pcap --source-ip 192.168.1.50
Get just the flow list for scripting:
netflows capture.pcap -s 10.0.0.100 --format quiet
JSON output for parsing:
netflows capture.pcap --format json | jq '.data[].flow_summary'
Output Information
Text format includes:
- DNS mappings discovered (IP -> hostname)
- TCP flows with hostname resolution status
- UDP flows with hostname resolution status
- Consolidated flow summary (hostname:port or ip:port)
JSON format includes:
: Dictionary of IP to hostname mappingsdns_mappings
: List of TCP flow objects with hostname, ip, porttcp_flows
: List of UDP flow objects with hostname, ip, portudp_flows
: List of "hostname:port" or "ip:port" stringsflow_summary
: List of DNS domains querieddns_queries
: Number of packets analyzedtotal_packets
Use Cases
- IoT Device Profiling: Identify all cloud services and endpoints an IoT device communicates with
- Network Forensics: Enumerate destinations contacted during an incident
- Privacy Analysis: Discover telemetry and tracking endpoints
- Firewall Rule Creation: Generate allowlist/blocklist of endpoints
- Malware Analysis: Identify C2 servers and exfiltration destinations
Important Notes
- The tool resolves hostnames using DNS responses found within the same pcap file
- IPs without corresponding DNS lookups in the capture will show as "unresolved"
- Supports both pcap and pcapng formats
- Does not require elevated privileges (unlike live capture tools)
- Large pcap files may take time to process