Python 使用pyshark从Pcap文件打印tcp负载
我从这里下载pcap文件 但我犯了个错误Python 使用pyshark从Pcap文件打印tcp负载,python,python-3.x,pyshark,Python,Python 3.x,Pyshark,我从这里下载pcap文件 但我犯了个错误 Traceback (most recent call last): File "main.py", line 7, in <module> text = pkt.tcp.payload.raw_payload File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pyshark\packet
Traceback (most recent call last):
File "main.py", line 7, in <module>
text = pkt.tcp.payload.raw_payload
File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pyshark\packet\layer.py", line 36, in __getattr__
raise AttributeError()
AttributeError
回溯(最近一次呼叫最后一次):
文件“main.py”,第7行,在
text=pkt.tcp.payload.raw\u有效载荷
文件“C:\Users\User\AppData\Local\Programs\Python37-32\lib\site packages\pyshark\packet\layer.py”,第36行,位于\uu getattr__
raise AttributeError()
属性错误
为什么会这样?正在抛出此AttributeError,因为这行:
text = pkt.tcp.payload.raw_payload
在查询和打印TCP有效负载之前,需要进行一些过滤
打印输出
tcp.payload -- 7875
tcp.payload -- 2000
tcp.payload -- 7875
tcp.payload -- 0
tcp.payload -- 6
tcp.payload -- 1
tcp.payload -- 532420307
tcp.payload -- 7
tcp.payload -- 1
tcp.payload -- 2978637660
tcp.payload -- 20
tcp.payload -- 0x00000018
...truncated
这是我使用的GitHub文档。请告诉我下面的答案是否有助于解决您的AttributeError问题。
import pyshark
pcap_file = '200722_tcp_anon.pcapng'
capture = pyshark.FileCapture(pcap_file, display_filter='tcp')
for packet in capture:
field_names = packet.tcp._all_fields
field_values = packet.tcp._all_fields.values()
for field_name in field_names:
for field_value in field_values:
if field_name == 'tcp.payload':
print(f'{field_name} -- {field_value}')
tcp.payload -- 7875
tcp.payload -- 2000
tcp.payload -- 7875
tcp.payload -- 0
tcp.payload -- 6
tcp.payload -- 1
tcp.payload -- 532420307
tcp.payload -- 7
tcp.payload -- 1
tcp.payload -- 2978637660
tcp.payload -- 20
tcp.payload -- 0x00000018
...truncated