首页 > 解决方案 > Python 重组 PCAP JSON 数据

问题描述

我正在编写一个 Python 脚本,该脚本将读取一个pcapng文件,然后将 HTTPResponse 层中的 JSON 数据返回给我。我有一些代码在工作,但遇到了数据包不包含所有数据的问题。

from scapy.all import IP, sniff
from scapy.all import *
from scapy.layers import http
from scapy.utils import *
import json

def process_tcp_packet(packet):
    if packet.haslayer(Raw):
        l = packet.getlayer(Raw)
        k = l.load  

        try:
            p = json.loads(k)
        except Exception as e:
            print(e)
        print(p)

sniff(offline='cap.pcapng', prn=process_tcp_packet, count=7)

这是我到目前为止所拥有的,它会打印出 JSON 数据,但由于它没有得到它,所以它在try块中失败,因为它没有结尾'。我需要一种将数据包重新组合在一起的方法,因此当我解析 JSON 时,它拥有所有数据

标签: pythonjsonpython-3.xnetworking

解决方案


推荐阅读