Перейти к основному содержимому

Превью кадров шаблона пакета

POST
/packet-constructor/preview

Компилирует шаблон пакета и возвращает сводку программы и кадры start..start+count-1: hex-байты и значения всех полей, прочитанные из сгенерированных байт. Генератор отправит ровно эти кадры. Если переданы sources (и targets), поля в режимах fromSource и fromTarget берут значения порта-источника с номером port, а в ответе есть список портов; без них такие поля остаются по умолчанию и перечислены в info.unboundFields. Ничего не сохраняет. Ошибки шаблона возвращаются списком в data.issues с путями к полям.

Контракт

Параметр
Значение
Разделpacket-constructor
АвторизацияCookieAuth
Принимаетapplication/json
Возвращаетapplication/json

Параметры

1 параметр

Имя
Где
Обязательный
Тип
Описание
requestbodyдаobjectШаблон, номер первого кадра start и число кадров count (по умолчанию 16, не больше 1000)
  • {
      "count": 0,
      "port": 0,
      "sources": [
        {
          "agent": {
            "id": 0
          },
          "data": [
            {
              "accessGroupId": 0,
              "accessPorts": "<string>",
              "effectiveL2Policy": {},
              "interface": "<string>",
              "l2PolicySource": "network",
              "l2PolicyVersion": 0,
              "mac": {},
              "network": {},
              "networkSource": "<string>",
              "randomMac": true,
              "weight": 0
            }
          ]
        }
      ],
      "start": 0,
      "targets": [
        {
          "accessGroupId": 0,
          "accessPorts": "<string>",
          "dstMacMode": "<string>",
          "effectiveL2Policy": {
            "dstMacMode": "<string>",
            "gatewayMac": "<string>",
            "innerL2Policy": [
              0
            ],
            "outerL2Policy": [
              0
            ],
            "pcapL2Precedence": "<string>",
            "sourceMacOverrides": [
              {}
            ],
            "sourceMacPolicy": {},
            "targetMacOverrides": [
              {}
            ],
            "targetMacPolicy": {}
          },
          "gatewayMac": {
            "id": 0
          },
          "l2PolicySource": "network",
          "l2PolicyVersion": 0,
          "mac": {
            "id": 0
          },
          "network": {
            "id": 0
          },
          "networkSource": "<string>",
          "randomMac": true,
          "weight": 0
        }
      ],
      "template": {
        "frameSize": {
          "entries": [
            {}
          ],
          "max": 0,
          "min": 0,
          "mode": "<string>",
          "preset": "<string>",
          "seed": 0,
          "size": 0,
          "step": 0
        },
        "groups": [
          {
            "id": "<string>",
            "name": "<string>"
          }
        ],
        "name": "<string>",
        "payload": {
          "mode": "<string>",
          "pattern": "<string>",
          "seed": 0
        },
        "stack": [
          {
            "fields": {
              "<key>": {}
            },
            "protocol": "<string>"
          }
        ],
        "version": 0
      }
    }

Ответы

4 ответов

Статус
Описание
Тип
200
OKobject
400
Некорректное тело запроса или шаблон; для шаблона data.issues[]{path, message}object
401
Не авторизованobject
413
Тело запроса больше 8 МиБobject
  • {
      "frames": [
        {
          "hex": "<string>",
          "index": 0,
          "layers": [
            {
              "fields": [
                {}
              ],
              "length": 0,
              "name": "<string>",
              "offset": 0,
              "protocol": "<string>"
            }
          ],
          "payload": {
            "length": 0,
            "offset": 0
          },
          "size": 0
        }
      ],
      "info": {
        "fieldCycle": 0,
        "headersLength": 0,
        "layers": [
          {
            "length": 0,
            "offset": 0,
            "protocol": "<string>"
          }
        ],
        "maxFrameSize": 0,
        "minFrameSize": 0,
        "randomFields": true,
        "runtimeFields": [
          {
            "kind": "<string>",
            "offset": 0,
            "path": "<string>"
          }
        ],
        "sizeCycle": 0,
        "unboundFields": [
          "<string>"
        ]
      },
      "port": 0,
      "ports": [
        {
          "agentId": 0,
          "interface": "<string>",
          "network": "<string>"
        }
      ]
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }