Reputation: 17
Wireshark is crashing after printing the result. The root cause is we are dumping packets into a specific file and trying to post process continuously since packets are being cut into half error is coming after printing the result since its live post processing. Help me in ignoring the error I am getting. I tried using exception handling still error is being printed.
def Validate_IP_Assignment(Capture):
try:
capture_file = pyshark.FileCapture(Capture)
host = None
assigned_ip = None
DHCP_Assigned = False
vehicle_found = 0
for packet in capture_file:
current_packet_number = int(packet.number)
if (packet.highest_layer.upper() == 'DOIP' or packet.highest_layer.upper() == 'STCSIG'):
try:
if 'vin' in packet.doip.field_names:
vehicle_found+=1
host = packet.ip.src
#if host.startswith(('192.168.88')):
#print('DHCP Assigned IP: ',host)
except Exception as e:
print(e)
print("Exception 2",packet.highest_layer.upper())
pass
canoe = CANoe()
if(vehicle_found >= 3):
print("printing the IP address")
canoe.set_SysVar('wireshark', 'DHCP_server_state_start', 1)
canoe.set_SysVar('wireshark', 'DHCP_Assigned_IP', host)
if host.startswith('192.168.88'):
canoe.set_SysVar('wireshark', 'IP_Type', 'DHCP')
elif host.startswith('169.254'): #169.254.213.31
canoe.set_SysVar('wireshark', 'IP_Type', 'AutoIP')
else:
print("IP address is not assigned")
canoe.set_SysVar('wireshark', 'DHCP_server_state_start', 0)
capture_file.close()
except pyshark.PySharkException as shark_exception:
pass
except pyshark.TSharkCrashException as tshark_exception:
pass
except Exception as e:
pass
Error after printing the result properly:
An error occurred: TShark (pid 14148) seems to have crashed (retcode: 2).
Last error line: tshark: The file "C:/Common_Configuration/wireshark106.pcap" appears to have been cut short in the middle of a packet.
Try rerunning in debug mode [ capture_obj.set_debug() ] or try updating tshark.
Exception ignored in: <function Capture.__del__ at 0x04202730>
Traceback (most recent call last):
File "C:\Users\BCML2RIG\AppData\Roaming\Python\Python39\site-packages\pyshark\capture\capture.py", line 405, in __del__
self.close()
File "C:\Users\BCML2RIG\AppData\Roaming\Python\Python39\site-packages\pyshark\capture\capture.py", line 393, in close
self.eventloop.run_until_complete(self.close_async())
File "C:\Program Files (x86)\Python39-32\lib\asyncio\base_events.py", line 647, in run_until_complete
return future.result()
File "C:\Users\BCML2RIG\AppData\Roaming\Python\Python39\site-packages\pyshark\capture\capture.py", line 397, in close_async
await self._cleanup_subprocess(process)
Try rerunning in debug mode [ capture_obj.set_debug() ] or try updating tshark.
I am controlling start and stop logging by adding logging block in .pcap format in canoe and using python to post process the logs which is being logged. According to me error is being triggered by pyshark module which is installed in the PC, not sure how to find a fix for it.
Upvotes: 1
Views: 148