Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何仅获取通过pyshark获得的包层的数值?_Python_Package_Wireshark_Pyshark - Fatal编程技术网

Python 如何仅获取通过pyshark获得的包层的数值?

Python 如何仅获取通过pyshark获得的包层的数值?,python,package,wireshark,pyshark,Python,Package,Wireshark,Pyshark,我正在使用pyshark从捕获文件中读取数据包。我可以访问包的sv.smpCnt层和所有值进行分析。我无法仅提取数值,而不提取文本 获得的元素B为: [<LayerField sv.smpCnt: 10848>, <LayerField sv.smpCnt: 10849>, <LayerField sv.smpCnt: 10850>, <LayerField sv.smpCnt: 10851>, <LayerField sv.smpCnt:

我正在使用pyshark从捕获文件中读取数据包。我可以访问包的
sv.smpCnt
层和所有值进行分析。我无法仅提取数值,而不提取文本

获得的元素B为:

[<LayerField sv.smpCnt: 10848>, <LayerField sv.smpCnt: 10849>, <LayerField sv.smpCnt: 10850>, <LayerField sv.smpCnt: 10851>, <LayerField sv.smpCnt: 10852>, <LayerField sv.smpCnt: 10853>, <LayerField sv.smpCnt: 10854>, <LayerField sv.smpCnt: 10855>]
我想从
B
中得到一个向量,它只包含两点之后的数值。有人能帮我吗?

试试:

pkt.sv.get_field_by_showname("name of field")
尝试:


科迪·格雷,谢谢你的回答。我按照您的建议执行了
pkt.sv.get\u field\u by\u showname(“smpCnt”)
,但我只能获取第一个字段值
10848
。我想获得only mode.Ram Ghadiyaram的所有值,我应该通过以太网实时读取数据或通过wireshark捕获读取数据。这些数据通过变电站相位计量装置(PMU)获得,格式为C37.111-1999-IEEE电力系统瞬态数据交换标准通用格式(COMTRADE)。阅读后,我必须读取数据并存储起来,以便进行处理和分析。因此,我只想存储我感兴趣的字段
smpCnt
的数值。为了使处理时间更快,我希望能以最快的速度一次性从图层中获取数据。科迪·格雷,谢谢你的回答。我按照您的建议执行了
pkt.sv.get\u field\u by\u showname(“smpCnt”)
,但我只能获取第一个字段值
10848
。我想获得only mode.Ram Ghadiyaram的所有值,我应该通过以太网实时读取数据或通过wireshark捕获读取数据。这些数据通过变电站相位计量装置(PMU)获得,格式为C37.111-1999-IEEE电力系统瞬态数据交换标准通用格式(COMTRADE)。阅读后,我必须读取数据并存储起来,以便进行处理和分析。因此,我只想存储我感兴趣的字段
smpCnt
的数值。为了使处理时间更快,我希望以最快的速度一次性从层中获取数据。
Packet (Length: 777)
Layer ETH:
    Destination: 01:0c:cd:04:00:00
    Address: 01:0c:cd:04:00:00
    .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
    Source: 00:50:c2:4f:91:99
    Type: IEC 61850/SV (Sampled Value Transmission (0x88ba)
    Address: 00:50:c2:4f:91:99
    .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Layer SV:
    APPID: 0x4000
    Length: 763
    Reserved 1: 0x0000 (0)
    Reserved 2: 0x0000 (0)
    savPdu
    noASDU: 8
    seqASDU: 8 items
    ASDU
    svID: 0000MU0102
    smpCnt: 10848
    confRef: 1
    smpSynch: local (1)
    PhsMeas1
    value: 150470
    quality: 0x00000000, validity: good, source: process
    .... .... .... .... .... .... .... ..00 = validity: good (0x0)
    .... .... .... .... .... .... .... .0.. = overflow: False
    .... .... .... .... .... .... .... 0... = out of range: False
    .... .... .... .... .... .... ...0 .... = bad reference: False
    .... .... .... .... .... .... ..0. .... = oscillatory: False
    .... .... .... .... .... .... .0.. .... = failure: False
    .... .... .... .... .... .... 0... .... = old data: False
    .... .... .... .... .... ...0 .... .... = inconsistent: False
    .... .... .... .... .... ..0. .... .... = inaccurate: False
    .... .... .... .... .... .0.. .... .... = source: process (0x0)
    .... .... .... .... .... 0... .... .... = test: False
    .... .... .... .... ...0 .... .... .... = operator blocked: False
    .... .... .... .... ..0. .... .... .... = derived: False
    ASDU
    ASDU
    ASDU
    ASDU
    ASDU
    ASDU
    ASDU
    svID: 0000MU0102
    svID: 0000MU0102
    svID: 0000MU0102
    svID: 0000MU0102
    svID: 0000MU0102
    svID: 0000MU0102
    svID: 0000MU0102
    smpCnt: 10849
    smpCnt: 10850
    smpCnt: 10851
    smpCnt: 10852
    smpCnt: 10853
    smpCnt: 10854
    smpCnt: 10855
    confRef: 1
pkt.sv.get_field_by_showname("name of field")