新增来源类型
原服务签名
// http流量处理器 请求和响应放一起
service HttpFlowHandler{
rpc HttpHandleRequestReceived(httpReqGroup) returns(HttpRequestAction){}
rpc HttpHandleResponseReceived(httpReqAndRes) returns(HttpResponseAction){}
}
更改入参 回参动作不变
// http流量处理器 请求和响应放一起
service HttpFlowHandler{
rpc HttpHandleRequestReceived(httpFlowReqData) returns(HttpRequestAction){}
rpc HttpHandleResponseReceived(httpFlowResData) returns(HttpResponseAction){}
}
// http流量请求数据
message httpFlowReqData {
httpReqGroup httpReqGroup = 1;
httpFlowSource httpFlowSource = 2;
}
// http流量响应数据
message httpFlowResData{
httpReqAndRes httpReqAndRes = 1;
httpFlowSource httpFlowSource = 2;
}
// 流量来源类型
enum httpFlowSource{
NULL = 0 ; // 空值占位表示null 避免不同语言序列化后无法判断对象是否为空
SUITE = 1;
TARGET = 2;
PROXY = 3; // 代理器
SCANNER = 4;
INTRUDER = 5; // 迭代器
REPEATER = 6; // 重放器
LOGGER = 7;
SEQUENCER = 8;
DECODER = 9;
COMPARER = 10;
EXTENSIONS = 11;
RECORDED_LOGIN_REPLAYER = 12;
}
原服务签名
// 迭代处理器
service IntruderPayloadProcessorServer {
// 迭代器载荷处理
rpc IntruderPayloadProcessor(ByteData)returns(ByteData){}
}
入参更改 名称是注册迭代处理器的名称
// 迭代处理器
service IntruderPayloadProcessorServer {
// 迭代器载荷处理
rpc IntruderPayloadProcessor(PayloadProcessorData)returns(ByteData){}
}
// 迭代处理器数据 包含调用的名称用于应对多种不同类型调用
message PayloadProcessorData{
string name = 1; // 名称
bytes payload = 2; // 载荷
}
服务签名不变 入参字段添加名称 string name =4 ; // 名称
目前无法获取选中的所有下标 官方API中有函数都是似乎不能调用 推测官方未实现 暂且保留
// 迭代器 生成器
service IntruderPayloadGeneratorServer{
// 迭代器载荷生成, 服务端流 流终止就为生成结束
rpc IntruderPayloadGeneratorProvider(IntruderGeneratorData) returns (PayloadGeneratorResult){}
}
//迭代生成器 数据
message IntruderGeneratorData{
bytes contentData = 1; // http 请求模板
repeated InsertionPointOffsets insertionPointOffsets = 2; // 插入点列表
bytes IntruderInsertionPoint = 3; //插入点基值
string name =4 ; // 名称
}