python工具-解析wireshark的rtp抓包

python工具-解析wireshark的rtp抓包

抓包

将 rtp 包数据,使用 python 解析,然后根据需要,再进一步分析

  • 使用 tcpdump 或 wireshark 抓 rtp 包
  • 过滤 rtp 包,然后 ctrl+A 全选, ctrl+C 复制, ctrl+V 粘贴,得到下边这样内容的文件
log 复制代码
2777	2023-10-11 18:13:39.870534	34.203.218.59	10.221.136.184	RTP	230	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6140, Time=2892404731
2780	2023-10-11 18:13:39.870724	34.203.218.59	192.168.68.165	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6140, Time=2892404731
2781	2023-10-11 18:13:39.874006	192.168.68.165	34.203.218.59	RTP	84	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=0, Time=140163930
2789	2023-10-11 18:13:39.876967	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=2, Time=140163930[Malformed Packet]
2797	2023-10-11 18:13:39.877428	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=4, Time=140163930
2833	2023-10-11 18:13:39.886494	192.168.68.165	34.203.218.59	RTP	259	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=12, Time=140163930, Mark[Malformed Packet]
2837	2023-10-11 18:13:39.886700	192.168.68.165	34.203.218.59	RTP	160	PT=DynamicRTP-Type-96, SSRC=0x1891074E, Seq=0, Time=74781072, Mark
2841	2023-10-11 18:13:39.887322	192.168.68.165	34.203.218.59	RTP	604	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=13, Time=140168430, Mark[Malformed Packet]
2845	2023-10-11 18:13:39.891111	34.203.218.59	10.221.136.184	RTP	230	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6141, Time=2892405691
2849	2023-10-11 18:13:39.892721	192.168.68.165	34.203.218.59	RTP	160	PT=DynamicRTP-Type-96, SSRC=0x1891074E, Seq=1, Time=74781072, Mark
2853	2023-10-11 18:13:39.893076	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=14, Time=140172930
2857	2023-10-11 18:13:39.893225	192.168.68.165	34.203.218.59	RTP	765	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=15, Time=140172930, Mark
2861	2023-10-11 18:13:39.900053	192.168.68.165	34.203.218.59	RTP	1197	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=16, Time=140177430, Mark
2865	2023-10-11 18:13:39.912624	34.203.218.59	10.221.136.184	RTP	230	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6142, Time=2892406651
2869	2023-10-11 18:13:39.914207	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=17, Time=140181930
2881	2023-10-11 18:13:39.914877	192.168.68.165	34.203.218.59	RTP	364	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=20, Time=140181930, Mark[Malformed Packet]
2887	2023-10-11 18:13:39.933842	34.203.218.59	10.221.136.184	RTP	230	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6143, Time=2892407611
2891	2023-10-11 18:13:39.950241	192.168.68.165	34.203.218.59	RTP	752	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=21, Time=140186430, Mark[Malformed Packet]
2895	2023-10-11 18:13:39.950409	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=22, Time=140190930
2899	2023-10-11 18:13:39.950592	192.168.68.165	34.203.218.59	RTP	121	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=23, Time=140190930, Mark[Malformed Packet]
2903	2023-10-11 18:13:39.950805	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=24, Time=140195430
2907	2023-10-11 18:13:39.951002	192.168.68.165	34.203.218.59	RTP	643	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=25, Time=140195430, Mark

代码

python 复制代码
import sys
import os
import re
from datetime import datetime

# 定义 rtp 结构
class rtp_info:
    def __init__(self) -> None:
        self.seq = -1
        self.ts = 0  # timestamp
        self.st = None  # send time
        self.ssrc = ""
        self.pt = 0
        self.src_ip = None
        self.dst_ip = None
        self.len = 0
        self.protocol=""
        self.no=""

    def __str__(self):
        return f"seq: {self.seq}" \
        + f", ts: {self.ts}" \
        + f", st: {self.st}" \
        + f", ssrc: {self.ssrc}" \
        + f", pt: {self.pt}" \
        + f", src_ip: {self.src_ip}" \
        + f", dst_ip: {self.dst_ip}" \
        + f", len: {self.len}" \
        + f", protocol: {self.protocol}" \
        + f", no: {self.no}"

    def is_valid(self):
        if self.seq >= 0 and self.ts >= 0 and self.ssrc != "" and self.pt >= 0 and self.src_ip != "" and \
            self.dst_ip != "" and self.len > 0:
            return True
        return False

    def is_same_stream(self, info):
        if self.ssrc == info.ssrc and self.src_ip == info.src_ip and self.dst_ip == info.dst_ip and self.pt == info.pt:
            return True
        return False

# 构造 rtp 结构
def gen_rtp_info(linebits):
    info = rtp_info()
    info.seq = int(linebits["seq"])
    info.ts = int(linebits["time"])
    info.st = datetime.strptime(linebits["stime"], "%Y-%m-%d %H:%M:%S.%f")
    info.ssrc = linebits["ssrc"]
    info.pt = int(linebits["pt"])
    info.src_ip = linebits["src_ip"]
    info.dst_ip = linebits["dst_ip"]
    info.len = int(linebits["len"])
    info.protocol = linebits["protocol"]
    info.no = linebits["no"]
    if info.is_valid():
        return info
    return None

# 解析 rtp 数据
def get_cap_info(file_path):
    infos = []  # seq,time,datas
    line_count = 0
    for line in open(file_path): 
        line_count += 1
        # No.   Time                        Source          Destination     Protocol
        #                                                                       length  Info
        # 6309	2023-10-11 10:55:03.049429	192.168.68.34	54.197.199.30	RTP	1264	PT=DynamicRTP-Type-99, SSRC=0x4AF40405, Seq=913, Time=4447350
        # ([0-9]+)\t(.*\.[0-9]{6})\t(.*)\t(.*)\t(.*)\t([0-9]+)\tPT=DynamicRTP-Type-([0-9]+), SSRC=(.*), Seq=([0-9]+), Time=([0-9]+).*
        reg = re.compile('(?P<no>[0-9]+)\t(?P<stime>.*\.[0-9]{6})\t(?P<src_ip>.*)\t(?P<dst_ip>.*)\t(?P<protocol>.*)\t(?P<len>[0-9]+)\tPT=DynamicRTP-Type-(?P<pt>[0-9]+), SSRC=(?P<ssrc>.*), Seq=(?P<seq>[0-9]+), Time=(?P<time>[0-9]+).*')
        regMatch = reg.match(line)
        if regMatch:
            linebits = regMatch.groupdict()
            info = gen_rtp_info(linebits)
            if info != None:
                infos.append(info)
            else:
                print(f"not right rtp: {line}")
        else:
            print(f"not filter: {line}", end="")
    return infos

# asset 分组正确
def assert_same_stream(infos):
    if len(infos) == 1:
        return
    for info in infos:
        if ~info.is_same_stream(infos[0]):
            assert("is not stream")

# 按照指定字段对 rtp 进行分组,默认是按照 pt 分组,也可以指定为 ssrc
def filter_rtp(infos, pt=True, ssrc=None, protocol=None):
    result = {}
    for info in infos:
        key = info.pt
        if ssrc:
            key = info.ssrc
        elif protocol:
            key = info.protocol
        if key in result:
            result[key].append(info)
        else:
            result[key] = [info]

    for k,v in result.items():
        print(f"check pt: {k}")
        assert_same_stream(v)
    
    return result

# 获取抓包数据
def get_cap_data(file_path):
    infos = get_cap_info(file_path)
    print(len(infos))
    if len(infos) < 2:
        print("only have one item data")
        return

    result = filter_rtp(infos)
    for k,v in result.items():
        print(f"==========================: {k}, {len(v)}")
        # for val in v:
        #     print(val)

    result = filter_rtp(infos, ssrc=True)
    for k,v in result.items():
        print(f"==========================: {k}, {len(v)}")
    
    result = filter_rtp(infos, protocol=True)
    for k,v in result.items():
        print(f"==========================: {k}, {len(v)}")

if __name__ == "__main__":
    cur_path = os.path.dirname(os.path.realpath(__file__))
    for file_path in sys.argv[1:]:
        print(f"======= {file_path} ==========")
        get_cap_data(os.path.join(cur_path, file_path))

执行结果

bash 复制代码
>> python3 parse-rtp.py rtp.data
======= rtp.data ==========
not filter: 575 2023-10-12 13:37:56.931789      192.168.68.34   18.234.241.117  MPEG-1  1264    MPEG-1 message
not filter: 590 2023-10-12 13:37:56.962260      192.168.68.34   18.234.241.117  JPEG    1264    JPEG message
not filter: 598 2023-10-12 13:37:56.975779      192.168.68.34   18.234.241.117  MPEG-1  1264    MPEG-1 message[Malformed Packet]
not filter: 1581        2023-10-12 13:38:02.594095      192.168.68.34   18.234.241.117  MPEG TS 1264    Scrambled TS payload[Malformed Packet]
not filter: 1571        2023-10-12 13:38:02.562176      192.168.68.34   18.234.241.117  MPEG TS 1264    Scrambled TS payload
not filter: 1637        2023-10-12 13:38:03.107120      192.168.68.34   18.234.241.117  RTP EVENT       1264    Payload type=RTP Event, DTMF Eight 8
not filter: 1701        2023-10-12 13:38:03.650000      192.168.68.34   18.234.241.117  RTP EVENT       1264    Payload type=RTP Event, DTMF D
not filter: 1706        2023-10-12 13:38:03.667186      192.168.68.34   18.234.241.117  H.261   1264    H.261 message
102
check pt: 96
check pt: 99
==========================: 96, 22
==========================: 99, 80
check pt: 0x211ADEDA
check pt: 0x587068D1
check pt: 0x1891074E
check pt: 0x6246AE6A
==========================: 0x211ADEDA, 16
==========================: 0x587068D1, 78
==========================: 0x1891074E, 6
==========================: 0x6246AE6A, 2
check pt: RTP
check pt: G.723.1
==========================: RTP, 100
==========================: G.723.1, 2

rtp.data 内容如下

rtp.data 复制代码
2777	2023-10-11 18:13:39.870534	34.203.218.59	10.221.136.184	RTP	230	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6140, Time=2892404731
2778	2023-10-11 18:13:39.870534	34.203.218.59	10.221.136.184	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6140, Time=2892404731
2779	2023-10-11 18:13:39.870694	34.203.218.59	192.168.68.165	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6140, Time=2892404731
2780	2023-10-11 18:13:39.870724	34.203.218.59	192.168.68.165	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6140, Time=2892404731
2781	2023-10-11 18:13:39.874006	192.168.68.165	34.203.218.59	RTP	84	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=0, Time=140163930
2782	2023-10-11 18:13:39.874006	192.168.68.165	34.203.218.59	RTP	84	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=0, Time=140163930
2783	2023-10-11 18:13:39.874272	10.221.136.184	34.203.218.59	RTP	84	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=0, Time=140163930
2785	2023-10-11 18:13:39.874382	192.168.68.165	34.203.218.59	RTP	70	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=1, Time=140163930
2786	2023-10-11 18:13:39.874382	192.168.68.165	34.203.218.59	RTP	70	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=1, Time=140163930
2787	2023-10-11 18:13:39.874515	10.221.136.184	34.203.218.59	RTP	70	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=1, Time=140163930
2789	2023-10-11 18:13:39.876967	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=2, Time=140163930[Malformed Packet]
2790	2023-10-11 18:13:39.876967	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=2, Time=140163930[Malformed Packet]
2791	2023-10-11 18:13:39.877059	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=2, Time=140163930[Malformed Packet]
2793	2023-10-11 18:13:39.877265	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=3, Time=140163930[Malformed Packet]
2794	2023-10-11 18:13:39.877265	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=3, Time=140163930[Malformed Packet]
2795	2023-10-11 18:13:39.877378	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=3, Time=140163930[Malformed Packet]
2797	2023-10-11 18:13:39.877428	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=4, Time=140163930
2798	2023-10-11 18:13:39.877428	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=4, Time=140163930
2799	2023-10-11 18:13:39.877494	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=4, Time=140163930
2801	2023-10-11 18:13:39.880152	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=5, Time=140163930
2802	2023-10-11 18:13:39.880152	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=5, Time=140163930
2803	2023-10-11 18:13:39.880370	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=5, Time=140163930
2805	2023-10-11 18:13:39.880445	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=6, Time=140163930
2806	2023-10-11 18:13:39.880445	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=6, Time=140163930
2807	2023-10-11 18:13:39.880523	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=6, Time=140163930
2813	2023-10-11 18:13:39.884747	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=7, Time=140163930
2814	2023-10-11 18:13:39.884747	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=7, Time=140163930
2815	2023-10-11 18:13:39.884930	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=7, Time=140163930
2817	2023-10-11 18:13:39.885123	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=8, Time=140163930
2818	2023-10-11 18:13:39.885123	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=8, Time=140163930
2819	2023-10-11 18:13:39.885262	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=8, Time=140163930
2821	2023-10-11 18:13:39.885525	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=9, Time=140163930
2822	2023-10-11 18:13:39.885525	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=9, Time=140163930
2823	2023-10-11 18:13:39.885630	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=9, Time=140163930
2825	2023-10-11 18:13:39.885880	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=10, Time=140163930
2826	2023-10-11 18:13:39.885880	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=10, Time=140163930
2827	2023-10-11 18:13:39.885966	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=10, Time=140163930
2829	2023-10-11 18:13:39.886283	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=11, Time=140163930[Malformed Packet]
2830	2023-10-11 18:13:39.886283	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=11, Time=140163930[Malformed Packet]
2831	2023-10-11 18:13:39.886420	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=11, Time=140163930[Malformed Packet]
2833	2023-10-11 18:13:39.886494	192.168.68.165	34.203.218.59	RTP	259	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=12, Time=140163930, Mark[Malformed Packet]
2834	2023-10-11 18:13:39.886494	192.168.68.165	34.203.218.59	RTP	259	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=12, Time=140163930, Mark[Malformed Packet]
2835	2023-10-11 18:13:39.886646	10.221.136.184	34.203.218.59	RTP	259	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=12, Time=140163930, Mark[Malformed Packet]
2837	2023-10-11 18:13:39.886700	192.168.68.165	34.203.218.59	RTP	160	PT=DynamicRTP-Type-96, SSRC=0x1891074E, Seq=0, Time=74781072, Mark
2838	2023-10-11 18:13:39.886700	192.168.68.165	34.203.218.59	RTP	160	PT=DynamicRTP-Type-96, SSRC=0x1891074E, Seq=0, Time=74781072, Mark
2839	2023-10-11 18:13:39.886754	10.221.136.184	34.203.218.59	RTP	160	PT=DynamicRTP-Type-96, SSRC=0x1891074E, Seq=0, Time=74781072, Mark
2841	2023-10-11 18:13:39.887322	192.168.68.165	34.203.218.59	RTP	604	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=13, Time=140168430, Mark[Malformed Packet]
2842	2023-10-11 18:13:39.887322	192.168.68.165	34.203.218.59	RTP	604	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=13, Time=140168430, Mark[Malformed Packet]
2843	2023-10-11 18:13:39.887411	10.221.136.184	34.203.218.59	RTP	604	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=13, Time=140168430, Mark[Malformed Packet]
2845	2023-10-11 18:13:39.891111	34.203.218.59	10.221.136.184	RTP	230	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6141, Time=2892405691
2846	2023-10-11 18:13:39.891111	34.203.218.59	10.221.136.184	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6141, Time=2892405691
2847	2023-10-11 18:13:39.891159	34.203.218.59	192.168.68.165	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6141, Time=2892405691
2848	2023-10-11 18:13:39.891183	34.203.218.59	192.168.68.165	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6141, Time=2892405691
2849	2023-10-11 18:13:39.892721	192.168.68.165	34.203.218.59	RTP	160	PT=DynamicRTP-Type-96, SSRC=0x1891074E, Seq=1, Time=74781072, Mark
2850	2023-10-11 18:13:39.892721	192.168.68.165	34.203.218.59	RTP	160	PT=DynamicRTP-Type-96, SSRC=0x1891074E, Seq=1, Time=74781072, Mark
2851	2023-10-11 18:13:39.892926	10.221.136.184	34.203.218.59	RTP	160	PT=DynamicRTP-Type-96, SSRC=0x1891074E, Seq=1, Time=74781072, Mark
2853	2023-10-11 18:13:39.893076	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=14, Time=140172930
2854	2023-10-11 18:13:39.893076	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=14, Time=140172930
2855	2023-10-11 18:13:39.893174	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=14, Time=140172930
2857	2023-10-11 18:13:39.893225	192.168.68.165	34.203.218.59	RTP	765	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=15, Time=140172930, Mark
2858	2023-10-11 18:13:39.893225	192.168.68.165	34.203.218.59	RTP	765	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=15, Time=140172930, Mark
2859	2023-10-11 18:13:39.893290	10.221.136.184	34.203.218.59	RTP	765	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=15, Time=140172930, Mark
2861	2023-10-11 18:13:39.900053	192.168.68.165	34.203.218.59	RTP	1197	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=16, Time=140177430, Mark
2862	2023-10-11 18:13:39.900053	192.168.68.165	34.203.218.59	RTP	1197	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=16, Time=140177430, Mark
2863	2023-10-11 18:13:39.900228	10.221.136.184	34.203.218.59	RTP	1197	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=16, Time=140177430, Mark
2865	2023-10-11 18:13:39.912624	34.203.218.59	10.221.136.184	RTP	230	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6142, Time=2892406651
2866	2023-10-11 18:13:39.912624	34.203.218.59	10.221.136.184	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6142, Time=2892406651
2867	2023-10-11 18:13:39.912740	34.203.218.59	192.168.68.165	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6142, Time=2892406651
2868	2023-10-11 18:13:39.912769	34.203.218.59	192.168.68.165	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6142, Time=2892406651
2869	2023-10-11 18:13:39.914207	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=17, Time=140181930
2870	2023-10-11 18:13:39.914207	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=17, Time=140181930
2871	2023-10-11 18:13:39.914403	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=17, Time=140181930
2873	2023-10-11 18:13:39.914512	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=18, Time=140181930
2874	2023-10-11 18:13:39.914512	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=18, Time=140181930
2875	2023-10-11 18:13:39.914628	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=18, Time=140181930
2877	2023-10-11 18:13:39.914737	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=19, Time=140181930
2878	2023-10-11 18:13:39.914737	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=19, Time=140181930
2879	2023-10-11 18:13:39.914827	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=19, Time=140181930
2881	2023-10-11 18:13:39.914877	192.168.68.165	34.203.218.59	RTP	364	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=20, Time=140181930, Mark[Malformed Packet]
2882	2023-10-11 18:13:39.914877	192.168.68.165	34.203.218.59	RTP	364	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=20, Time=140181930, Mark[Malformed Packet]
2883	2023-10-11 18:13:39.915050	10.221.136.184	34.203.218.59	RTP	364	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=20, Time=140181930, Mark[Malformed Packet]
2887	2023-10-11 18:13:39.933842	34.203.218.59	10.221.136.184	RTP	230	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6143, Time=2892407611
2888	2023-10-11 18:13:39.933842	34.203.218.59	10.221.136.184	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6143, Time=2892407611
2889	2023-10-11 18:13:39.933946	34.203.218.59	192.168.68.165	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6143, Time=2892407611
2890	2023-10-11 18:13:39.933978	34.203.218.59	192.168.68.165	RTP	226	PT=DynamicRTP-Type-96, SSRC=0x211ADEDA, Seq=6143, Time=2892407611
2891	2023-10-11 18:13:39.950241	192.168.68.165	34.203.218.59	RTP	752	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=21, Time=140186430, Mark[Malformed Packet]
2892	2023-10-11 18:13:39.950241	192.168.68.165	34.203.218.59	RTP	752	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=21, Time=140186430, Mark[Malformed Packet]
2893	2023-10-11 18:13:39.950355	10.221.136.184	34.203.218.59	RTP	752	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=21, Time=140186430, Mark[Malformed Packet]
2895	2023-10-11 18:13:39.950409	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=22, Time=140190930
2896	2023-10-11 18:13:39.950409	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=22, Time=140190930
2897	2023-10-11 18:13:39.950519	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=22, Time=140190930
2899	2023-10-11 18:13:39.950592	192.168.68.165	34.203.218.59	RTP	121	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=23, Time=140190930, Mark[Malformed Packet]
2900	2023-10-11 18:13:39.950592	192.168.68.165	34.203.218.59	RTP	121	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=23, Time=140190930, Mark[Malformed Packet]
2901	2023-10-11 18:13:39.950727	10.221.136.184	34.203.218.59	RTP	121	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=23, Time=140190930, Mark[Malformed Packet]
2903	2023-10-11 18:13:39.950805	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=24, Time=140195430
2904	2023-10-11 18:13:39.950805	192.168.68.165	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=24, Time=140195430
2905	2023-10-11 18:13:39.950925	10.221.136.184	34.203.218.59	RTP	1266	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=24, Time=140195430
2907	2023-10-11 18:13:39.951002	192.168.68.165	34.203.218.59	RTP	643	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=25, Time=140195430, Mark
2908	2023-10-11 18:13:39.951002	192.168.68.165	34.203.218.59	RTP	643	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=25, Time=140195430, Mark
2909	2023-10-11 18:13:39.951148	10.221.136.184	34.203.218.59	RTP	643	PT=DynamicRTP-Type-99, SSRC=0x587068D1, Seq=25, Time=140195430, Mark
575	2023-10-12 13:37:56.931789	192.168.68.34	18.234.241.117	MPEG-1	1264	MPEG-1 message
590	2023-10-12 13:37:56.962260	192.168.68.34	18.234.241.117	JPEG	1264	JPEG message
598	2023-10-12 13:37:56.975779	192.168.68.34	18.234.241.117	MPEG-1	1264	MPEG-1 message[Malformed Packet]
1581	2023-10-12 13:38:02.594095	192.168.68.34	18.234.241.117	MPEG TS	1264	Scrambled TS payload[Malformed Packet]
1571	2023-10-12 13:38:02.562176	192.168.68.34	18.234.241.117	MPEG TS	1264	Scrambled TS payload
1637	2023-10-12 13:38:03.107120	192.168.68.34	18.234.241.117	RTP EVENT	1264	Payload type=RTP Event, DTMF Eight 8
1701	2023-10-12 13:38:03.650000	192.168.68.34	18.234.241.117	RTP EVENT	1264	Payload type=RTP Event, DTMF D
1702	2023-10-12 13:38:03.651116	192.168.68.34	18.234.241.117	G.723.1	1264	PT=DynamicRTP-Type-99, SSRC=0x6246AE6A, Seq=525, Time=2203470
1706	2023-10-12 13:38:03.667186	192.168.68.34	18.234.241.117	H.261	1264	H.261 message
3201	2023-10-12 13:38:14.011646	192.168.68.34	18.234.241.117	G.723.1	1264	PT=DynamicRTP-Type-99, SSRC=0x6246AE6A, Seq=1092, Time=3139559
相关推荐
金玉满堂@bj9 分钟前
PyCharm 中 Python 解释器的添加选项及作用
ide·python·pycharm
程序员三藏14 分钟前
如何使用Pytest进行测试?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
随心点儿1 小时前
使用python 将多个docx文件合并为一个word
开发语言·python·多个word合并为一个
不学无术の码农1 小时前
《Effective Python》第十三章 测试与调试——使用 Mock 测试具有复杂依赖的代码
开发语言·python
sleepybear11131 小时前
在Ubuntu上从零开始编译并运行Home Assistant源码并集成HACS与小米开源的Ha Xiaomi Home
python·智能家居·小米·home assistant·米家·ha xiaomi home
纪伊路上盛名在1 小时前
(鱼书)深度学习入门1:python入门
人工智能·python·深度学习
夏末蝉未鸣011 小时前
python transformers笔记(TrainingArguments类)
python·自然语言处理·transformer
德育处主任Pro1 小时前
「py数据分析」04如何将 Python 爬取的数据保存为 CSV 文件
数据库·python·数据分析
咸鱼鲸2 小时前
【PyTorch】PyTorch中数据准备工作(AI生成)
人工智能·pytorch·python
遇见你很高兴2 小时前
Pycharm中体验通义灵码来AI辅助编程
python