Files
StreamLens/debug_flow.py
2025-07-28 11:06:10 -04:00

61 lines
2.1 KiB
Python

#!/usr/bin/env python3
"""
Debug script to check flow data for the 192.168.7.168 source
"""
import sys
sys.path.append('.')
from analyzer.analysis.core import EthernetAnalyzer
def debug_flow():
analyzer = EthernetAnalyzer()
# Load the sample file
pcap_file = "1 PTPGM.pcapng"
print(f"Loading {pcap_file}...")
try:
analyzer.analyze_pcap(pcap_file) # Load the file
# Find the flow with source 192.168.7.168
target_flow = None
for flow in analyzer.flows.values():
if flow.src_ip == "192.168.7.168":
target_flow = flow
break
if not target_flow:
print("No flow found with source 192.168.7.168")
print("Available flows:")
for flow in analyzer.flows.values():
print(f" {flow.src_ip}:{flow.src_port} -> {flow.dst_ip}:{flow.dst_port}")
return
print(f"\n=== Flow: {target_flow.src_ip}:{target_flow.src_port} -> {target_flow.dst_ip}:{target_flow.dst_port} ===")
print(f"Frame types: {len(target_flow.frame_types)} types")
if target_flow.frame_types:
for frame_type, stats in target_flow.frame_types.items():
print(f" - {frame_type}: {stats.count} packets")
print(f"Enhanced decoder: {target_flow.enhanced_analysis.decoder_type}")
# Check the subflow logic
has_subflows_condition1 = len(target_flow.frame_types) > 1
has_subflows_condition2 = target_flow.enhanced_analysis.decoder_type != "Standard"
has_subflows = has_subflows_condition1 or has_subflows_condition2
print(f"\nSubflow logic:")
print(f" Multiple frame types (>1): {has_subflows_condition1}")
print(f" Enhanced decoder (!='Standard'): {has_subflows_condition2}")
print(f" Should show subflows: {has_subflows}")
print(f" Should show timing in main panel: {not has_subflows}")
except Exception as e:
print(f"Error: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
debug_flow()