40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
import re
|
|
import struct
|
|
|
|
# Helper to read uint16 from bytes
|
|
def read_u16_le(data: bytes, offset: int) -> int:
|
|
if offset + 2 > len(data):
|
|
return None
|
|
return struct.unpack_from('<H', data, offset)[0]
|
|
|
|
# Read the log file
|
|
with open("/home/prathiyuman/Prathiyuman/ContecMonitor/fiveparaminte-main/hl7_forwarder.log", "r") as f:
|
|
content = f.read()
|
|
|
|
# Find all occurrences of Hex head logging
|
|
hex_heads = re.findall(r"Raw hex \(first 32 bytes\): ([0-9a-fA-F]+)", content)
|
|
warnings = re.findall(r"unrecognized. Len: (\d+), Hex head: ([0-9a-fA-F]+)", content)
|
|
|
|
print(f"Found {len(hex_heads)} hex heads from server logging")
|
|
print(f"Found {len(warnings)} unrecognized packet hex heads")
|
|
|
|
# Also find all data packets printed or parsed in logs
|
|
# Let's inspect some of the unrecognized packets of size 56 and 45
|
|
print("\nSample of Len 56 packets:")
|
|
count = 0
|
|
for len_str, hex_str in warnings:
|
|
if len_str == "56":
|
|
print(f" {hex_str}")
|
|
count += 1
|
|
if count >= 5:
|
|
break
|
|
|
|
print("\nSample of Len 45 packets:")
|
|
count = 0
|
|
for len_str, hex_str in warnings:
|
|
if len_str == "45":
|
|
print(f" {hex_str}")
|
|
count += 1
|
|
if count >= 5:
|
|
break
|