Python 使用pyshark从Pcap文件打印tcp负载

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

我从这里下载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\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