|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import pyshark
import asyncio
pcap_file = 'c:/sip.cap'
capture = pyshark.FileCapture(pcap_file,display_filter='sip contains factory')
for packet in capture:
try:
if hasattr(packet, 'sip'):
field_names = packet.sip._all_fields
field_values = packet.sip._all_fields.values()
for field_name, field_value in zip(field_names, field_values):
if field_name == 'sip.msg_hdr':
print(str(field_value.split('\\xd\\xa')))
elif field_name == 'sip.msg_body':
print(field_value)
except OSError:
pass
except asyncio.TimeoutError:
pass
下面是报错信息:
Error on reading from the event loop self pipe
loop: <ProactorEventLoop running=True closed=False debug=False>
Traceback (most recent call last):
File "C:\Users\rkaura\AppData\Local\Programs\Python\Python38-32\lib\asyncio\proactor_events.py", line 777, in _loop_self_reading
f = self._proactor.recv(self._ssock, 4096)
File "C:\Users\rkaura\AppData\Local\Programs\Python\Python38-32\lib\asyncio\windows_events.py", line 445, in recv
self._register_with_iocp(conn)
File "C:\Users\rkaura\AppData\Local\Programs\Python\Python38-32\lib\asyncio\windows_events.py", line 718, in _register_with_iocp
_overlapped.CreateIoCompletionPort(obj.fileno(), self._iocp, 0, 0)
OSError: [WinError 87] The parameter is incorrect
按照提示添加了close()还是没解决问题,大家可以在自己程序上跑下,这是链接:
https://stackoverflow.com/questi ... oop-self-pipe-error
本帖最后由 isdkz 于 2022-3-4 11:13 编辑
- import pyshark
- import asyncio
- pcap_file = 'C:/sip.cap'
- capture = pyshark.FileCapture(pcap_file,display_filter='sip contains factory')
- for packet in capture:
- try:
- if hasattr(packet, 'sip'):
- field_names = packet.sip._all_fields
- field_values = packet.sip._all_fields.values()
- for field_name, field_value in zip(field_names, field_values):
- if field_name == 'sip.msg_hdr':
- print(str(field_value.split('\\xd\\xa')))
- elif field_name == 'sip.msg_body':
- print(field_value)
- except OSError:
- pass
- except asyncio.TimeoutError:
- pass
- capture.close() # 在这里加上 capture.close()
复制代码
|
-
|