Превью кадров шаблона пакета
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 параметр
Имя | Где | Обязательный | Тип | Описание |
|---|---|---|---|---|
| request | body | да | 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 | OK | object |
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>" }