网络监控 - 监控接口文档

1. 文档变更列表

日期版本号作者描述
2025-11-17v1.0guinit
2025-11-25v1.1gu1. S_MONITOR_EVENT支持表示发送的CAN报文(增加了dbcMessageType、txStatusCode、txStatusReason三个字段类型)
2025-12-31v1.2gu1. 增加实时解析参数,返回参数增加payload字段
2026-02-02v1.3gu1. 增加实时解析配置参数。2. 自动缓存启动过的配置参数
2026-02-02v1.4gu1. 调整实时解析配置参数

2. 请求地址

ws://192.168.127.128:9528/monitor?ip=127.0.0.1&port=61001

3. 客户端 → 服务端消息

3.1 B_MONITOR_START_REQ(启动监控)

{
  "msgType": "B_MONITOR_START_REQ",
  "payload": {
    "monitor": {
      "canEnabled": true,
      "canChannels": [
        {
          "devIndex": null,
          "channel": null,
          "dbcFileId": null
        }
      ],
      "arxmlEnabled": true,
      "bridgeEnabled": false,
      "ethList": [
        {
          "eth": null,
          "arxmlFileId": "108_arxml"
        }
      ],
      "structLengthConfig": 0,
      "byteOrder": 0,
      "realtimeParse": true,
      "realtimeParseCanFilter": [
        1,
        232,
        29182
      ],
      "realtimeParseEthFilter": [
        21222,
        8269,
        12121
      ],
      "format": "blf",
      "record": false
    }
  }
}

B_MONITOR_START_REQ 字段说明

字段名类型说明
msgTypestring消息类型,固定为 "B_MONITOR_START_REQ"
payloadobject监控启动请求的业务数据对象
payload.monitorobject监控/抓包配置参数对象(WsMonitorRecordParamsDTO)
payload.monitor.canEnabledboolean是否启用 CAN 抓包(true=启用,false=不启用)
payload.monitor.canChannelsarray<object>CAN 通道配置数组,每个元素为一个 CanChannelDTO
payload.monitor.canChannels[].devIndexinteger / nullCAN 设备索引;在 all 模式下可为空
payload.monitor.canChannels[].channelinteger / null写入日志文件的通道号;在 all 模式下可为空
payload.monitor.canChannels[].dbcFileIdintegerDBC 文件 ID,用于解析 CAN 报文
payload.monitor.arxmlEnabledboolean是否启用 ARXML(以太网 SOME/IP)解析
payload.monitor.bridgeEnabledboolean是否启用桥接模式
payload.monitor.structLengthConfiginteger解析使用的结构体长度
payload.monitor.byteOrderinteger字节序:0标识大端,1标识小端
payload.monitor.realtimeParseboolean是否开启实时解析
payload.monitor.ethListarray<object>以太网抓包/解析配置数组,每个元素为一个 EthItemDTO
payload.monitor.ethList[].ethstring / null网口名称,例如 eth1 / eth2,在 all 模式下可为空
payload.monitor.ethList[].arxmlFileIdstringARXML 文件标识(格式:<文件ID>_<文件类型>),用于 SOME/IP 解析
payload.monitor.recordboolean是否开始录制:true=开始录制,false=仅建立监控配置但不录制
payload.monitor.formatstring录制文件的格式,可选值: "pcap"、 "blf"
payload.monitor.realtimeParseCanFilterSet实时解析过滤规则:需要实时解析的CAN报文ID
payload.monitor.realtimeParseEthFilterSet实时解析过滤规则:需要实时解析的服务serviceId

all 模式约定说明:


4. 服务端 → 客户端消息


4.1 S_MONITOR_EVENT(监控事件)

说明:此消息为服务端实时推送的监控/抓包数据,包含 CAN、SOME/IP、FDBus、DDS 等协议的原始报文。

{
  "msgType": "S_MONITOR_EVENT",
  "success": true,
  "payload": {
    "logTs": "1757001993580179",
    "logType": "SD",
    "proto": "SOMEIP",
    "serviceId": 4660,
    "instanceId": 1,
    "actionId": 4096,
    "netIf": "eth1",
    "statusCode": 0,
    "sourceAddress": "192.168.1.10:30490",
    "destAddress": "192.168.1.11:30500",
    "canRawMessage": null,
    "svcRawMessage": "0x10020A0BFFEE11...",
    "sdPackages": [
      {
        "logType": "Offer",
        "serviceId": 4660,
        "instanceId": 1,
        "majorVersion": 1,
        "sdPacketTtl": 3,
        "sdPacketSubscribeEventGroupId": null,
        "sdPacketOptions": [],
        "sdPacketEndpoints": []
      }
    ]
  }
}

S_MONITOR_EVENT 字段说明(按顺序排列)

字段名类型说明
payload.logTsstring时间戳
payload.logTypestring日志类型:Normal=标准,X=扩展,XR=扩展远程,R=远程,SD=服务发现,Request=方法请求,Response=方法响应,OneShot=单次请求,Notification=事件通知,Status=错误状态
payload.protostring协议类型:CAN、CANFD、FDBus、SOMEIP、DDS
payload.serviceIdintCAN/CANFD 为报文 ID;SOMEIP/FDBus 为服务 ID;DDS 无此字段
payload.dbcMessageTypeintCAN/CANFD 消息类型,1代表TX,即发送报文;2代表RX,即接收报文;
payload.instanceIdintSOMEIP/FDBus 的实例 ID;其他协议无此字段
payload.actionIdintSOMEIP/FDBus 的方法 ID 或事件 ID
payload.netIfstring网络接口:CAN/CANFD=设备号;SOMEIP/FDBus=eth1/eth2
payload.statusCodeint状态码(0 表示成功)
payload.txStatusCodeintCAN发送报文状态码,0 表示成功。
payload.txStatusReasonstringCAN发送报文错误原因
payload.sourceAddressstring源地址(ip:port,仅 SOMEIP/FDBus)
payload.destAddressstring目标地址(ip:port,仅 SOMEIP/FDBus)
payload.canRawMessagestringCAN/CANFD 原始报文
payload.svcRawMessagestringSOMEIP/FDBus 原始以太网报文
payload.payloadstring反序列化结果
payload.sdPackagesarraySD 服务发现报文数组,仅在 logType=SD 时出现
payload.sdPackages[].logTypestringSD 子类型,枚举如下:Offer=提供服务,Find=查找服务,SubAck=订阅确认,SubNack=订阅拒绝,StopOffer=停止提供服务,Subscribe=订阅事件,Unsubscribe=取消订阅事件。
payload.sdPackages[].serviceIdintSD 服务 ID
payload.sdPackages[].instanceIdintSD 实例 ID
payload.sdPackages[].majorVersionint服务主版本号
payload.sdPackages[].sdPacketTtlint报文 TTL(Time To Live)
payload.sdPackages[].sdPacketSubscribeEventGroupIdint/null订阅事件组 ID(仅在订阅相关类型出现)
payload.sdPackages[].sdPacketOptionsarraySD 报文附带的选项列表
payload.sdPackages[].sdPacketEndpointsarraySD 报文端点列表

说明:本消息内容为网络监控原始数据,不包含反序列化结果;不同协议下部分字段可能为空或不存在。