61 lines
2.1 KiB
Python
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() |