Complete WiFi 4/5/6/7 packet analysis platform
Project description
WiFi Feature Detector
Complete WiFi 4/5/6/7 Analysis Platform - Comprehensive packet analysis with 24 detection categories including security threats, beamforming, RRM features, QoS, power management, bandwidth analysis, and more.
Table of Contents
- Quick Start
- What's New in v5.1
- Installation
- Usage
- Analysis Capabilities
- Use Cases
- Wireshark Filters
- Architecture
- Sample Output
- Performance
- Troubleshooting
- Contributing
Quick Start
# Install dependencies
pip install scapy>=2.5.0
# Analyze a PCAP file
python wifilyzer.py capture.pcap
# View the report
cat capture_analysis_YYYYMMDD_HHMMSS.txt
Output:
- Text report: 700+ lines with 24 comprehensive sections
- JSON report: Complete structured data for programmatic access
What's New in v5.1
๐ NEW: Bandwidth & Throughput Analysis (Section 24)
Per-Client Analysis:
- Total data volume (bytes/KB/MB) per WiFi client
- TX/RX bandwidth (uplink/downlink separation)
- Average throughput (Kbps/Mbps) per client
- Data rate distribution (min/max/avg)
- MCS (Modulation and Coding Scheme) values
- Packet size statistics
- Associated APs tracking
Per-AP Analysis:
- Total bandwidth per Access Point
- TX/RX traffic separation
- Connected client count and list
- SSID and channel identification
- Average throughput metrics
- Data rate statistics
Application/Protocol Traffic Identification:
- Video Streaming: YouTube, Netflix, Hulu, Amazon Prime, Disney+, HBO, Twitch, TikTok
- Social Media: Facebook, Instagram, Twitter, Snapchat, WhatsApp, Telegram
- VoIP/Conferencing: Zoom, Skype, Teams, WebEx, Google Meet, Discord, Slack
- Voice: SIP, RTP, RTSP protocols
- Gaming: Xbox Live, PlayStation Network
- File Transfer: FTP, SFTP, SMB
- Email: SMTP, POP3, IMAP
- Port-based identification (HTTP/HTTPS, DNS, DHCP, etc.)
- TLS SNI (Server Name Indication) domain extraction
- QUIC protocol detection
Traffic Direction Analysis:
- Uplink traffic (Client โ AP)
- Downlink traffic (AP โ Client)
- Peer-to-peer/WDS traffic
- Percentage distribution by bytes and packets
Protocol Distribution:
- TCP, UDP, ICMP, ARP, DNS, DHCP, EAPOL breakdown
- Bandwidth consumption per protocol
- Packet count per protocol
Multicast/Broadcast Traffic Analysis:
- Multicast group detection and tracking
- IGMP (Internet Group Management Protocol) activity monitoring
- Per-client multicast bandwidth and throughput
- Video streaming multicast identification (RTP/UDP)
- Multicast group membership (joins/leaves)
- Broadcast traffic measurement
- Per-group statistics (clients, throughput, data volume)
- Streaming group identification and analysis
Use Cases:
- Identify bandwidth-heavy clients
- Detect which applications consume most bandwidth
- Monitor per-AP load and throughput
- Analyze traffic patterns for capacity planning
- Identify streaming vs. background traffic
- QoS troubleshooting and optimization
- Monitor IPTV and multicast video delivery
- Track multicast group membership
- Measure per-client multicast streaming performance
- Identify multicast bandwidth consumption
๐ฏ 8 New Advanced Detection Modules (v5.0)
Medium Priority Features:
- Beamforming Analysis - NDPA/NDP frames, MU-MIMO grouping, sounding frequency
- Spatial Reuse (BSS Coloring) - WiFi 6 color detection, OBSS PD, collision detection
- Channel Interference - Co-channel, hidden nodes, retry analysis, noise floor
- Client Capabilities - WiFi generation, vendor ID (40+ OUIs), capability mismatches
High Priority Features: 5. Security Analysis - Deauth attacks, rogue APs, evil twins, weak encryption, KRACK indicators 6. RRM Features (802.11k/v/r) - Radio management, BSS transition, fast roaming 7. QoS & WMM - Traffic prioritization, EDCA, frame aggregation, AC distribution 8. Power Save - Legacy PS, U-APSD, TWT (WiFi 6), power management tracking
๐๏ธ Key Improvements
- โ 23 analysis sections
- โ Modular architecture with 5 external detection modules
- โ 748-line reports with detailed insights
- โ Complete security threat detection suite
- โ RRM optimization analysis (802.11k/v/r)
- โ Power management analysis (including WiFi 6 TWT)
Installation
Requirements
- Python 3.13 or higher
- Scapy 2.5.0 or higher
- WiFi adapter with monitor mode support (for captures)
Setup
# Clone the repository
git clone <repository-url>
cd wifi-scripts
# Install Scapy
pip install scapy>=2.5.0
# Verify installation
python wifilyzer.py --help
Capturing WiFi Traffic
Linux (with monitor mode):
# Enable monitor mode
sudo airmon-ng start wlan0
# Capture packets
sudo tshark -i wlan0mon -w capture.pcap
# Analyze
python wifilyzer.py capture.pcap
Windows (with compatible adapter):
# Capture with tshark (Wireshark)
tshark -i "Wi-Fi" -w capture.pcap
# Analyze
python wifi6_feature_detector.py capture.pcap
Usage
Basic Analysis
python wifilyzer.py capture.pcap
Advanced Capture Filtering
# Security monitoring (management frames only)
tshark -i wlan0 -f "wlan type mgt" -w security.pcap
# Beamforming analysis (control frames)
tshark -i wlan0 -f "wlan type ctl" -w beamform.pcap
# QoS analysis (data frames)
tshark -i wlan0 -f "wlan type data" -w qos.pcap
# RRM features (action frames)
tshark -i wlan0 -f "wlan type mgt subtype action" -w rrm.pcap
Automated Testing Script
#!/bin/bash
INTERFACE="wlan0mon"
DURATION=60
OUTPUT="test_$(date +%Y%m%d_%H%M%S).pcap"
# Capture WiFi traffic
timeout $DURATION tshark -i $INTERFACE -w $OUTPUT
# Run analysis
python wifilyzer.py $OUTPUT
# Check for security issues
grep -E "ATTACK|WEAK|ROGUE" ${OUTPUT%.pcap}_analysis_*.txt
Analysis Capabilities
Complete Feature Set (24 Sections)
Core Analysis (Sections 1-15)
- File Information - PCAP metadata, packet counts, duration
- WiFi Generation Detection - WiFi 4/5/6/7 identification
- WiFi 6 Features - HE capabilities, BSS Color, TWT, OFDMA
- Channel & PHY Layer - Channel usage, widths, frequency
- Data Rates & Throughput - MCS rates, throughput calculation
- Spatial Streams (MIMO) - MIMO configuration, stream counts
- Network Topology - APs and clients identification
- Management Frames - Beacons, probes, auth, assoc
- Security Configuration - Encryption types, authentication
- WiFi 7 Features - EHT capabilities, MLO, 320MHz channels
- Roaming Analysis - Handoff detection, reassociation
- DFS Channels - Radar detection, DFS compliance
- Auto Channel Selection - Channel switching, optimization
- Airtime Fairness - Client airtime distribution
- Issues & Recommendations - Problems detected, suggestions
โญ Advanced Features (Sections 16-24)
16. Beamforming Analysis
- Explicit/Implicit beamforming detection
- NDPA (Null Data Packet Announcement) frame analysis
- NDP (Null Data Packet) detection
- MU-MIMO grouping indicators
- Sounding frequency calculation
- SU/MU beamformer capabilities (VHT/HE)
17. Spatial Reuse (BSS Coloring)
- BSS Color detection (WiFi 6 feature)
- Spatial Reuse Parameter Set analysis
- OBSS PD (Overlapping BSS Packet Detect) thresholds
- Color collision identification
- Per-AP color tracking
18. Channel Interference
- Co-channel interference detection (multiple APs, same channel)
- Adjacent channel conflicts (ยฑ1, ยฑ5 channel overlap)
- Hidden node detection (RTS/CTS frame ratio analysis)
- Noise floor measurement (from RadioTap)
- Retry rate analysis per client
19. Client Capabilities
- WiFi generation per client (WiFi 4/5/6/7)
- OUI-based vendor identification (40+ vendors: Apple, Intel, Cisco, Samsung, etc.)
- Capability mismatch detection (WiFi 6 client on WiFi 7 AP)
- PHY rate distribution analysis
- HT/VHT/HE/EHT capability parsing
20. ๐ Security Analysis
- Attack Detection:
- Deauthentication attacks (threshold: โฅ10 frames)
- Disassociation attacks
- KRACK vulnerability indicators (EAPOL replay)
- Rogue Device Detection:
- Rogue AP identification (multiple BSSIDs per SSID)
- Evil twin detection (same SSID, different encryption/BSSID)
- Encryption Analysis:
- WEP network detection (critical vulnerability)
- Weak encryption alerts (WPA1)
- Open network identification
- RSN IE and WPA IE parsing
21. ๐ RRM Features (802.11k/v/r)
- 802.11k (Radio Resource Management):
- RRM Enabled Capabilities IE detection
- Neighbor Report Request/Response
- Beacon Report Request/Response
- Radio Measurement action frames
- 802.11v (BSS Transition Management):
- Extended Capabilities IE parsing
- WNM action frames detection
- BSS Transition Management Request/Response
- 802.11r (Fast Transition):
- Mobility Domain IE detection
- Fast BSS Transition IE parsing
- FT Authentication (algorithm 2)
- FT Reassociation tracking
- Client Steering: AP-directed client movement
- Load Balancing: Client distribution optimization
22. โกQoS & WMM Analysis
- QoS Detection:
- QoS Data frame identification (type=2, QoS bit)
- WMM/QoS capability parsing
- Access Category Distribution:
- VO (Voice): TID 6,7 - Highest priority
- VI (Video): TID 4,5 - High priority
- BE (Best Effort): TID 0,3 - Normal priority
- BK (Background): TID 1,2 - Lowest priority
- EDCA Parameters:
- AIFSN (Arbitration Inter-Frame Space Number)
- CWmin/CWmax (Contention Window)
- TXOP (Transmission Opportunity)
- TSPEC: Traffic specification detection
- Frame Aggregation:
- A-MPDU (Aggregated MAC Protocol Data Unit)
- A-MSDU (Aggregated MAC Service Data Unit)
- Retry Analysis: Per-AC retry rates
23. ๐Power Save Features
- Legacy Power Save:
- PS-Poll frames (type=1, subtype=0x0a)
- TIM IE (Traffic Indication Map, ID 5)
- DTIM (Delivery TIM) broadcast tracking
- U-APSD (Unscheduled APSD):
- WMM Info Element detection
- U-APSD bit parsing
- Trigger-enabled ACs
- TWT (Target Wake Time - WiFi 6):
- TWT IE detection (ID 255, Ext 216)
- TWT agreements tracking
- Protected HE action frames (category 22)
- Individual/Broadcast TWT sessions
- Power Management:
- Power Management bit tracking (FCfield & 0x10)
- Clients in power save mode
- Power efficiency calculation
24. ๐ Bandwidth & Throughput Analysis
- Per-Client Metrics:
- Total data volume (bytes/KB/MB)
- TX/RX bandwidth separation (uplink/downlink)
- Average throughput (Kbps/Mbps)
- Data rate distribution (min/max/avg)
- MCS values and packet size statistics
- Associated APs tracking
- Per-AP Metrics:
- Total bandwidth per Access Point
- TX/RX traffic analysis
- Connected client count and identification
- SSID, channel, and throughput metrics
- Application/Protocol Identification:
- Video Streaming (YouTube, Netflix, etc.)
- Social Media (Facebook, Instagram, etc.)
- VoIP/Conferencing (Zoom, Teams, etc.)
- Gaming, File Transfer, Email protocols
- Port-based and TLS SNI domain analysis
- QUIC and RTP stream detection
- Traffic Analysis:
- Uplink/Downlink/P2P separation
- Protocol distribution (TCP/UDP/etc.)
- Top bandwidth consumers
- Application-level traffic breakdown
- Multicast/Broadcast Analysis:
- Multicast group detection and tracking
- IGMP membership monitoring (joins/leaves/queries)
- Per-client multicast bandwidth and throughput
- Video streaming multicast identification
- Per-group statistics (clients, throughput, sources)
- Broadcast traffic measurement
- Streaming group analysis with client counts
- Average throughput (Kbps/Mbps)
- Data rate distribution (min/max/avg)
- MCS values and packet size statistics
- Associated APs tracking
- Per-AP Metrics:
- Total bandwidth per Access Point
- TX/RX traffic analysis
- Connected client count and identification
- SSID, channel, and throughput metrics
- Application/Protocol Identification:
- Video Streaming (YouTube, Netflix, etc.)
- Social Media (Facebook, Instagram, etc.)
- VoIP/Conferencing (Zoom, Teams, etc.)
- Gaming, File Transfer, Email protocols
- Port-based and TLS SNI domain analysis
- QUIC and RTP stream detection
- Traffic Analysis:
- Uplink/Downlink/P2P separation
- Protocol distribution (TCP/UDP/etc.)
- Top bandwidth consumers
- Application-level traffic breakdown
Use Cases
1. ๐Security Audit
Command:
python wifilyzer.py audit.pcap
# Check Section 20: Security Analysis
Detects:
- โ Deauthentication attacks (โฅ10 frames = attack)
- โ Rogue access points (multiple BSSIDs per SSID)
- โ Evil twin networks (same SSID, different encryption)
- โ WEP networks (critical vulnerability)
- โ Weak encryption (WPA1)
- โ Open networks (no encryption)
- โ KRACK indicators (EAPOL replay attacks)
Sample Output:
โ DEAUTH ATTACK DETECTED!
Total Deauth Frames: 45
Attacker: 06:90:4c:00:00:00 (15 frames)
โ WEAK ENCRYPTION DETECTED!
[Critical] NetworkName: WEP
โ ROGUE AP INDICATORS!
SSID 'CoffeeShop': 3 different BSSIDs
2. WiFi 6/7 Validation
Command:
python wifilyzer.py wifi6_test.pcap
# Check Sections 3, 4, 10, 16, 17, 23
Validates:
- โ HE capabilities (WiFi 6)
- โ EHT capabilities (WiFi 7)
- โ BSS Color implementation
- โ TWT (Target Wake Time) support
- โ Beamforming capabilities
- โ Spatial Reuse parameters
- โ OFDMA usage
- โ Multi-Link Operation (MLO)
Sample Output:
โ WiFi 6 Detected: 7,763 packets
HE Capabilities: Present
BSS Color: 52
TWT Agreements: 3
Beamforming: Detected (7,769 occurrences)
Spatial Reuse: Enabled
3. Performance Troubleshooting
Command:
python wifilyzer.py performance.pcap
# Check Sections 18, 22 for interference and QoS
Analyzes:
- โ Channel interference (co-channel, adjacent)
- โ Hidden nodes (RTS/CTS ratio)
- โ Retry rates (per client and AC)
- โ QoS/WMM configuration
- โ Frame aggregation efficiency
- โ Noise floor levels
Sample Output:
โ Co-Channel Interference: 9 APs on channel 36
โ Hidden Nodes Detected: RTS/CTS ratio 0.98
โ High Retry Rate: 44.87%
โ QoS Detected: WMM enabled
VO: 120 frames (35%)
VI: 80 frames (23%)
4. Roaming Optimization
Command:
python wifilyzer.py roaming.pcap
# Check Sections 11, 21 for roaming and RRM
Evaluates:
- โ 802.11k (Radio Resource Management)
- โ 802.11v (BSS Transition Management)
- โ 802.11r (Fast Transition/Fast Roaming)
- โ Client steering events
- โ Roaming behavior patterns
- โ Handoff timing
Sample Output:
โ 802.11k Detected
Neighbor Reports: 12
โ 802.11v Detected
BSS Transition Events: 7,764
โ 802.11r Detected
FT Authentication: 8
Fast Roaming: Enabled
5. Client Device Profiling
Command:
python wifilyzer.py clients.pcap
# Check Section 19: Client Capabilities
Profiles:
- โ WiFi generation per device (4/5/6/7)
- โ Vendor identification (Apple, Intel, Samsung, etc.)
- โ Capability mismatches (WiFi 6 client on WiFi 7 AP)
- โ PHY rate distribution
- โ Device compatibility issues
Sample Output:
Client Capabilities:
WiFi 6: 127 clients
WiFi 5: 18 clients
Vendor Distribution:
Apple: 45 clients
Intel: 32 clients
Samsung: 28 clients
โ Capability Mismatches: 16 detected
Client aa:bb:cc:dd:ee:ff: WiFi 6 on WiFi 7 AP
Impact: Cannot utilize advanced features
6. Power Management Analysis
Command:
python wifi6_feature_detector.py power.pcap
# Check Section 23: Power Save Features
Analyzes:
- โ Legacy Power Save (PS-Poll, TIM)
- โ U-APSD deployment
- โ TWT agreements (WiFi 6)
- โ Clients in power save mode
- โ Power efficiency metrics
Sample Output:
โ Legacy Power Save Detected
PS-Poll Frames: 10
TIM Broadcasts: 7,564
โ TWT (WiFi 6) Detected
TWT Agreements: 5
Clients Using TWT: 23
Clients in Power Save: 201
Power Management Frames: 1,422
Wireshark Filters
Security Analysis
# Deauthentication frames
wlan.fc.type_subtype == 0x0c
# Disassociation frames
wlan.fc.type_subtype == 0x0a
# WEP encrypted frames
wlan.wep.key
# WPA2/WPA3 (RSN IE)
wlan.rsn.version == 1
# EAPOL (4-way handshake)
eapol
# Open networks (no privacy bit)
wlan.fc.type_subtype == 0x08 && wlan.fixed.capabilities.privacy == 0
WiFi 6/7 Features
# HE Capabilities (WiFi 6)
wlan.ext_tag.number == 35
# HE Operation (BSS Color)
wlan.ext_tag.number == 36
# EHT Capabilities (WiFi 7)
wlan.ext_tag.number == 108
# TWT IE (WiFi 6)
wlan.ext_tag.number == 216
Beamforming
# NDPA frames (control subtype 5)
wlan.fc.type_subtype == 0x15
# VHT SU beamformer capability
wlan.vht.capabilities.beamformercap == 1
# VHT MU beamformer capability
wlan.vht.capabilities.mubeamformer == 1
Spatial Reuse (BSS Color)
# HE Operation IE (contains BSS Color)
wlan.ext_tag.number == 36
# Spatial Reuse Parameter Set
wlan.ext_tag.number == 39
RRM (802.11k/v/r)
# RRM Enabled Capabilities IE
wlan.tag.number == 70
# Radio Measurement action frames (802.11k)
wlan.fixed.category_code == 5
# WNM action frames (802.11v)
wlan.fixed.category_code == 10
# Mobility Domain IE (802.11r)
wlan.tag.number == 54
# Fast BSS Transition IE (802.11r)
wlan.tag.number == 55
# FT Authentication
wlan.auth.alg == 2
QoS/WMM
# QoS Data frames
wlan.fc.type_subtype == 0x28
# Voice traffic (TID 6,7)
wlan.qos.priority == 6 || wlan.qos.priority == 7
# Video traffic (TID 4,5)
wlan.qos.priority == 4 || wlan.qos.priority == 5
# Best Effort (TID 0,3)
wlan.qos.priority == 0 || wlan.qos.priority == 3
# Background (TID 1,2)
wlan.qos.priority == 1 || wlan.qos.priority == 2
# WMM Parameter Element
wlan.wfa.ie.type == 2
Power Save
# PS-Poll frames
wlan.fc.type_subtype == 0x1a
# Power Management bit set
wlan.fc.pwrmgt == 1
# TIM IE (Traffic Indication Map)
wlan.tag.number == 5
# TWT IE (WiFi 6)
wlan.ext_tag.number == 216
# U-APSD (check WMM Info Element)
wlan.wfa.ie.type == 0
Channel Interference
# RTS frames (hidden node detection)
wlan.fc.type_subtype == 0x1b
# CTS frames
wlan.fc.type_subtype == 0x1c
# Retry bit set
wlan.fc.retry == 1
# Filter by specific channel
wlan_radio.channel == 36
Frame Type Filters
# Management frames
wlan.fc.type == 0
# Control frames
wlan.fc.type == 1
# Data frames
wlan.fc.type == 2
# Beacons
wlan.fc.type_subtype == 0x08
# Probe Request
wlan.fc.type_subtype == 0x04
# Probe Response
wlan.fc.type_subtype == 0x05
# Authentication
wlan.fc.type_subtype == 0x0b
# Association Request
wlan.fc.type_subtype == 0x00
# Association Response
wlan.fc.type_subtype == 0x01
# Reassociation Request
wlan.fc.type_subtype == 0x02
# Action frames
wlan.fc.type_subtype == 0x0d
Architecture
Main Tool
wifilyzer.py (3,200+ lines)
โโโ Core detection (Sections 1-15)
โโโ Inline detection (beamforming, spatial reuse, interference)
โโโ Module integration (5 external modules)
โโโ Report generation (23 sections)
โโโ JSON/Text export
Modular Design
detection_modules/
โโโ __init__.py # Module initialization
โโโ client_capabilities.py (220 lines)
โ โโโ OUI database (40+ vendors)
โ โโโ WiFi generation detection
โ โโโ Capability mismatch analysis
โ โโโ PHY rate distribution
โ
โโโ security_analysis.py (190 lines)
โ โโโ Deauth/disassoc attack detection
โ โโโ Rogue AP identification
โ โโโ Evil twin detection
โ โโโ Weak encryption alerts
โ โโโ KRACK indicators
โ
โโโ rrm_features.py (150 lines)
โ โโโ 802.11k detection
โ โโโ 802.11v detection
โ โโโ 802.11r detection
โ โโโ Client steering
โ
โโโ qos_analysis.py (145 lines)
โ โโโ WMM/QoS frame detection
โ โโโ EDCA parameter extraction
โ โโโ AC distribution
โ โโโ Frame aggregation
โ โโโ Retry analysis
โ
โโโ power_save.py (120 lines)
โโโ Legacy PS (PS-Poll, TIM)
โโโ U-APSD detection
โโโ TWT (WiFi 6) detection
โโโ Power management tracking
Integration Flow
- Packet Loading โ Scapy reads PCAP file
- Core Detection โ WiFi generation, channels, management frames
- Inline Detection โ Beamforming, spatial reuse, interference
- Module Detection โ 5 external modules process packets
- Report Generation โ 23 sections formatted and exported
- JSON Export โ Structured data for programmatic access
Sample Output
Report Structure
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ SECTION 1: FILE INFORMATION โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
PCAP File: capture.pcap
File Size: 2.5 MB
Total Packets: 15,053
Duration: 120 seconds
Capture Date: 2024-11-28
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ SECTION 16: BEAMFORMING ANALYSIS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ 16.1 Beamforming Detection
โ
โ โ Explicit Beamforming: DETECTED
โ Count: 7,769 occurrences
โ Details:
โ Packet #1: HE - SU:False, MU:True
โ Packet #2: HE - SU:False, MU:True
โ
โ โ NDPA Frames: NOT DETECTED
โ โ MU-MIMO Grouping: 54,040 indicators
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ SECTION 20: SECURITY ANALYSIS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ 20.1 Security Status
โ
โ โ DEAUTH ATTACK DETECTED!
โ Total Deauth Frames: 45
โ da:d8:e5:ff:ce:c2: 13 deauth frames
โ 06:90:4c:00:00:00: 15 deauth frames
โ
โ โ WEAK ENCRYPTION DETECTED!
โ [Critical] ETIFFCECA-5G: WEP
โ
โ โ WEP Networks: 23
โ
โ โ POTENTIAL EVIL TWIN DETECTED!
โ Suspicious networks: 0
โ
โ โ Rogue AP Indicators: 1
โ SSID 'ETIFFCECA-5G': 2 BSSIDs
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ SECTION 21: RRM FEATURES (802.11k/v/r) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ 21.1 802.11k (Radio Resource Management)
โ
โ โ 802.11k Detected
โ Neighbor Reports: 0
โ Beacon Reports: 0
โ
โโ 21.2 802.11v (BSS Transition Management)
โ
โ โ 802.11v Detected
โ BSS Transition Events: 7,764
โ
โโ 21.3 802.11r (Fast Transition)
โ
โ โ 802.11r: NOT DETECTED
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ SECTION 22: QoS AND WMM ANALYSIS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ 22.1 WMM/QoS Detection
โ
โ โ WMM/QoS Detected: 39 QoS frames
โ Access Category Distribution:
โ BE: 1 (2.6%)
โ
โ โ EDCA Parameters: 3 detected
โ โ Frame Aggregation (A-MPDU): 15,052
โ Retry Rate: 6.36%
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ SECTION 23: POWER SAVE FEATURES โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ 23.1 Power Save Detection
โ
โ โ Legacy Power Save Detected
โ PS-Poll Frames: 10
โ TIM Broadcasts: 7,564
โ
โ โ U-APSD: NOT DETECTED
โ โ TWT: NOT DETECTED
โ
โ Clients in Power Save: 201
โ Power Management Frames: 1,422
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
END OF REPORT
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
JSON Export Sample
{
"file_info": {
"filename": "capture.pcap",
"total_packets": 15053,
"duration": 120.5
},
"beamforming": {
"explicit_beamforming": {
"detected": true,
"count": 7769
},
"mu_mimo_grouping": {
"detected": true,
"count": 54040
}
},
"security_analysis": {
"deauth_attacks": {
"detected": true,
"total_deauth": 45,
"by_ap": {
"06:90:4c:00:00:00": 15
}
},
"weak_encryption": {
"detected": true,
"networks": [
{
"ssid": "NetworkName",
"encryption": "WEP",
"severity": "Critical"
}
]
}
},
"rrm_features": {
"802.11k": {
"detected": true,
"neighbor_reports": 0
},
"802.11v": {
"detected": true,
"bss_transition": 7764
}
}
}
Performance
Processing Speed
| Packet Count | Processing Time | Memory Usage | Report Size |
|---|---|---|---|
| 10,000 | ~1 second | 150 MB | ~650 lines |
| 50,000 | ~5 seconds | 300 MB | ~750 lines |
| 100,000 | ~15 seconds | 500 MB | ~800 lines |
| 500,000 | ~90 seconds | 1.5 GB | ~850 lines |
Optimization Tips
# Capture only relevant frames
tshark -i wlan0 -f "wlan type mgt or wlan type ctl" -w capture.pcap
# Limit capture duration
timeout 60 tshark -i wlan0 -w capture.pcap
# Filter by time window
editcap -A "2024-11-28 10:00:00" -B "2024-11-28 10:05:00" \
full.pcap filtered.pcap
# Process large files in chunks
split -l 50000 large.pcap chunk_
for f in chunk_*; do python wifi6_feature_detector.py "$f"; done
Troubleshooting
Module Import Errors
# Ensure detection_modules/ exists with all files
ls detection_modules/
# Should show: __init__.py, client_capabilities.py, security_analysis.py,
# rrm_features.py, qos_analysis.py, power_save.py
# Check Python path
python -c "import sys; print(sys.path)"
Scapy Version Issues
# Upgrade to latest Scapy (2.5.0+)
pip install --upgrade scapy
# Verify version
python -c "import scapy; print(scapy.__version__)"
Empty Analysis Sections
Cause: PCAP doesn't contain relevant frame types Solution:
- Capture longer duration
- Use monitor mode for complete frame visibility
- Check JSON output to see raw detection counts
- Verify capture includes management/control frames
Permission Denied (Linux)
# Run with sudo for monitor mode
sudo python wifilyzer.py capture.pcap
# Or change permissions
sudo chmod +x wifilyzer.py
High Memory Usage
# Process in streaming mode for large files
# Split file first
tcpdump -r large.pcap -w chunk_ -C 100
# Process each chunk
for file in chunk_*; do
python wifilyzer.py "$file"
done
Wireshark Filter Not Working
Problem: Filter syntax differs between Wireshark versions
Solution for Wireshark 4.2.0+:
- Use
wlan_radio.*for RadioTap fields - Use
wlan.ext_tag.numberfor Extension IEs - Check version:
Help โ About Wireshark
For older versions (3.x):
- Use
radiotap.*for RadioTap fields - Use
wlan.tag.numberfor standard IEs
Contributing
Contributions welcome! Here's how to add new detection modules:
Adding a New Module
- Create module file:
# detection_modules/new_feature.py
def detect_new_feature(packets):
"""Detect new WiFi feature"""
results = {
'detected': False,
'count': 0,
'details': []
}
for pkt in packets:
# Your detection logic here
if meets_criteria(pkt):
results['detected'] = True
results['count'] += 1
return results
- Add import to main file:
from detection_modules.new_feature import detect_new_feature
- Add wrapper method:
def detect_new_feature_wrapper(self):
"""Wrapper for new feature detection"""
return detect_new_feature(self.packets)
- Update run_analysis():
print("[*] Detecting new feature...")
self.results['new_feature'] = self.detect_new_feature_wrapper()
- Add report section:
def _print_new_feature_section(self):
"""Print Section XX: New Feature"""
feature = self.results.get('new_feature', {})
print("\nโ" + "=" * 98 + "โ")
print("โ" + " " * 30 + "SECTION XX: NEW FEATURE" + " " * 45 + "โ")
print("โ" + "=" * 98 + "โ\n")
# Your formatting here
Development Guidelines
- Follow PEP 8 style guide
- Include docstrings for all functions
- Add type hints where appropriate
- Write tests for new features
- Update documentation
- Add Wireshark filters for new detections
Repository Structure
wifilyzer/
โ
โโโ wifilyzer.py # Main analysis tool (3,200+ lines)
โ
โโโ detection_modules/ # External detection modules
โ โโโ __init__.py
โ โโโ client_capabilities.py # 220 lines
โ โโโ security_analysis.py # 190 lines
โ โโโ rrm_features.py # 150 lines
โ โโโ qos_analysis.py # 145 lines
โ โโโ power_save.py # 120 lines
โ
โโโ README.md # This file (comprehensive guide)
โโโ requirements.txt # Python dependencies
โโโ LICENSE # MIT License
โโโ .gitignore # Git exclusions
โ
โโโ captures/ # PCAP capture files
โ โโโ wifi61.pcap # Sample capture (15K packets)
โ
โโโ reports/ # Generated analysis reports
โ โโโ wifi61_analysis_*.txt # Text reports (748 lines)
โ โโโ wifi61_analysis_*.json # JSON exports
โ
โโโ Supporting Documentation/
โ โโโ CODE_OF_CONDUCT.md # Community guidelines
โ โโโ CONTRIBUTING.md # Contribution guide
โ โโโ SECURITY.md # Security policy
โ โโโ SUPPORT.md # Support information
โ โโโ SCAPY_LIMITATIONS.md # Known Scapy issues
โ โโโ PUBLISHING.md # PyPI publishing guide
โ
โโโ archive/ # Historical files
โโโ Old version docs
โโโ Legacy scripts
โโโ Previous test files
License
MIT License - Free to use, modify, and distribute.
See LICENSE file for full details.
Resources
Standards & Specifications
- IEEE 802.11 Working Group - WiFi standards
- WiFi Alliance - WiFi certification and specs
- IEEE 802.11ax (WiFi 6)
- IEEE 802.11be (WiFi 7)
Tools & Software
- Wireshark - Network protocol analyzer
- Scapy - Packet manipulation library
- tshark - CLI packet analyzer
- aircrack-ng - WiFi security auditing
Related Projects
- kismet - Wireless network detector and IDS
- wifite - Automated WiFi auditing tool
- bettercap - Network attack and monitoring framework
Support
Documentation
- Check VERSION_5.0_FEATURES.md for detailed technical documentation
- Review Troubleshooting section above
- Examine JSON output for raw detection data
Testing
- Use included sample:
wifi61.pcap(15K packets) - Verify all 23 sections generate
- Check module imports are successful
Community
- Report issues on GitHub
- Share use cases and findings
- Contribute new detection modules
Quick Command Reference
# Basic analysis
python wifilyzer.py capture.pcap
# View text report
cat *_analysis_*.txt
# View JSON (pretty print)
python -m json.tool *_analysis_*.json | less
# Search for security issues
grep -E "โ |ATTACK|WEAK|ROGUE" *_analysis_*.txt
# Find specific section
grep "SECTION 20" *_analysis_*.txt
# Count all detections
grep -c "โ.*DETECTED" *_analysis_*.txt
# Extract beamforming info
grep -A 10 "SECTION 16" *_analysis_*.txt
# List all warnings
grep "โ " *_analysis_*.txt
# Show WiFi generations
grep "WiFi [4567]" *_analysis_*.txt
Version History
v1.0.0 (2024-11-28) โญ Current Release
Major Features:
- โ Added 8 new detection modules (beamforming, security, RRM, QoS, power save)
- โ Modular architecture with 5 external modules (825 lines)
- โ Complete security analysis suite (deauth, rogue AP, evil twin detection)
- โ RRM features (802.11k/v/r) for optimized roaming
- โ QoS/WMM comprehensive analysis with AC distribution
- โ Power save mechanism detection (Legacy PS, U-APSD, TWT)
- โ 23 total analysis sections (up from 15)
- โ 748-line reports (up from 592)
- โ Enhanced client profiling with vendor ID and capability mismatches
Technical Changes:
-
Created
detection_modules/directory structure -
5 new module files (~825 lines total)
-
8 new wrapper methods in main class
-
Updated report generation with 8 new sections
-
Enhanced JSON output structure
-
Added 20+ Wireshark filters
-
WiFi 6/7 generation detection
-
Roaming behavior analysis
-
DFS channel detection
-
Auto channel selection
-
Airtime fairness
-
15 analysis sections
Educational Use
Perfect for:
- ๐ Network Engineers - WiFi troubleshooting, optimization, capacity planning
- ๐ Security Professionals - WiFi security auditing, threat detection, compliance
- ๐ Students - Learning WiFi protocols, 802.11 standards, network analysis
- ๐ฌ Researchers - Analyzing WiFi behavior, performance studies, protocol research
- ๐ผ IT Departments - Validating deployments, troubleshooting user issues
- ๐ข Enterprise Networks - Large-scale WiFi health monitoring and optimization
Acknowledgments
Contributors:
- Niresh Shanmugam (niresh.shanmugam@gmail.com)
Built With:
Standards:
- IEEE 802.11 working group - WiFi standards
- WiFi Alliance - Certification specifications
Inspired By:
- Real-world WiFi troubleshooting challenges
- Enterprise network optimization needs
- Security auditing requirements
WiFi Feature Detector v5.0 - Your Complete WiFi Analysis Solution ๐
Made with โค๏ธ for WiFi enthusiasts, network engineers, and security researchers
Last Updated: November 28, 2024
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wifilyzer-5.1.0.tar.gz.
File metadata
- Download URL: wifilyzer-5.1.0.tar.gz
- Upload date:
- Size: 71.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d567b29aaebb4facc393df3bcf35e7a6d93a4661e8bdf16d3305ac9b07ee6202
|
|
| MD5 |
43503de14e8a875413982637e025c20a
|
|
| BLAKE2b-256 |
a402b7005d3d0dd1ba64ca5d164fb560298d18e77f9041ebabfb33246e3742f8
|
Provenance
The following attestation bundles were made for wifilyzer-5.1.0.tar.gz:
Publisher:
publish.yml on nireshs/wifilyzer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wifilyzer-5.1.0.tar.gz -
Subject digest:
d567b29aaebb4facc393df3bcf35e7a6d93a4661e8bdf16d3305ac9b07ee6202 - Sigstore transparency entry: 732260905
- Sigstore integration time:
-
Permalink:
nireshs/wifilyzer@46fe14348998921daed1730e56e77e67ab214058 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/nireshs
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@46fe14348998921daed1730e56e77e67ab214058 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file wifilyzer-5.1.0-py3-none-any.whl.
File metadata
- Download URL: wifilyzer-5.1.0-py3-none-any.whl
- Upload date:
- Size: 61.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84f1319fe028f403f6c5ae969c89d7ab876d378c182870c8ad8a70eac7c6e127
|
|
| MD5 |
6ffb83583d702e5e4a084dff561731aa
|
|
| BLAKE2b-256 |
b6f6359fc5ba01fd1c66502d6a0e587282bd2062d257b24beb6396be9530a223
|
Provenance
The following attestation bundles were made for wifilyzer-5.1.0-py3-none-any.whl:
Publisher:
publish.yml on nireshs/wifilyzer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wifilyzer-5.1.0-py3-none-any.whl -
Subject digest:
84f1319fe028f403f6c5ae969c89d7ab876d378c182870c8ad8a70eac7c6e127 - Sigstore transparency entry: 732260907
- Sigstore integration time:
-
Permalink:
nireshs/wifilyzer@46fe14348998921daed1730e56e77e67ab214058 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/nireshs
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@46fe14348998921daed1730e56e77e67ab214058 -
Trigger Event:
workflow_dispatch
-
Statement type: