diff options
| author | 李佳 <[email protected]> | 2024-04-10 13:51:41 +0000 |
|---|---|---|
| committer | 李佳 <[email protected]> | 2024-04-10 13:51:41 +0000 |
| commit | 600e7eba3f0a3ffc6002d5278903892843d735a9 (patch) | |
| tree | 8fcfbcb35c10d884b2f38810759dcee094684f29 | |
| parent | c00538d6a95fced820e23c11cf238bef7bfe7fbb (diff) | |
add http_message_get_transaction_seq() API; add base64 encode format for...
39 files changed, 772 insertions, 464 deletions
diff --git a/include/http_decoder.h b/include/http_decoder.h index fe7d1c2..ef42ad2 100644 --- a/include/http_decoder.h +++ b/include/http_decoder.h @@ -108,8 +108,15 @@ int http_message_get_request_decompress_body(struct http_message *msg, int http_message_get_response_decompress_body(struct http_message *msg, struct hstring *body); +/** + * @retval succeed(0) failed(-1) +*/ int http_message_get_url(struct http_message *msg, struct hstring *url); +/** + * @retval succeed(>=0) failed(-1) +*/ +int http_message_get_transaction_seq(struct http_message *msg); #ifdef __cplusplus } diff --git a/src/http_decoder.c b/src/http_decoder.c index 68f7c58..43eb8bf 100644 --- a/src/http_decoder.c +++ b/src/http_decoder.c @@ -855,4 +855,25 @@ int http_message_get_url(struct http_message *msg, struct hstring *url) msg->ref_queue->array[msg->queue_index].req_data; return http_half_data_get_url(req_data, url); +} + +int http_message_get_transaction_seq(struct http_message *msg) +{ + if (NULL == msg) + { + return -1; + } + assert(msg->ref_queue); + assert(msg->queue_index < HD_RESULT_QUEUE_LEN); + struct http_decoder_half_data *hf_data; + if (HTTP_MESSAGE_REQ_LINE == msg->type || HTTP_MESSAGE_REQ_HEADER == msg->type || HTTP_MESSAGE_REQ_BODY == msg->type) + { + hf_data = msg->ref_queue->array[msg->queue_index].req_data; + } + else + { + hf_data = msg->ref_queue->array[msg->queue_index].res_data; + } + return http_half_data_get_transaction_seq(hf_data); + ; }
\ No newline at end of file diff --git a/src/http_decoder_half.c b/src/http_decoder_half.c index 56a7838..5772a54 100644 --- a/src/http_decoder_half.c +++ b/src/http_decoder_half.c @@ -37,6 +37,7 @@ struct http_decoder_half_data { int joint_url_complete; struct hstring joint_url; // http://<host>[:<port>]/<path>?<searchpart> + long long transaction_index; }; struct http_decoder_half { @@ -54,6 +55,7 @@ struct http_decoder_half { long long trans_counter; long long err_counter; + long long transaction_seq; }; // #define HTTP_DECODER_DEBUG @@ -126,7 +128,7 @@ static int on_message_begin(llhttp_t *http) half->http_ev_cb(half->event, &half->ref_data, half->http_ev_ctx); half->trans_counter++; - + half->ref_data->transaction_index = half->transaction_seq++; return 0; } @@ -228,11 +230,21 @@ static int on_uri(llhttp_t *http, const char *at, size_t length) static void http_decoder_cached_portion_url(struct http_decoder_half *half, const struct hstring *uri_result) { struct http_decoder_half_data *ref_data = half->ref_data; + int uri_skip_len = 0; - ref_data->joint_url.str_len = uri_result->str_len; - ref_data->joint_url.str = MEMPOOL_CALLOC(half->http_ev_ctx->ref_mempool, char, uri_result->str_len); - // ref_data->joint_url.str = (char *)malloc(uri_result->str_len); - memcpy(ref_data->joint_url.str, uri_result->str, uri_result->str_len); + if ((uri_result->str_len) > 7 && (strncasecmp("http://", uri_result->str, 7) == 0)) // absolute URI + { + uri_skip_len = strlen("http://"); + ref_data->joint_url_complete = 1; + } + else + { + ref_data->joint_url_complete = 0; + } + + ref_data->joint_url.str_len = uri_result->str_len - uri_skip_len; + ref_data->joint_url.str = MEMPOOL_CALLOC(half->http_ev_ctx->ref_mempool, char, ref_data->joint_url.str_len); + memcpy(ref_data->joint_url.str, uri_result->str+uri_skip_len, ref_data->joint_url.str_len); } /* Information-only callbacks, return value is ignored */ @@ -963,15 +975,22 @@ static void using_session_addr_as_host(struct session *ref_session, void http_decoder_join_url(struct http_decoder_half_data *hfdata, nmx_pool_t *mempool, const struct http_header *host_hdr) { - //int url_cache_str_len = strlen("http://") + host_hdr->val.str_len + hfdata->joint_url.str_len; - int url_cache_str_len = host_hdr->val.str_len + hfdata->joint_url.str_len; + int append_slash_len = 0; + if('/' != hfdata->joint_url.str[0]) + { + append_slash_len = 1; + } + int url_cache_str_len = host_hdr->val.str_len + hfdata->joint_url.str_len + append_slash_len; char *url_cache_str = MEMPOOL_CALLOC(mempool, char, url_cache_str_len); char *ptr = url_cache_str; - //memcpy(ptr, "http://", strlen("http://")); - //ptr += strlen("http://"); memcpy(ptr, host_hdr->val.str, host_hdr->val.str_len); ptr += host_hdr->val.str_len; + if(append_slash_len) + { + *ptr = '/'; + ptr++; + } memcpy(ptr, hfdata->joint_url.str, hfdata->joint_url.str_len); MEMPOOL_FREE(mempool, hfdata->joint_url.str); // free the cached uri buffer @@ -1031,4 +1050,9 @@ int http_half_data_get_url(struct http_decoder_half_data *res_data, struct hstri url->str_len = res_data->joint_url.str_len; return 0; +} + +int http_half_data_get_transaction_seq(struct http_decoder_half_data *hf_data) +{ + return hf_data->transaction_index; }
\ No newline at end of file diff --git a/src/http_decoder_half.h b/src/http_decoder_half.h index 0fcd0b6..ebe7e00 100644 --- a/src/http_decoder_half.h +++ b/src/http_decoder_half.h @@ -111,6 +111,7 @@ int http_decoder_join_url_finally(struct http_event_context *ev_ctx, struct http_decoder_half_data *hfdata, nmx_pool_t *mempool); int http_half_data_get_url(struct http_decoder_half_data *res_data, struct hstring *url); +int http_half_data_get_transaction_seq(struct http_decoder_half_data *hf_data); #ifdef __cplusplus } diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 42d2fad..e7aa83e 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -12,7 +12,7 @@ include_directories(/usr/local/include/cjson) include_directories(/opt/tsg/framework/include/stellar) include_directories(/opt/MESA/include/MESA) -add_executable(gtest_http_decoder http_decoder_driver.cpp http_decoder_stub.cpp http_decoder_gtest.cpp md5.c) +add_executable(gtest_http_decoder http_decoder_driver.cpp http_decoder_stub.cpp http_decoder_gtest.cpp md5.c base64.c) link_directories(${CMAKE_BINARY_DIR}/src) target_link_libraries(gtest_http_decoder http_decoder gtest pcap MESA_jump_layer cjson-static) diff --git a/test/base64.c b/test/base64.c new file mode 100644 index 0000000..eeded25 --- /dev/null +++ b/test/base64.c @@ -0,0 +1,164 @@ +/* This is a public domain base64 implementation written by WEI Zhicheng. */ + +#include "base64.h" + +#define BASE64_PAD '=' +#define BASE64DE_FIRST '+' +#define BASE64DE_LAST 'z' + +/* BASE 64 encode table */ +static const char base64en[] = { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', + 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', + 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', + 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', + 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', + 'w', 'x', 'y', 'z', '0', '1', '2', '3', + '4', '5', '6', '7', '8', '9', '+', '/', +}; + +/* ASCII order for BASE 64 decode, 255 in unused character */ +static const unsigned char base64de[] = { + /* nul, soh, stx, etx, eot, enq, ack, bel, */ + 255, 255, 255, 255, 255, 255, 255, 255, + + /* bs, ht, nl, vt, np, cr, so, si, */ + 255, 255, 255, 255, 255, 255, 255, 255, + + /* dle, dc1, dc2, dc3, dc4, nak, syn, etb, */ + 255, 255, 255, 255, 255, 255, 255, 255, + + /* can, em, sub, esc, fs, gs, rs, us, */ + 255, 255, 255, 255, 255, 255, 255, 255, + + /* sp, '!', '"', '#', '$', '%', '&', ''', */ + 255, 255, 255, 255, 255, 255, 255, 255, + + /* '(', ')', '*', '+', ',', '-', '.', '/', */ + 255, 255, 255, 62, 255, 255, 255, 63, + + /* '0', '1', '2', '3', '4', '5', '6', '7', */ + 52, 53, 54, 55, 56, 57, 58, 59, + + /* '8', '9', ':', ';', '<', '=', '>', '?', */ + 60, 61, 255, 255, 255, 255, 255, 255, + + /* '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', */ + 255, 0, 1, 2, 3, 4, 5, 6, + + /* 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', */ + 7, 8, 9, 10, 11, 12, 13, 14, + + /* 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', */ + 15, 16, 17, 18, 19, 20, 21, 22, + + /* 'X', 'Y', 'Z', '[', '\', ']', '^', '_', */ + 23, 24, 25, 255, 255, 255, 255, 255, + + /* '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', */ + 255, 26, 27, 28, 29, 30, 31, 32, + + /* 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', */ + 33, 34, 35, 36, 37, 38, 39, 40, + + /* 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', */ + 41, 42, 43, 44, 45, 46, 47, 48, + + /* 'x', 'y', 'z', '{', '|', '}', '~', del, */ + 49, 50, 51, 255, 255, 255, 255, 255 +}; + +unsigned int +base64_encode(const unsigned char *in, unsigned int inlen, char *out) +{ + int s; + unsigned int i; + unsigned int j; + unsigned char c; + unsigned char l; + + s = 0; + l = 0; + for (i = j = 0; i < inlen; i++) { + c = in[i]; + + switch (s) { + case 0: + s = 1; + out[j++] = base64en[(c >> 2) & 0x3F]; + break; + case 1: + s = 2; + out[j++] = base64en[((l & 0x3) << 4) | ((c >> 4) & 0xF)]; + break; + case 2: + s = 0; + out[j++] = base64en[((l & 0xF) << 2) | ((c >> 6) & 0x3)]; + out[j++] = base64en[c & 0x3F]; + break; + } + l = c; + } + + switch (s) { + case 1: + out[j++] = base64en[(l & 0x3) << 4]; + out[j++] = BASE64_PAD; + out[j++] = BASE64_PAD; + break; + case 2: + out[j++] = base64en[(l & 0xF) << 2]; + out[j++] = BASE64_PAD; + break; + } + + out[j] = 0; + + return j; +} + +unsigned int +base64_decode(const char *in, unsigned int inlen, unsigned char *out) +{ + unsigned int i; + unsigned int j; + unsigned char c; + + if (inlen & 0x3) { + return 0; + } + + for (i = j = 0; i < inlen; i++) { + if (in[i] == BASE64_PAD) { + break; + } + if (in[i] < BASE64DE_FIRST || in[i] > BASE64DE_LAST) { + return 0; + } + + c = base64de[(unsigned char)in[i]]; + if (c == 255) { + return 0; + } + + switch (i & 0x3) { + case 0: + out[j] = (c << 2) & 0xFF; + break; + case 1: + out[j++] |= (c >> 4) & 0x3; + out[j] = (c & 0xF) << 4; + break; + case 2: + out[j++] |= (c >> 2) & 0xF; + out[j] = (c & 0x3) << 6; + break; + case 3: + out[j++] |= c; + break; + } + } + + return j; +} diff --git a/test/base64.h b/test/base64.h new file mode 100644 index 0000000..9bea95a --- /dev/null +++ b/test/base64.h @@ -0,0 +1,28 @@ +#ifndef BASE64_H +#define BASE64_H + +#define BASE64_ENCODE_OUT_SIZE(s) ((unsigned int)((((s) + 2) / 3) * 4 + 1)) +#define BASE64_DECODE_OUT_SIZE(s) ((unsigned int)(((s) / 4) * 3)) + +#ifdef __cplusplus +extern "C" +{ +#endif +/* + * out is null-terminated encode string. + * return values is out length, exclusive terminating `\0' + */ +unsigned int +base64_encode(const unsigned char *in, unsigned int inlen, char *out); + +/* + * return values is out length + */ +unsigned int +base64_decode(const char *in, unsigned int inlen, unsigned char *out); + +#ifdef __cplusplus +} +#endif + +#endif /* BASE64_H */ diff --git a/test/http_decoder_driver.cpp b/test/http_decoder_driver.cpp index b1e24dc..14156e4 100644 --- a/test/http_decoder_driver.cpp +++ b/test/http_decoder_driver.cpp @@ -23,6 +23,7 @@ #include <pcap/pcap.h> #include "http_decoder_gtest.h" #include "MESA_jump_layer.h" +#include "base64.h" extern "C" int http_decoder_entry(struct session *sess, int events, const struct packet *pkt, void *cb_arg); @@ -42,10 +43,12 @@ static const struct option hdgt_cla_long_options[] = {NULL, 0, NULL, 0}}; static const char *g_data_src_json_non_headers[] = { - "__X_HTTP_TUPLE4", - "__X_HTTP_TRANSACTION", - "__X_HTTP_RESULT_INDEX", - "__X_HTTP_URL", + GTEST_HTTP_URL_NAME, + GTEST_HTTP_TRANS_NAME, + GTEST_HTTP_TRANS_SEQ_NAME, + GTEST_HTTP_TUPLE4_NAME, + GTEST_HTTP_PAYLOAD_NAME, + GTEST_HTTP_PAYLOAD_MD5_NAME, "method", "uri", "req_version", @@ -379,6 +382,23 @@ static void hdgt_get_headers_from_json(struct data_src_json_para_t *data_src_jso sprintf(data_ptr, "\r\n"); // headers EOF } +static void hdgt_get_body_from_json(struct data_src_json_para_t *data_src_json_para) +{ + cJSON *json_root = data_src_json_para->current_object; + char *data_ptr = data_src_json_para->key_value_buf + strlen(data_src_json_para->key_value_buf); + + // todo, support gzip, deflate, etc. + // todo, cjson not support binary data, need base64 encode/decode + cJSON *json_body = cJSON_GetObjectItem(json_root, GTEST_HTTP_PAYLOAD_NAME); + if (json_body) + { + int base64_cont_len = strlen(json_body->valuestring); + char *raw_cont_buf = (char *)calloc(1, base64_cont_len + 1); + int raw_cont_len = base64_decode(json_body->valuestring, base64_cont_len, (unsigned char *)raw_cont_buf); + sprintf(data_ptr, "%s", raw_cont_buf); + } +} + static int hdgt_update_packet_detail_by_json(struct fake_stellar *fst, struct fake_packet *fpkt) { fpkt->dir = hdgt_get_packet_dir_from_json(fst->data_src_json_para.current_object); @@ -398,6 +418,8 @@ static int hdgt_update_packet_detail_by_json(struct fake_stellar *fst, struct fa } hdgt_get_headers_from_json(&fst->data_src_json_para); + hdgt_get_body_from_json(&fst->data_src_json_para); + fpkt->payload_data = fst->data_src_json_para.key_value_buf; fpkt->payload_data_len = strlen(fst->data_src_json_para.key_value_buf); fpkt->payload_submit_offset = 0; @@ -484,16 +506,43 @@ static void hdgt_determine_packet_dir(struct fake_session *fses, struct fake_pac } } -static void hdgt_update_packet_payload(struct fake_packet *fpkt, const struct tcphdr *th) +static void hdgt_update_packet_payload(struct fake_packet *fpkt, const struct tcphdr *th, int from_tcp_len) { // todo, support UDP? fpkt->payload_data = (char *)th + th->th_off * 4; +#if 0 + /* for ethernet, maybe end with padding bytes, must not use packet length, use ip header len */ fpkt->payload_data_len = fpkt->raw_pkt_data_len - ((char *)th - fpkt->raw_pkt_data) - (th->th_off * 4); +#else + fpkt->payload_data_len = from_tcp_len - (th->th_off * 4); +#endif fpkt->payload_submit_offset = 0; } static int hdgt_update_packet_detail_by_pcap(struct fake_session *fses, struct fake_packet *fpkt) { + size_t from_tcp_len = 0; + if (SESSION_ADDR_TYPE_IPV4_TCP == fses->addr_type) + { + struct ip *i4h = (struct ip *)MESA_jump_layer_greedy(fpkt->raw_pkt_data, ADDR_TYPE_MAC, ADDR_TYPE_IPV4); + if (NULL == i4h) + { + DEBUG_PRINT("Not found ipv4 header!\n"); + return -1; + } + from_tcp_len = ntohs(i4h->ip_len) - i4h->ip_hl * 4; + } + else + { + struct ip6_hdr *i6h = (struct ip6_hdr *)MESA_jump_layer_greedy(fpkt->raw_pkt_data, ADDR_TYPE_MAC, ADDR_TYPE_IPV6); + if (NULL == i6h) + { + DEBUG_PRINT("Not found ipv6 header!\n"); + return -1; + } + from_tcp_len = ntohs(i6h->ip6_plen); + } + struct tcphdr *th = (struct tcphdr *)MESA_jump_layer_greedy(fpkt->raw_pkt_data, ADDR_TYPE_MAC, ADDR_TYPE_TCP); if (NULL == th) { @@ -502,7 +551,7 @@ static int hdgt_update_packet_detail_by_pcap(struct fake_session *fses, struct f } hdgt_determine_packet_dir(fses, fpkt, th); - hdgt_update_packet_payload(fpkt, th); + hdgt_update_packet_payload(fpkt, th, from_tcp_len); return 0; } @@ -691,6 +740,7 @@ static struct session_addr *hgdt_get_session_addr_by_json(struct fake_session *f cJSON *tuple4_obj = cJSON_GetObjectItem(fses->fst->data_src_json_para.current_object, GTEST_HTTP_TUPLE4_NAME); if (NULL == tuple4_obj) { + fprintf(stderr, "Not found tuple4 object!\n"); return NULL; } fses->addr = MMALLOC(struct session_addr, sizeof(struct session_addr)); @@ -752,6 +802,17 @@ static int hdgt_data_source_init(struct fake_stellar *fst) return 0; } +static void hdgt_prune_non_result_item(cJSON *benchmark_json_root) +{ + int array_size = cJSON_GetArraySize(benchmark_json_root); + + for (int i = 0; i < array_size; i++) + { + cJSON *object_root = cJSON_GetArrayItem(benchmark_json_root, i); + cJSON_DeleteItemFromObject(object_root, GTEST_HTTP_PAYLOAD_NAME); + } +} + static int hdgt_benchmakr_json_parse(struct fake_stellar *fst) { char *file_cont = hdgt_get_file_content(fst->benchmark_json_file_name); @@ -769,6 +830,8 @@ static int hdgt_benchmakr_json_parse(struct fake_stellar *fst) } fst->http_plug_test_result_root = cJSON_CreateArray(); MFREE(file_cont); + + hdgt_prune_non_result_item(fst->load_benchmark_json_root); return 0; } diff --git a/test/http_decoder_gtest.cpp b/test/http_decoder_gtest.cpp index b43fa66..4f21955 100644 --- a/test/http_decoder_gtest.cpp +++ b/test/http_decoder_gtest.cpp @@ -37,7 +37,7 @@ enum http_transaction_type { HTTP_TRANSACTION_REQ = 0, HTTP_TRANSACTION_RES, - HTTP_TRANSACTION_SESSION, + HTTP_TRANSACTION_SESSION, // global session info HTTP_TRANSACTION_MAX }; @@ -146,6 +146,11 @@ int http_field_to_json(cJSON *object, const char *key, char *val, size_t val_len return 0; } +void transaction_index_to_json(cJSON *ctx, int transaction_index) +{ + cJSON_AddNumberToObject(ctx, GTEST_HTTP_TRANS_SEQ_NAME, transaction_index); +} + void req_line_to_json(cJSON *ctx, struct http_request_line *req_line) { http_field_to_json(ctx, "method", req_line->method.str, @@ -214,7 +219,8 @@ void http_url_add_to_json(cJSON *ctx, struct http_message *msg) } // Full duplex -static void commit_last_half_flow_data(struct session *sess, struct gtest_plug_exdata_t *gtest_plug_exdata, enum http_transaction_type type) +static void commit_last_half_flow_data(struct session *sess, struct gtest_plug_exdata_t *gtest_plug_exdata, + struct http_message *msg, enum http_transaction_type type) { char result_name[MAX_KEY_STR_LEN] = {0}; @@ -252,6 +258,10 @@ static void commit_last_half_flow_data(struct session *sess, struct gtest_plug_e { cJSON_AddStringToObject(gtest_plug_exdata->result_jnode[type], GTEST_HTTP_TRANS_NAME, "response"); } + if (msg) + { + transaction_index_to_json(gtest_plug_exdata->result_jnode[type], http_message_get_transaction_seq(msg)); + } } static void http_decoder_test_update_session_tuple4(struct session *sess, struct gtest_plug_exdata_t *gtest_plug_exdata) @@ -298,7 +308,7 @@ http_decoder_test_entry(struct session *sess, int topic_id, const void *data, switch (msg_type) { case HTTP_MESSAGE_REQ_LINE: - commit_last_half_flow_data(sess, gtest_plug_exdata, HTTP_TRANSACTION_REQ); + commit_last_half_flow_data(sess, gtest_plug_exdata, msg, HTTP_TRANSACTION_REQ); http_message_get_request_line(msg, &req_line); req_line_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ], &req_line); break; @@ -318,7 +328,7 @@ http_decoder_test_entry(struct session *sess, int topic_id, const void *data, append_http_payload(sess, gtest_plug_exdata, &body, HTTP_TRANSACTION_REQ); break; case HTTP_MESSAGE_RES_LINE: - commit_last_half_flow_data(sess, gtest_plug_exdata, HTTP_TRANSACTION_RES); + commit_last_half_flow_data(sess, gtest_plug_exdata, msg, HTTP_TRANSACTION_RES); http_message_get_response_line(msg, &res_line); res_line_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES], &res_line); break; @@ -353,11 +363,11 @@ void http_decoder_test_exdata_free(struct session *sess, int idx, void *ex_ptr, struct gtest_plug_exdata_t *gtest_plug_exdata = (struct gtest_plug_exdata_t *)ex_ptr; if (gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ]) { - commit_last_half_flow_data(sess, gtest_plug_exdata, HTTP_TRANSACTION_REQ); + commit_last_half_flow_data(sess, gtest_plug_exdata, NULL, HTTP_TRANSACTION_REQ); } if (gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES]) { - commit_last_half_flow_data(sess, gtest_plug_exdata, HTTP_TRANSACTION_RES); + commit_last_half_flow_data(sess, gtest_plug_exdata, NULL, HTTP_TRANSACTION_RES); } free(ex_ptr); } diff --git a/test/http_decoder_gtest.h b/test/http_decoder_gtest.h index 4412504..b58def3 100644 --- a/test/http_decoder_gtest.h +++ b/test/http_decoder_gtest.h @@ -34,17 +34,14 @@ #define EX_DATA_MAX_SIZE 10 #define PIPELINE_MAX_NUM 8 -#define KEY_NAME_REQ_LINE "__REQ_LINE__" -#define KEY_NAME_RES_LINE "__RES_LINE__" -#define KEY_NAME_REQ_URL "__REQ_URL__" -#define KEY_NAME_PAYLOAD_MD5 "__PAYLOAD_MD5__" - #define GTEST_FIX_PAYLOAD_CSTR "<Hello http decoder World!!!>" #define GTEST_FIX_PAYLOAD_MD5 "e91e072f772737c7a45013cc3b1a916c" #define GTEST_HTTP_URL_NAME "__X_HTTP_URL" #define GTEST_HTTP_TRANS_NAME "__X_HTTP_TRANSACTION" +#define GTEST_HTTP_TRANS_SEQ_NAME "__X_HTTP_TRANSACTION_SEQ" #define GTEST_HTTP_TUPLE4_NAME "__X_HTTP_TUPLE4" +#define GTEST_HTTP_PAYLOAD_NAME "__X_HTTP_PAYLOAD" #define GTEST_HTTP_PAYLOAD_MD5_NAME "__X_HTTP_PAYLOAD_MD5" struct fake_exdata_manage diff --git a/test/http_decoder_stub.cpp b/test/http_decoder_stub.cpp index c879630..77a1483 100644 --- a/test/http_decoder_stub.cpp +++ b/test/http_decoder_stub.cpp @@ -30,7 +30,7 @@ extern "C" assert(node != NULL || name != NULL); if (g_fake_stellar->http_plug_test_result_root) { - cJSON_AddStringToObject(node, "__X_HTTP_RESULT_INDEX", name); + // cJSON_AddStringToObject(node, "__X_HTTP_RESULT_INDEX", name); cJSON_AddItemToArray(g_fake_stellar->http_plug_test_result_root, node); return 0; } diff --git a/test/http_pcap/http_over_tcp_keepalive.pcap b/test/http_pcap/http_over_tcp_keepalive.pcap Binary files differindex 5b2db18..e8d9a34 100644 --- a/test/http_pcap/http_over_tcp_keepalive.pcap +++ b/test/http_pcap/http_over_tcp_keepalive.pcap diff --git a/test/test_result_json/http_6over4_single_trans.json b/test/test_result_json/http_6over4_single_trans.json index d4ba763..6c0435b 100644 --- a/test/test_result_json/http_6over4_single_trans.json +++ b/test/test_result_json/http_6over4_single_trans.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "2001:da8:200:900e:200:5efe:d24d:58a3.52556>2600:140e:6::1702:1058.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "2001:da8:200:900e:200:5efe:d24d:58a3.52556>2600:140e:6::1702:1058.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/ncsi.txt", "req_version": "1.1", @@ -13,11 +13,11 @@ "Connection": "Close", "User-Agent": "Microsoft NCSI", "Host": "www.msftncsi.com", - "__X_HTTP_URL": "www.msftncsi.com/ncsi.txt", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "www.msftncsi.com/ncsi.txt" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -28,7 +28,7 @@ "Connection": "close", "Content-Type": "text/plain", "Cache-Control": "max-age=30, must-revalidate", - "__X_HTTP_PAYLOAD_MD5": "cd5a4d3fdd5bffc16bf959ef75cf37bc", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "cd5a4d3fdd5bffc16bf959ef75cf37bc", + "__X_HTTP_PAYLOAD": "TWljcm9zb2Z0IE5DU0k=" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_chunked_res_gzip.json b/test/test_result_json/http_chunked_res_gzip.json index d60d69b..0889c3c 100644 --- a/test/test_result_json/http_chunked_res_gzip.json +++ b/test/test_result_json/http_chunked_res_gzip.json @@ -1,42 +1,45 @@ -[{ - "__X_HTTP_TUPLE4": "127.0.0.1.33412>127.0.0.1.8080", - "__X_HTTP_RESULT_INDEX": "0" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Host": "www.wireshark.org:8080", - "User-Agent": "curl/7.46.0", - "Accept": "*/*", - "Connection": "close", - "Accept-Encoding": "chunked, gzip", - "__X_HTTP_URL": "www.wireshark.org:8080/", - "__X_HTTP_RESULT_INDEX": "1" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "cloudflare-nginx", - "Date": "Wed, 06 Jan 2016 20:42:10 GMT", - "Content-Type": "text/html", - "Transfer-Encoding": "chunked", - "Connection": "close", - "Set-Cookie": "__cfduid=d8d37b52eaa3137bdfd7fd67a4ffc8a7a1452112929; expires=Thu, 05-Jan-17 20:42:09 GMT; path=/; domain=.wireshark.org; HttpOnly", - "X-Frame-Options": "SAMEORIGIN", - "Strict-Transport-Security": "max-age=31536000;", - "X-Slogan": "It's a great product with a great story to tell. I'm pumped!", - "X-Mod-Pagespeed": "1.9.32.11-7550", - "Vary": "Accept-Encoding", - "Cache-control": "max-age=0, no-cache, no-store", - "X-Slogan1": "Go deep.", - "CF-RAY": "260a3f709d7b0761-AMS", - "Content-Encoding": "gzip", - "__X_HTTP_PAYLOAD_MD5": "855f8310be999de806e89a420a95435d", - "__X_HTTP_RESULT_INDEX": "2" - }] +[ + { + "__X_HTTP_TUPLE4": "127.0.0.1.33412>127.0.0.1.8080" + }, + { + "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, + "method": "GET", + "uri": "/", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Host": "www.wireshark.org:8080", + "User-Agent": "curl/7.46.0", + "Accept": "*/*", + "Connection": "close", + "Accept-Encoding": "chunked, gzip", + "__X_HTTP_URL": "www.wireshark.org:8080/" + }, + { + "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "cloudflare-nginx", + "Date": "Wed, 06 Jan 2016 20:42:10 GMT", + "Content-Type": "text/html", + "Transfer-Encoding": "chunked", + "Connection": "close", + "Set-Cookie": "__cfduid=d8d37b52eaa3137bdfd7fd67a4ffc8a7a1452112929; expires=Thu, 05-Jan-17 20:42:09 GMT; path=/; domain=.wireshark.org; HttpOnly", + "X-Frame-Options": "SAMEORIGIN", + "Strict-Transport-Security": "max-age=31536000;", + "X-Slogan": "It's a great product with a great story to tell. I'm pumped!", + "X-Mod-Pagespeed": "1.9.32.11-7550", + "Vary": "Accept-Encoding", + "Cache-control": "max-age=0, no-cache, no-store", + "X-Slogan1": "Go deep.", + "CF-RAY": "260a3f709d7b0761-AMS", + "Content-Encoding": "gzip", + "__X_HTTP_PAYLOAD_MD5": "855f8310be999de806e89a420a95435d" + } +]
\ No newline at end of file diff --git a/test/test_result_json/http_get_encoded_uri.json b/test/test_result_json/http_get_encoded_uri.json index e6c72bd..fe57717 100644 --- a/test/test_result_json/http_get_encoded_uri.json +++ b/test/test_result_json/http_get_encoded_uri.json @@ -1,73 +1,78 @@ -[{ - "__X_HTTP_TUPLE4": "192.168.117.60.39655>58.16.70.122.80", - "__X_HTTP_RESULT_INDEX": "0" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "POST", - "uri": "/disAll/tcCertType.html", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36", - "Accept": "*/*", - "Accept-Language": "en-US,en;q=0.8,en-us,en;q=0.5", - "Origin": "http://58.16.70.122", - "X-Requested-With": "XMLHttpRequest", - "Referer": "http://58.16.70.122/register.jsp?redirect:http://58.16.70.122.r87.com/?", - "Cache-Control": "no-cache", - "X-Scanner": "Netsparker", - "Cookie": "JSESSIONID=385C79E211D561C0CA13D90F150F603D", - "Host": "58.16.70.122", - "Content-Length": "0", - "Accept-Encoding": "gzip, deflate", - "__X_HTTP_URL": "58.16.70.122/disAll/tcCertType.html", - "__X_HTTP_RESULT_INDEX": "1" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "Apache-Coyote/1.1", - "Pragma": "No-cache", - "Expires": "Thu, 01 Jan 1970 00:00:00 GMT", - "Content-Type": "text/html;charset=UTF-8", - "Transfer-Encoding": "chunked", - "Date": "Sat, 18 May 2019 01:36:57 GMT", - "__X_HTTP_PAYLOAD_MD5": "d545e0faf20f7ffe90e31cfc1aef1782", - "__X_HTTP_RESULT_INDEX": "2" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/upload/%E6%B3%95%E5%BE%8B%E6%B3%95%E8%A7%84/%E5%B8%82%E4%BA%BA%E6%B0%91%E6%94%BF%E5%BA%9C%E5%8A%9E%E5%85%AC%E5%8E%85%E5%8D%B0%E5%8F%91%E8%B4%B5%E9%98%B3%E5%B8%82%E5%85%B3%E4%BA%8E%E6%8E%A8%E8%BF%9B%E5%B7%A5%E5%95%86%E8%90%A5%E4%B8%9A%E6%89%A7%E7%85%A7%E3%80%81%E7%BB%84%E7%BB%87%E6%9C%BA%E6%9E%84%E4%BB%A3%E7%A0%81%E8%AF%81%E5%92%8C%E7%A8%8E%E5%8A%A1%E7%99%BB%E8%AE%B0%E8%AF%81%E2%80%9C%E4%B8%89%E8%AF%81%E5%90%88%E4%B8%80%E2%80%9D%E7%99%BB%E8%AE%B0%E5%88%B6%E5%BA%A6%E6%94%B9%E9%9D%A9%E5%AE%9E%E6%96%BD%E6%96%B9%E6%A1%88%E7%9A%84%E9%80%9A%E7%9F%A5%EF%BC%88%E7%AD%91%E5%BA%9C%E5%8A%9E%E5%87%BD%E3%80%902015%E3%80%91162%E5%8F%B7%EF%BC%89.docx?nsextt=N3TSP4RKE2", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", - "User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36", - "Cache-Control": "no-cache", - "Accept-Language": "en-us,en;q=0.5", - "X-Scanner": "Netsparker", - "Cookie": "JSESSIONID=385C79E211D561C0CA13D90F150F603D", - "Host": "58.16.70.122", - "Accept-Encoding": "gzip, deflate", - "__X_HTTP_URL": "58.16.70.122/upload/%E6%B3%95%E5%BE%8B%E6%B3%95%E8%A7%84/%E5%B8%82%E4%BA%BA%E6%B0%91%E6%94%BF%E5%BA%9C%E5%8A%9E%E5%85%AC%E5%8E%85%E5%8D%B0%E5%8F%91%E8%B4%B5%E9%98%B3%E5%B8%82%E5%85%B3%E4%BA%8E%E6%8E%A8%E8%BF%9B%E5%B7%A5%E5%95%86%E8%90%A5%E4%B8%9A%E6%89%A7%E7%85%A7%E3%80%81%E7%BB%84%E7%BB%87%E6%9C%BA%E6%9E%84%E4%BB%A3%E7%A0%81%E8%AF%81%E5%92%8C%E7%A8%8E%E5%8A%A1%E7%99%BB%E8%AE%B0%E8%AF%81%E2%80%9C%E4%B8%89%E8%AF%81%E5%90%88%E4%B8%80%E2%80%9D%E7%99%BB%E8%AE%B0%E5%88%B6%E5%BA%A6%E6%94%B9%E9%9D%A9%E5%AE%9E%E6%96%BD%E6%96%B9%E6%A1%88%E7%9A%84%E9%80%9A%E7%9F%A5%EF%BC%88%E7%AD%91%E5%BA%9C%E5%8A%9E%E5%87%BD%E3%80%902015%E3%80%91162%E5%8F%B7%EF%BC%89.docx?nsextt=N3TSP4RKE2", - "__X_HTTP_RESULT_INDEX": "3" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "Apache-Coyote/1.1", - "Accept-Ranges": "bytes", - "ETag": "W/\"1703517-1546572172000\"", - "Last-Modified": "Fri, 04 Jan 2019 03:22:52 GMT", - "Content-Type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=UTF-8", - "Content-Length": "1703517", - "Date": "Sat, 18 May 2019 01:37:00 GMT", - "__X_HTTP_PAYLOAD_MD5": "3598c468910611a3128d068e20ae0e82", - "__X_HTTP_RESULT_INDEX": "4" - }] +[ + { + "__X_HTTP_TUPLE4": "192.168.117.60.39655>58.16.70.122.80" + }, + { + "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, + "method": "POST", + "uri": "/disAll/tcCertType.html", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36", + "Accept": "*/*", + "Accept-Language": "en-US,en;q=0.8,en-us,en;q=0.5", + "Origin": "http://58.16.70.122", + "X-Requested-With": "XMLHttpRequest", + "Referer": "http://58.16.70.122/register.jsp?redirect:http://58.16.70.122.r87.com/?", + "Cache-Control": "no-cache", + "X-Scanner": "Netsparker", + "Cookie": "JSESSIONID=385C79E211D561C0CA13D90F150F603D", + "Host": "58.16.70.122", + "Content-Length": "0", + "Accept-Encoding": "gzip, deflate", + "__X_HTTP_URL": "58.16.70.122/disAll/tcCertType.html" + }, + { + "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "Apache-Coyote/1.1", + "Pragma": "No-cache", + "Expires": "Thu, 01 Jan 1970 00:00:00 GMT", + "Content-Type": "text/html;charset=UTF-8", + "Transfer-Encoding": "chunked", + "Date": "Sat, 18 May 2019 01:36:57 GMT", + "__X_HTTP_PAYLOAD_MD5": "d545e0faf20f7ffe90e31cfc1aef1782" + }, + { + "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 1, + "method": "GET", + "uri": "/upload/%E6%B3%95%E5%BE%8B%E6%B3%95%E8%A7%84/%E5%B8%82%E4%BA%BA%E6%B0%91%E6%94%BF%E5%BA%9C%E5%8A%9E%E5%85%AC%E5%8E%85%E5%8D%B0%E5%8F%91%E8%B4%B5%E9%98%B3%E5%B8%82%E5%85%B3%E4%BA%8E%E6%8E%A8%E8%BF%9B%E5%B7%A5%E5%95%86%E8%90%A5%E4%B8%9A%E6%89%A7%E7%85%A7%E3%80%81%E7%BB%84%E7%BB%87%E6%9C%BA%E6%9E%84%E4%BB%A3%E7%A0%81%E8%AF%81%E5%92%8C%E7%A8%8E%E5%8A%A1%E7%99%BB%E8%AE%B0%E8%AF%81%E2%80%9C%E4%B8%89%E8%AF%81%E5%90%88%E4%B8%80%E2%80%9D%E7%99%BB%E8%AE%B0%E5%88%B6%E5%BA%A6%E6%94%B9%E9%9D%A9%E5%AE%9E%E6%96%BD%E6%96%B9%E6%A1%88%E7%9A%84%E9%80%9A%E7%9F%A5%EF%BC%88%E7%AD%91%E5%BA%9C%E5%8A%9E%E5%87%BD%E3%80%902015%E3%80%91162%E5%8F%B7%EF%BC%89.docx?nsextt=N3TSP4RKE2", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36", + "Cache-Control": "no-cache", + "Accept-Language": "en-us,en;q=0.5", + "X-Scanner": "Netsparker", + "Cookie": "JSESSIONID=385C79E211D561C0CA13D90F150F603D", + "Host": "58.16.70.122", + "Accept-Encoding": "gzip, deflate", + "__X_HTTP_URL": "58.16.70.122/upload/%E6%B3%95%E5%BE%8B%E6%B3%95%E8%A7%84/%E5%B8%82%E4%BA%BA%E6%B0%91%E6%94%BF%E5%BA%9C%E5%8A%9E%E5%85%AC%E5%8E%85%E5%8D%B0%E5%8F%91%E8%B4%B5%E9%98%B3%E5%B8%82%E5%85%B3%E4%BA%8E%E6%8E%A8%E8%BF%9B%E5%B7%A5%E5%95%86%E8%90%A5%E4%B8%9A%E6%89%A7%E7%85%A7%E3%80%81%E7%BB%84%E7%BB%87%E6%9C%BA%E6%9E%84%E4%BB%A3%E7%A0%81%E8%AF%81%E5%92%8C%E7%A8%8E%E5%8A%A1%E7%99%BB%E8%AE%B0%E8%AF%81%E2%80%9C%E4%B8%89%E8%AF%81%E5%90%88%E4%B8%80%E2%80%9D%E7%99%BB%E8%AE%B0%E5%88%B6%E5%BA%A6%E6%94%B9%E9%9D%A9%E5%AE%9E%E6%96%BD%E6%96%B9%E6%A1%88%E7%9A%84%E9%80%9A%E7%9F%A5%EF%BC%88%E7%AD%91%E5%BA%9C%E5%8A%9E%E5%87%BD%E3%80%902015%E3%80%91162%E5%8F%B7%EF%BC%89.docx?nsextt=N3TSP4RKE2" + }, + { + "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 1, + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "Apache-Coyote/1.1", + "Accept-Ranges": "bytes", + "ETag": "W/\"1703517-1546572172000\"", + "Last-Modified": "Fri, 04 Jan 2019 03:22:52 GMT", + "Content-Type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=UTF-8", + "Content-Length": "1703517", + "Date": "Sat, 18 May 2019 01:37:00 GMT", + "__X_HTTP_PAYLOAD_MD5": "3598c468910611a3128d068e20ae0e82" + } +]
\ No newline at end of file diff --git a/test/test_result_json/http_get_long_cookie.json b/test/test_result_json/http_get_long_cookie.json index 8c73779..4efa43d 100644 --- a/test/test_result_json/http_get_long_cookie.json +++ b/test/test_result_json/http_get_long_cookie.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "202.127.156.91.27282>14.17.32.203.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "202.127.156.91.27282>14.17.32.203.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/livemsg?imagemd5=02f5efd8a349c50280f8540b2735bd54&tailroll=1&plugin=1.3.8&pf=out&si=3766845706&url=http%3A%2F%2Fsports.qq.com%2Fa%2F20160106%2F008987.htm&soid=CA7F9C5B0120568CDC2F68726300&chid=0&ping_data=dXNlcl9pbmZvPXVCWDluVDg5SFJhOUFQK0JQVGdKRUxVYi9Kdz0&t=0&iptype=0&vptag=&pid=7F993E38C0E676ACC07DE764D1F3DEF56AA8F90A&adtype=LD&oadid=6012&ev=3236&l=4020&ufc_filter=0&imagelog=1&pid2=7F993E38C0E676ACC07DE764D1F3DEF56AA8F90A&mt=15000&coverid=&reqtime=1452071981&requestl=4020&isthirdip=0&cid=0&isfloatindex=0&o=100654557&lcount=2&refluence=4020&from=0&vid=m01794rm5ej&cip=202.127.156.91&aver=0&ip_filter=0&adlength=30000&tagid=&v=TencentPlayerOutV3.2.19.346&live=0&dura=105", "req_version": "1.1", @@ -18,7 +18,6 @@ "Accept-Encoding": "gzip,deflate,sdch", "Accept-Language": "zh-CN,zh;q=0.8", "__X_HTTP_URL": "livep.l.qq.com/livemsg?imagemd5=02f5efd8a349c50280f8540b2735bd54&tailroll=1&plugin=1.3.8&pf=out&si=3766845706&url=http%3A%2F%2Fsports.qq.com%2Fa%2F20160106%2F008987.htm&soid=CA7F9C5B0120568CDC2F68726300&chid=0&ping_data=dXNlcl9pbmZvPXVCWDluVDg5SFJhOUFQK0JQVGdKRUxVYi9Kdz0&t=0&iptype=0&vptag=&pid=7F993E38C0E676ACC07DE764D1F3DEF56AA8F90A&adtype=LD&oadid=6012&ev=3236&l=4020&ufc_filter=0&imagelog=1&pid2=7F993E38C0E676ACC07DE764D1F3DEF56AA8F90A&mt=15000&coverid=&reqtime=1452071981&requestl=4020&isthirdip=0&cid=0&isfloatindex=0&o=100654557&lcount=2&refluence=4020&from=0&vid=m01794rm5ej&cip=202.127.156.91&aver=0&ip_filter=0&adlength=30000&tagid=&v=TencentPlayerOutV3.2.19.346&live=0&dura=105", - "Cookie": "flashuser=95621BA8CB862E09; piao_city=179; lv_irt_id=3628e1bbe25a6c941da9fac02ec2df8b; cm_cookie=V1,10017&-EP5mRruXhQarsCl5LD-2YzgjVTvyr2K&AQEBh7uoLMUB9lnaB5Tz9XdYnGIWflXmsDrU&150723&150723,10035&7t-tEmfJ076VAsM9&AQEBh7uoLMUB9lnc4tpW7vbazqdrRdBYOUCi&150724&150807,110054&ucO0Z0gctNn3&AQEBh7uoLMUB9llxMNl45F3RAIsKK0iMOJAG&150716&151008,10040&ACZ1r0A70NaEFcGT&AQEBh7uoLMUB9lmVgSoTwuuXZi896zSVsXIF&150818&151014,110015&1&AQEBh7uoLMUB9lkt2LUHO6ARwODHLI_Y51rj&150928&151103,10037&1433388364186289251984&AQEBh7uoLMUB9llIBencOqTAEh2aQ2SURSSQ&150909&151110,10011&jL40Z03uUFI0&AQEBh7uoLMUB9lkfw2sJVNx9g12Fzs12rPSN&150717&151125,10016&F64E6LFZs0W&AQEBh7uoLMUB9llE4yoPFNUykSj7WKaRK5lH&150805&151127,10019&WQAO-C1K9qI5OP8W_t2pSw&AQEBh7uoLMUB9llhpZE87GmOk3XGo_MJgV6K&150826&151130,10015&820490997316506147&AQEBh7uoLMUB9llXiynsGYRhMO3XuPnkuHUt&150715&151201,10012&x3X1yY6b&AQEBh7uoLMUB9ll9mraU_LJCDBYsE0Sbk_V9&151202&151202,110065&ucO0Z0gctNn3&AQEBh7uoLMUB9lkJcK3KDBQTKF0YfZ5wB7r5&150716&151203,110066&jL40Z03uUFI0&AQEBh7uoLMUB9lnyvKSYhcJD1X_rSs_DLVWx&150916&151221,10013&ePyYB2MSKa0TCbebpxKjmU&AQEBh7uoLMUB9ln6_6nGNidqml4nFKXhtE58&151221&151221,110061&d9cfa518d82abee&AQEBh7uoLMUB9llj2NYzmCjxaLWXALTcAGIH&150818&151224,10038&CAESEPZbUhToZJ39CS9MlgXGUSQ&AQEBh7uoLMUB9lmhnrDM5lIGtl6vc1NxMD6F&151110&151224,10077&820490997316506147&AQEBh7uoLMUB9lmkUdUe2xSHGkvM0IRu9Jt9&151214&151228,10008&0yPSvk92ie1nhB8wTUlTq&AQEBh7uoLMUB9lnL5ZCYvXJNvlv53G0CKEkj&150817&151228,10045&0&AQEBh7uoLMUB9llW3v1Vh7W72lv14RlAjUXn&151023&151228,110064&jL40Z03uUFI0&AQEBh7uoLMUB9lkBYuCUDLDrOcGURJcilogv&151016&160104,110069&26d49ecc&AQEBh7uoLMUB9lmlBLTxQY9BkCmimkMFqTo5&151204&160105,10079&B8hGto5y1e3uDXwCMsIun3rjk--dVCof&AQEBh7uoLMUB9llxnFrhDtdNMjZ1hs1il5J4&151214&160105; LHTturn=24; ptisp=ctc; RK=hRWyd82Gd8; pgv_pvi=7567882240; image_md5=bd21d5fb2f401b37cf3a02724dc06545; LTPturn=27; pt2gguin=o0583115900; uin=o0583115900; skey=@Mp9aCinaO; ptcz=10d4b1b7bde835d64663338a8008fd4f81e2c6b5f0ba81a90da3627ee617c7ee; pgv_info=ssid=s4768939310; pgv_pvid=6872592818; o_cookie=583115900; lv_play_index_textAd=47; lv_play_indexl.=32; dc_vplaying=1; LKBturn=29; Lturn=29; adid=583115900; appuser=95621BA8CB862E09; o_minduid=phhdxyNLkxBWMa74VTm5zU4y5EbUv5vR; appuser_95621BA8CB862E09_0=2b7gwp=1453219199_6&2btemv=1455551999_1&2c8311=1453305599_3&2cfx4j=1453651199_3&2cfx9l=1453651199_1&2d49y9=1453823999_2&2d67kl=1454255999_2&2d69mf=1454255999_3&2dxv8l=1455465599_6&2dzhfl=1452614399_1&f_pogvwp=1452095999_1&f_pogvwv=1452095999_2&f_pogw0m=1452095999_1&fd_15bm2t7=1452095999_1&fd_1h2pbsd=1452095999_2&fd_1k6so62=1452095999_1&fd_rhmjmq=1452095999_2&m_roiw0t=1452095999_3&m_xty8wl=1452095999_1&pogree=1452095999_2; TX.boid=100655474=1452072582_1&701041365=1452072585_1; appuser_95621BA8CB862E09_effect_0=fd_1ez2rcc=1452095999_1&fd_qdh7zw=1452095999_1&fd_ul215j=1452095999_1; psessionid=ca7f9c5b_1452071982_583115900_30754; psessiontime=1452071990", - "__X_HTTP_RESULT_INDEX": "1" + "Cookie": "flashuser=95621BA8CB862E09; piao_city=179; lv_irt_id=3628e1bbe25a6c941da9fac02ec2df8b; cm_cookie=V1,10017&-EP5mRruXhQarsCl5LD-2YzgjVTvyr2K&AQEBh7uoLMUB9lnaB5Tz9XdYnGIWflXmsDrU&150723&150723,10035&7t-tEmfJ076VAsM9&AQEBh7uoLMUB9lnc4tpW7vbazqdrRdBYOUCi&150724&150807,110054&ucO0Z0gctNn3&AQEBh7uoLMUB9llxMNl45F3RAIsKK0iMOJAG&150716&151008,10040&ACZ1r0A70NaEFcGT&AQEBh7uoLMUB9lmVgSoTwuuXZi896zSVsXIF&150818&151014,110015&1&AQEBh7uoLMUB9lkt2LUHO6ARwODHLI_Y51rj&150928&151103,10037&1433388364186289251984&AQEBh7uoLMUB9llIBencOqTAEh2aQ2SURSSQ&150909&151110,10011&jL40Z03uUFI0&AQEBh7uoLMUB9lkfw2sJVNx9g12Fzs12rPSN&150717&151125,10016&F64E6LFZs0W&AQEBh7uoLMUB9llE4yoPFNUykSj7WKaRK5lH&150805&151127,10019&WQAO-C1K9qI5OP8W_t2pSw&AQEBh7uoLMUB9llhpZE87GmOk3XGo_MJgV6K&150826&151130,10015&820490997316506147&AQEBh7uoLMUB9llXiynsGYRhMO3XuPnkuHUt&150715&151201,10012&x3X1yY6b&AQEBh7uoLMUB9ll9mraU_LJCDBYsE0Sbk_V9&151202&151202,110065&ucO0Z0gctNn3&AQEBh7uoLMUB9lkJcK3KDBQTKF0YfZ5wB7r5&150716&151203,110066&jL40Z03uUFI0&AQEBh7uoLMUB9lnyvKSYhcJD1X_rSs_DLVWx&150916&151221,10013&ePyYB2MSKa0TCbebpxKjmU&AQEBh7uoLMUB9ln6_6nGNidqml4nFKXhtE58&151221&151221,110061&d9cfa518d82abee&AQEBh7uoLMUB9llj2NYzmCjxaLWXALTcAGIH&150818&151224,10038&CAESEPZbUhToZJ39CS9MlgXGUSQ&AQEBh7uoLMUB9lmhnrDM5lIGtl6vc1NxMD6F&151110&151224,10077&820490997316506147&AQEBh7uoLMUB9lmkUdUe2xSHGkvM0IRu9Jt9&151214&151228,10008&0yPSvk92ie1nhB8wTUlTq&AQEBh7uoLMUB9lnL5ZCYvXJNvlv53G0CKEkj&150817&151228,10045&0&AQEBh7uoLMUB9llW3v1Vh7W72lv14RlAjUXn&151023&151228,110064&jL40Z03uUFI0&AQEBh7uoLMUB9lkBYuCUDLDrOcGURJcilogv&151016&160104,110069&26d49ecc&AQEBh7uoLMUB9lmlBLTxQY9BkCmimkMFqTo5&151204&160105,10079&B8hGto5y1e3uDXwCMsIun3rjk--dVCof&AQEBh7uoLMUB9llxnFrhDtdNMjZ1hs1il5J4&151214&160105; LHTturn=24; ptisp=ctc; RK=hRWyd82Gd8; pgv_pvi=7567882240; image_md5=bd21d5fb2f401b37cf3a02724dc06545; LTPturn=27; pt2gguin=o0583115900; uin=o0583115900; skey=@Mp9aCinaO; ptcz=10d4b1b7bde835d64663338a8008fd4f81e2c6b5f0ba81a90da3627ee617c7ee; pgv_info=ssid=s4768939310; pgv_pvid=6872592818; o_cookie=583115900; lv_play_index_textAd=47; lv_play_indexl.=32; dc_vplaying=1; LKBturn=29; Lturn=29; adid=583115900; appuser=95621BA8CB862E09; o_minduid=phhdxyNLkxBWMa74VTm5zU4y5EbUv5vR; appuser_95621BA8CB862E09_0=2b7gwp=1453219199_6&2btemv=1455551999_1&2c8311=1453305599_3&2cfx4j=1453651199_3&2cfx9l=1453651199_1&2d49y9=1453823999_2&2d67kl=1454255999_2&2d69mf=1454255999_3&2dxv8l=1455465599_6&2dzhfl=1452614399_1&f_pogvwp=1452095999_1&f_pogvwv=1452095999_2&f_pogw0m=1452095999_1&fd_15bm2t7=1452095999_1&fd_1h2pbsd=1452095999_2&fd_1k6so62=1452095999_1&fd_rhmjmq=1452095999_2&m_roiw0t=1452095999_3&m_xty8wl=1452095999_1&pogree=1452095999_2; TX.boid=100655474=1452072582_1&701041365=1452072585_1; appuser_95621BA8CB862E09_effect_0=fd_1ez2rcc=1452095999_1&fd_qdh7zw=1452095999_1&fd_ul215j=1452095999_1; psessionid=ca7f9c5b_1452071982_583115900_30754; psessiontime=1452071990" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_get_malformed.json b/test/test_result_json/http_get_malformed.json index 384ef5b..dacb51f 100644 --- a/test/test_result_json/http_get_malformed.json +++ b/test/test_result_json/http_get_malformed.json @@ -1,19 +1,19 @@ [ { - "__X_HTTP_TUPLE4": "192.168.4.2.36598>108.61.176.217.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.4.2.36598>108.61.176.217.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/", "req_version": "1.1", "major_version": 1, - "minor_version": 1, - "__X_HTTP_RESULT_INDEX": "1" + "minor_version": 1 }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.0", "res_status": "OK", "major_version": 1, @@ -23,7 +23,6 @@ "Date": "Wed, 12 Sep 2018 19:45:55 GMT", "Content-Type": "text/html", "Content-Length": "1547", - "__X_HTTP_PAYLOAD_MD5": "1807c0ebdda65240e058706d9626d2af", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "1807c0ebdda65240e058706d9626d2af" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_get_multi_trans.json b/test/test_result_json/http_get_multi_trans.json index 9cd6b57..4ac91bc 100644 --- a/test/test_result_json/http_get_multi_trans.json +++ b/test/test_result_json/http_get_multi_trans.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "192.168.50.18.60400>192.168.42.1.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.50.18.60400>192.168.42.1.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/account/login.htm", "req_version": "1.1", @@ -18,11 +18,11 @@ "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9", "Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=531AACA879469EDAB825E28113490E10", - "__X_HTTP_URL": "test.pro.testin.cn/account/login.htm", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "test.pro.testin.cn/account/login.htm" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "major_version": 1, "minor_version": 1, @@ -35,11 +35,11 @@ "Set-Cookie1": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", "Set-Cookie2": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", "Location": "http://test.pro.testin.cn/enterprise/index.htm", - "Content-Language": "zh-CN", - "__X_HTTP_RESULT_INDEX": "2" + "Content-Language": "zh-CN" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 1, "method": "GET", "uri": "/enterprise/index.htm", "req_version": "1.1", @@ -53,11 +53,11 @@ "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9", "Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA", - "__X_HTTP_URL": "test.pro.testin.cn/enterprise/index.htm", - "__X_HTTP_RESULT_INDEX": "3" + "__X_HTTP_URL": "test.pro.testin.cn/enterprise/index.htm" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 1, "res_version": "1.1", "major_version": 1, "minor_version": 1, @@ -69,11 +69,11 @@ "Set-Cookie": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", "Set-Cookie1": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", "Location": "http://test.pro.testin.cn/enterprise/into.htm?eid=1", - "Content-Language": "zh-CN", - "__X_HTTP_RESULT_INDEX": "4" + "Content-Language": "zh-CN" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 2, "method": "GET", "uri": "/enterprise/into.htm?eid=1", "req_version": "1.1", @@ -87,11 +87,11 @@ "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9", "Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA", - "__X_HTTP_URL": "test.pro.testin.cn/enterprise/into.htm?eid=1", - "__X_HTTP_RESULT_INDEX": "5" + "__X_HTTP_URL": "test.pro.testin.cn/enterprise/into.htm?eid=1" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 2, "res_version": "1.1", "major_version": 1, "minor_version": 1, @@ -103,11 +103,11 @@ "Set-Cookie": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", "Set-Cookie1": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", "Location": "http://test.pro.testin.cn/realmachine/index.htm", - "Content-Language": "zh-CN", - "__X_HTTP_RESULT_INDEX": "6" + "Content-Language": "zh-CN" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 3, "method": "GET", "uri": "/realmachine/index.htm", "req_version": "1.1", @@ -121,11 +121,11 @@ "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9", "Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA", - "__X_HTTP_URL": "test.pro.testin.cn/realmachine/index.htm", - "__X_HTTP_RESULT_INDEX": "7" + "__X_HTTP_URL": "test.pro.testin.cn/realmachine/index.htm" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 3, "res_version": "1.1", "major_version": 1, "minor_version": 1, @@ -143,7 +143,6 @@ "Set-Cookie4": "pname_pro=name; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", "Content-Language": "zh-CN", "Content-Encoding": "gzip", - "__X_HTTP_PAYLOAD_MD5": "39cb5f3a9cbcfbd16f66e040ec49b8c4", - "__X_HTTP_RESULT_INDEX": "8" + "__X_HTTP_PAYLOAD_MD5": "39cb5f3a9cbcfbd16f66e040ec49b8c4" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_get_req_pipeline.json b/test/test_result_json/http_get_req_pipeline.json index e3c692b..cf41888 100644 --- a/test/test_result_json/http_get_req_pipeline.json +++ b/test/test_result_json/http_get_req_pipeline.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "192.168.40.81.52802>192.168.40.137.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.40.81.52802>192.168.40.137.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/aa.mp4?asf=sdaf", "req_version": "1.1", @@ -16,11 +16,11 @@ "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1636.2 Safari/537.36", "Accept-Encoding": "gzip,deflate,sdch", "Accept-Language": "zh-CN,zh;q=0.8", - "__X_HTTP_URL": "113.31.27.226/aa.mp4?asf=sdaf", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "113.31.27.226/aa.mp4?asf=sdaf" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 1, "method": "GET", "uri": "/fetch_ldns.png", "req_version": "1.1", @@ -32,11 +32,11 @@ "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1636.2 Safari/537.36", "Accept-Encoding": "gzip,deflate,sdch", "Accept-Language": "zh-CN,zh;q=0.8", - "__X_HTTP_URL": "ns.pb.cachecn.net/fetch_ldns.png", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_URL": "ns.pb.cachecn.net/fetch_ldns.png" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 2, "method": "GET", "uri": "/40x.jpg", "req_version": "1.1", @@ -48,11 +48,11 @@ "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1636.2 Safari/537.36", "Accept-Encoding": "gzip,deflate,sdch", "Accept-Language": "zh-CN,zh;q=0.8", - "__X_HTTP_URL": "ns.pb.cachecn.net/40x.jpg", - "__X_HTTP_RESULT_INDEX": "3" + "__X_HTTP_URL": "ns.pb.cachecn.net/40x.jpg" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.0", "res_status": "File not found", "major_version": 1, @@ -62,7 +62,6 @@ "Date": "Wed, 25 Oct 2023 06:43:35 GMT", "Content-Type": "text/html", "Connection": "close", - "__X_HTTP_PAYLOAD_MD5": "6fb335f443cfc8a9d952d27cf3dc1059", - "__X_HTTP_RESULT_INDEX": "4" + "__X_HTTP_PAYLOAD_MD5": "6fb335f443cfc8a9d952d27cf3dc1059" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_get_single_trans.json b/test/test_result_json/http_get_single_trans.json index 98c2c27..4fa6181 100644 --- a/test/test_result_json/http_get_single_trans.json +++ b/test/test_result_json/http_get_single_trans.json @@ -1,30 +1,34 @@ -[{ - "__X_HTTP_TUPLE4": "192.168.38.73.50806>192.168.40.137.80", - "__X_HTTP_RESULT_INDEX": "0" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/index.html", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Host": "192.168.40.137", - "User-Agent": "curl/7.79.1", - "Accept": "*/*", - "__X_HTTP_URL": "192.168.40.137/index.html", - "__X_HTTP_RESULT_INDEX": "1" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.0", - "res_status": "OK", - "major_version": 1, - "minor_version": 0, - "status_code": 200, - "Server": "SimpleHTTP/0.6 Python/2.7.5", - "Date": "Thu, 30 Nov 2023 08:42:24 GMT", - "Content-type": "text/html", - "Content-Length": "144", - "Last-Modified": "Thu, 30 Nov 2023 08:38:54 GMT", - "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76", - "__X_HTTP_RESULT_INDEX": "2" - }] +[ + { + "__X_HTTP_TUPLE4": "192.168.38.73.50806>192.168.40.137.80" + }, + { + "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, + "method": "GET", + "uri": "/index.html", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Host": "192.168.40.137", + "User-Agent": "curl/7.79.1", + "Accept": "*/*", + "__X_HTTP_URL": "192.168.40.137/index.html" + }, + { + "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, + "res_version": "1.0", + "res_status": "OK", + "major_version": 1, + "minor_version": 0, + "status_code": 200, + "Server": "SimpleHTTP/0.6 Python/2.7.5", + "Date": "Thu, 30 Nov 2023 08:42:24 GMT", + "Content-type": "text/html", + "Content-Length": "144", + "Last-Modified": "Thu, 30 Nov 2023 08:38:54 GMT", + "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76", + "__X_HTTP_PAYLOAD": "PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPHRpdGxlPlBhZ2UgVGl0bGU8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5PgoKPGgxPlRoaXMgaXMgYSBIZWFkaW5nPC9oMT4KPHA+VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+Cgo8L2JvZHk+CjwvaHRtbD4K" + } +]
\ No newline at end of file diff --git a/test/test_result_json/http_hdr_truncated_after_kv.json b/test/test_result_json/http_hdr_truncated_after_kv.json index 50f1ec6..a549339 100644 --- a/test/test_result_json/http_hdr_truncated_after_kv.json +++ b/test/test_result_json/http_hdr_truncated_after_kv.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "196.188.112.76.51494>23.246.50.149.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "196.188.112.76.51494>23.246.50.149.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392", "req_version": "1.1", @@ -18,11 +18,11 @@ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392", - "__X_HTTP_RESULT_INDEX": "1" + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 1, "method": "GET", "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e", "req_version": "1.1", @@ -36,11 +36,11 @@ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e", - "__X_HTTP_RESULT_INDEX": "2" + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 2, "method": "GET", "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7", "req_version": "1.1", @@ -54,11 +54,11 @@ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7", "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7", - "__X_HTTP_RESULT_INDEX": "3" + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -72,11 +72,11 @@ "Cache-Control": "max-age=2592000", "Last-Modified": "Wed, 10 Nov 2021 08:00:14 GMT", "ETag": "\"c289a42885b30107ad119e2a6e405e4d\"", - "__X_HTTP_PAYLOAD_MD5": "c289a42885b30107ad119e2a6e405e4d", - "__X_HTTP_RESULT_INDEX": "4" + "__X_HTTP_PAYLOAD_MD5": "c289a42885b30107ad119e2a6e405e4d" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 3, "method": "GET", "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83", "req_version": "1.1", @@ -90,11 +90,11 @@ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83", "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83", - "__X_HTTP_RESULT_INDEX": "5" + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 4, "method": "GET", "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257", "req_version": "1.1", @@ -108,11 +108,11 @@ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257", "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257", - "__X_HTTP_RESULT_INDEX": "6" + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 5, "method": "GET", "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532", "req_version": "1.1", @@ -126,11 +126,11 @@ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532", "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532", - "__X_HTTP_RESULT_INDEX": "7" + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 6, "method": "GET", "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa", "req_version": "1.1", @@ -144,11 +144,11 @@ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa", "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa", - "__X_HTTP_RESULT_INDEX": "8" + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 7, "method": "GET", "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723", "req_version": "1.1", @@ -162,11 +162,11 @@ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723", "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723", - "__X_HTTP_RESULT_INDEX": "9" + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 1, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -180,11 +180,11 @@ "Cache-Control": "max-age=2592000", "Last-Modified": "Mon, 08 Nov 2021 19:50:54 GMT", "ETag": "\"35d56b6a0ef3b5857013f44620bd8888\"", - "__X_HTTP_PAYLOAD_MD5": "35d56b6a0ef3b5857013f44620bd8888", - "__X_HTTP_RESULT_INDEX": "10" + "__X_HTTP_PAYLOAD_MD5": "35d56b6a0ef3b5857013f44620bd8888" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 2, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -198,11 +198,11 @@ "Cache-Control": "max-age=2592000", "Last-Modified": "Tue, 26 Oct 2021 15:12:58 GMT", "ETag": "\"bb83961ad5fe366dcbb5240ead69f650\"", - "__X_HTTP_PAYLOAD_MD5": "bb83961ad5fe366dcbb5240ead69f650", - "__X_HTTP_RESULT_INDEX": "11" + "__X_HTTP_PAYLOAD_MD5": "bb83961ad5fe366dcbb5240ead69f650" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 3, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -216,11 +216,11 @@ "Cache-Control": "max-age=2592000", "Last-Modified": "Thu, 04 Nov 2021 20:44:22 GMT", "ETag": "\"c5be6a7137482da270bb2adc8d44a28d\"", - "__X_HTTP_PAYLOAD_MD5": "c5be6a7137482da270bb2adc8d44a28d", - "__X_HTTP_RESULT_INDEX": "12" + "__X_HTTP_PAYLOAD_MD5": "c5be6a7137482da270bb2adc8d44a28d" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 4, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -234,11 +234,11 @@ "Cache-Control": "max-age=2592000", "Last-Modified": "Sat, 25 Sep 2021 05:02:49 GMT", "ETag": "\"61bec96775876749bb57139f86f6b0ca\"", - "__X_HTTP_PAYLOAD_MD5": "61bec96775876749bb57139f86f6b0ca", - "__X_HTTP_RESULT_INDEX": "13" + "__X_HTTP_PAYLOAD_MD5": "61bec96775876749bb57139f86f6b0ca" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 5, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -252,11 +252,11 @@ "Cache-Control": "max-age=2592000", "Last-Modified": "Fri, 02 Jul 2021 10:15:04 GMT", "ETag": "\"841065529f1e89eabd0ef235a3d3291c\"", - "__X_HTTP_PAYLOAD_MD5": "841065529f1e89eabd0ef235a3d3291c", - "__X_HTTP_RESULT_INDEX": "14" + "__X_HTTP_PAYLOAD_MD5": "841065529f1e89eabd0ef235a3d3291c" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 6, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -270,11 +270,11 @@ "Cache-Control": "max-age=2592000", "Last-Modified": "Tue, 19 Oct 2021 14:00:02 GMT", "ETag": "\"21d4b2c21a3a2f26ba665670e8513940\"", - "__X_HTTP_PAYLOAD_MD5": "21d4b2c21a3a2f26ba665670e8513940", - "__X_HTTP_RESULT_INDEX": "15" + "__X_HTTP_PAYLOAD_MD5": "21d4b2c21a3a2f26ba665670e8513940" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 8, "method": "GET", "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590", "req_version": "1.1", @@ -288,11 +288,11 @@ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590", - "__X_HTTP_RESULT_INDEX": "16" + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 7, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -306,7 +306,6 @@ "Cache-Control": "max-age=2592000", "Last-Modified": "Thu, 11 Nov 2021 17:32:01 GMT", "ETag": "\"837a2051f7d0f2899baf54ff20b3d9ad\"", - "__X_HTTP_PAYLOAD_MD5": "f18a76ecf35648cb46ea6f42e4391cb8", - "__X_HTTP_RESULT_INDEX": "17" + "__X_HTTP_PAYLOAD_MD5": "f18a76ecf35648cb46ea6f42e4391cb8" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_hdr_truncated_in_kv.json b/test/test_result_json/http_hdr_truncated_in_kv.json index 966572e..d774320 100644 --- a/test/test_result_json/http_hdr_truncated_in_kv.json +++ b/test/test_result_json/http_hdr_truncated_in_kv.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "196.190.248.93.32727>94.130.141.49.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "196.190.248.93.32727>94.130.141.49.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/iframes2/e38f4959d33f4fa390045b0d7123997d.html?subid=65843620", "req_version": "1.1", @@ -18,11 +18,11 @@ "Referer": "http://the-sexy-tube.com/", "Accept-Encoding": "gzip, deflate", "Accept-Language": "en-GB,en-US;q=0.9,en;q=0.8", - "__X_HTTP_URL": "tsyndicate.com/iframes2/e38f4959d33f4fa390045b0d7123997d.html?subid=65843620", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "tsyndicate.com/iframes2/e38f4959d33f4fa390045b0d7123997d.html?subid=65843620" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -48,7 +48,6 @@ "X-Robots-Tag4": "noindex, nofollow", "Report-To": "{ \"url\": \"https://pxl.tsyndicate.com/api/v1/heavy-ad/report\", \"max_age\": 86401 }", "Content-Encoding": "gzip", - "__X_HTTP_PAYLOAD_MD5": "075802aa31b42d465d56b213915fb0a2", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "075802aa31b42d465d56b213915fb0a2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_hdr_value_empty.json b/test/test_result_json/http_hdr_value_empty.json index 2d7483d..e8d3088 100644 --- a/test/test_result_json/http_hdr_value_empty.json +++ b/test/test_result_json/http_hdr_value_empty.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "192.168.131.33.47164>192.168.204.67.4445", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.131.33.47164>192.168.204.67.4445" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "POST", "uri": "http://:4445/RPC2", "req_version": "1.1", @@ -15,12 +15,12 @@ "Content-Type": "text/xml", "Date": "Sat Sep 7 10:04:57 2019", "Content-Length": "468", - "__X_HTTP_URL": "http://:4445/RPC2", - "__X_HTTP_PAYLOAD_MD5": "033e27f72bc41b4a7e222df464749420", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": ":4445/RPC2", + "__X_HTTP_PAYLOAD_MD5": "033e27f72bc41b4a7e222df464749420" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -31,7 +31,6 @@ "Transfer-Encoding": "chunked", "X-Powered-By": "ulxmlrpcpp/1.7.4", "Date": "Sat Sep 7 01:09:08 2019", - "__X_HTTP_PAYLOAD_MD5": "69db29507d10b0d57fcaa5afffd81934", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "69db29507d10b0d57fcaa5afffd81934" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_hdrs_exceed_maximum.json b/test/test_result_json/http_hdrs_exceed_maximum.json index 105588e..56513ae 100644 --- a/test/test_result_json/http_hdrs_exceed_maximum.json +++ b/test/test_result_json/http_hdrs_exceed_maximum.json @@ -1,47 +1,50 @@ -[{ - "__X_HTTP_TUPLE4": "10.0.0.1.61462>10.0.0.2.80", - "__X_HTTP_RESULT_INDEX": "0" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/x/xx/xxxxxxxxxxxxxxxxxxx/x/xxxxxx/xxxxxxxxxxxxxxx?xxx=1&xxx=1&x=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&vmf=xxxxxxxxxx.xxx.xxx.xxx&ce=UTF-8&ns=xxxxxxxxxx&pageName=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&g=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jsp&r=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&events=xxxxxxxxxxxxxxxxxxxxxxxxxxx&products=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v1=xxxxxxxxxxxxxxx&v2=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v17=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&c49=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&AQE=1", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Host": "xxxxx.xxxxxxxx.xxxxxxxxxx.xxx", - "Connection": "keep-alive", - "Accept": "image/webp,*/*;q=0.8", - "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36", - "Referer": "http://www.xxxxxxxxxx.xxx/xx/xxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxx.jsp", - "Accept-Encoding": "gzip,deflate,sdch", - "Accept-Language": "en-US,en;q=0.8,en-GB;q=0.6", - "__X_HTTP_URL": "xxxxx.xxxxxxxx.xxxxxxxxxx.xxx/x/xx/xxxxxxxxxxxxxxxxxxx/x/xxxxxx/xxxxxxxxxxxxxxx?xxx=1&xxx=1&x=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&vmf=xxxxxxxxxx.xxx.xxx.xxx&ce=UTF-8&ns=xxxxxxxxxx&pageName=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&g=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jsp&r=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&events=xxxxxxxxxxxxxxxxxxxxxxxxxxx&products=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v1=xxxxxxxxxxxxxxx&v2=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v17=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&c49=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&AQE=1", - "Cookie": "xxxxxxxxxxxxxxxxxxx=ie; xxxxxxxxxxxxxxxxxxxxxx=true; lp=xxxxxx; rememberUn=false; xxx.xxxxxxxxxx.xxxxxxxxxx=xx; xxxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; autocomplete=1; xxxx=xxxx; xxxx=xxxxv1|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; xxxxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", - "__X_HTTP_RESULT_INDEX": "1" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Date": "Mon, 30 Jun 2014 13:35:21 GMT", - "Server": "xxxxxxxxxxxxxxxxx", - "Access-Control-Allow-Origin": "*", - "Set-Cookie": "xxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; Expires=Wed, 29 Jun 2016 13:35:21 GMT; Domain=.xxxxxxxxxx.xxx; Path=/", - "X-C": "ms-4.9", - "Expires": "Sun, 29 Jun 2014 13:35:21 GMT", - "Last-Modified": "Tue, 01 Jul 2014 13:35:21 GMT", - "Cache-Control": "no-cache, no-store, max-age=0, no-transform, private", - "Pragma": "no-cache", - "ETag": "\"xxxxxxxxxxxxxxxxxxxxxx\"", - "Vary": "*", - "P3P": "policyref=\"/w3c/p3p.xml\", CP=\"NOI DSP COR NID PSA OUR IND COM NAV STA\"", - "xserver": "xxxxxx", - "Content-Length": "43", - "Keep-Alive": "timeout=15", - "Connection": "Keep-Alive", - "Content-Type": "image/gif", - "__X_HTTP_PAYLOAD_MD5": "ad480fd0732d0f6f1a8b06359e3a42bb", - "__X_HTTP_RESULT_INDEX": "2" - }] +[ + { + "__X_HTTP_TUPLE4": "10.0.0.1.61462>10.0.0.2.80" + }, + { + "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, + "method": "GET", + "uri": "/x/xx/xxxxxxxxxxxxxxxxxxx/x/xxxxxx/xxxxxxxxxxxxxxx?xxx=1&xxx=1&x=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&vmf=xxxxxxxxxx.xxx.xxx.xxx&ce=UTF-8&ns=xxxxxxxxxx&pageName=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&g=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jsp&r=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&events=xxxxxxxxxxxxxxxxxxxxxxxxxxx&products=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v1=xxxxxxxxxxxxxxx&v2=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v17=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&c49=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&AQE=1", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Host": "xxxxx.xxxxxxxx.xxxxxxxxxx.xxx", + "Connection": "keep-alive", + "Accept": "image/webp,*/*;q=0.8", + "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36", + "Referer": "http://www.xxxxxxxxxx.xxx/xx/xxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxx.jsp", + "Accept-Encoding": "gzip,deflate,sdch", + "Accept-Language": "en-US,en;q=0.8,en-GB;q=0.6", + "__X_HTTP_URL": "xxxxx.xxxxxxxx.xxxxxxxxxx.xxx/x/xx/xxxxxxxxxxxxxxxxxxx/x/xxxxxx/xxxxxxxxxxxxxxx?xxx=1&xxx=1&x=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&vmf=xxxxxxxxxx.xxx.xxx.xxx&ce=UTF-8&ns=xxxxxxxxxx&pageName=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&g=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jsp&r=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&events=xxxxxxxxxxxxxxxxxxxxxxxxxxx&products=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v1=xxxxxxxxxxxxxxx&v2=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v17=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&c49=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&AQE=1", + "Cookie": "xxxxxxxxxxxxxxxxxxx=ie; xxxxxxxxxxxxxxxxxxxxxx=true; lp=xxxxxx; rememberUn=false; xxx.xxxxxxxxxx.xxxxxxxxxx=xx; xxxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; autocomplete=1; xxxx=xxxx; xxxx=xxxxv1|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; xxxxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + }, + { + "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Date": "Mon, 30 Jun 2014 13:35:21 GMT", + "Server": "xxxxxxxxxxxxxxxxx", + "Access-Control-Allow-Origin": "*", + "Set-Cookie": "xxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; Expires=Wed, 29 Jun 2016 13:35:21 GMT; Domain=.xxxxxxxxxx.xxx; Path=/", + "X-C": "ms-4.9", + "Expires": "Sun, 29 Jun 2014 13:35:21 GMT", + "Last-Modified": "Tue, 01 Jul 2014 13:35:21 GMT", + "Cache-Control": "no-cache, no-store, max-age=0, no-transform, private", + "Pragma": "no-cache", + "ETag": "\"xxxxxxxxxxxxxxxxxxxxxx\"", + "Vary": "*", + "P3P": "policyref=\"/w3c/p3p.xml\", CP=\"NOI DSP COR NID PSA OUR IND COM NAV STA\"", + "xserver": "xxxxxx", + "Content-Length": "43", + "Keep-Alive": "timeout=15", + "Connection": "Keep-Alive", + "Content-Type": "image/gif", + "__X_HTTP_PAYLOAD_MD5": "ad480fd0732d0f6f1a8b06359e3a42bb" + } +]
\ No newline at end of file diff --git a/test/test_result_json/http_multi_parse_error.json b/test/test_result_json/http_multi_parse_error.json index d50c449..b74de5b 100644 --- a/test/test_result_json/http_multi_parse_error.json +++ b/test/test_result_json/http_multi_parse_error.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "192.168.131.33.47172>192.168.204.67.4445", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.131.33.47172>192.168.204.67.4445" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "POST", "uri": "http://:4445/RPC2", "req_version": "1.1", @@ -15,12 +15,12 @@ "Content-Type": "text/xml", "Date": "Sat Sep 7 10:05:13 2019", "Content-Length": "468", - "__X_HTTP_URL": "http://:4445/RPC2", - "__X_HTTP_PAYLOAD_MD5": "6eccbcf261f04aabfa69884aa283f4f3", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": ":4445/RPC2", + "__X_HTTP_PAYLOAD_MD5": "6eccbcf261f04aabfa69884aa283f4f3" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -31,7 +31,6 @@ "Transfer-Encoding": "chunked", "X-Powered-By": "ulxmlrpcpp/1.7.4", "Date": "Sat Sep 7 01:09:24 2019", - "__X_HTTP_PAYLOAD_MD5": "5cf8a4aa9a54e7f2d05b55ed05bf9071", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "5cf8a4aa9a54e7f2d05b55ed05bf9071" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_no_content_length.json b/test/test_result_json/http_no_content_length.json index 04d4ad4..46fcf75 100644 --- a/test/test_result_json/http_no_content_length.json +++ b/test/test_result_json/http_no_content_length.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "10.0.0.1.50384>10.0.0.2.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "10.0.0.1.50384>10.0.0.2.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/js/xxxxxx.js", "req_version": "1.1", @@ -20,11 +20,11 @@ "Connection": "keep-alive", "Referer": "http://www.xxxxxxxx.com/xxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxx.html", "Cookie": "trafic_ranking=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", - "__X_HTTP_URL": "xxxxxxx.xxxxxx.xx/js/xxxxxx.js", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "xxxxxxx.xxxxxx.xx/js/xxxxxx.js" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.0", "res_status": "OK", "major_version": 1, @@ -40,7 +40,6 @@ "P3P": "policyref=\"/w3c/p3p.xml\", CP=\"ALL IND DSP COR ADM CONo CUR IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"", "Set-Cookie": "trafic_ranking=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; expires=Sun, 11-Jan-2037 14:00:00 GMT; path=/; domain=.xxxxxx.xx", "connection": "close", - "__X_HTTP_PAYLOAD_MD5": "9fb54a2726ca3cf54a82804d0e66d08a", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "9fb54a2726ca3cf54a82804d0e66d08a" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_over_pppoe.json b/test/test_result_json/http_over_pppoe.json index c2ff274..c99b034 100644 --- a/test/test_result_json/http_over_pppoe.json +++ b/test/test_result_json/http_over_pppoe.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "2a00:5e80:101:212d:504:7b1:2572:db22.37034>2606:f200:0:7:bad:f00d:d00d:1.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "2a00:5e80:101:212d:504:7b1:2572:db22.37034>2606:f200:0:7:bad:f00d:d00d:1.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/", "req_version": "1.1", @@ -13,11 +13,11 @@ "User-Agent": "curl/7.34.0", "Host": "ipv6.icanhazip.com", "Accept": "*/*", - "__X_HTTP_URL": "ipv6.icanhazip.com/", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "ipv6.icanhazip.com/" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -30,7 +30,6 @@ "X-RTFM": "Learn about this site at http://bit.ly/14DAh2o and don't abuse the service", "X-YOU-SHOULD-APPLY-FOR-A-JOB": "If you're reading this, apply here: http://rackertalent.com/", "X-ICANHAZNODE": "icanhazip1.nugget", - "__X_HTTP_PAYLOAD_MD5": "624520ac54235ac2284ed2dd2b17e1ad", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "624520ac54235ac2284ed2dd2b17e1ad" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_over_tcp_keepalive.json b/test/test_result_json/http_over_tcp_keepalive.json index 2231a2d..bfe9744 100644 --- a/test/test_result_json/http_over_tcp_keepalive.json +++ b/test/test_result_json/http_over_tcp_keepalive.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "192.168.56.66.55356>60.190.243.167.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.56.66.55356>60.190.243.167.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/", "req_version": "1.1", @@ -19,11 +19,11 @@ "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9", "Cookie": "UM_distinctid=17d37645f9c1a1-0281befa480414-b7a1a38-144000-17d37645f9d336; CNZZDATA1258295942=1778021578-1637307701-%7C1637307701; Hm_lvt_a6dc86f6e27435039966e994bd7f0792=1637311872; yumi_sid=JaMlFyTA07ikpZjTHZsRTWyGdMqFyFy%2B4hXGj%2FSoQRJYbrfBUQuOTIMZ8jUGmugDC594AYcbeRhg75xidhRxCW4zq9Y0gPwTmkhq4LQuprp4DrtDMLI3L5wLMqkG%2FuAX1aVFPfud5GRNxNFTSp%2Bos%2FKhfCFKhfN5%2BuT2xyVYSAjy2ftiSOGDi7FN13icuuyPhFCoWqOxWVu1CZ3AiYPJssv6kXqiR6paf75icdeROZY2bkFCDKkcIQcPy7o9EKpkL1Mbimeb40JMg9hUsWdmyhDkzVjSHJmC4z2ujpzSDTsjRIQOnxTy1PHZi%2FMwg3uyGLCusDwqbagpO4pcgEJ5ONDy%2BGwO7FmHXU3mFfR56c9HxxiiuLPnBt9ErpqqWKsxH6lUrlHaUp6AzyrgX7PFdksiMfPSk6%2F3%2FWOYr%2FkYuI4fopw7z8%2FLhxC9AiLr9Czz3MngFUGzkmaMVvAhZOSPzg%3D%3D; Hm_lpvt_a6dc86f6e27435039966e994bd7f0792=1637313847", - "__X_HTTP_URL": "www.yumi.com/", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "www.yumi.com/" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -39,7 +39,6 @@ "Pragma": "no-cache", "Cache-Control": "no-store", "Content-Encoding": "gzip", - "__X_HTTP_PAYLOAD_MD5": "af9b1a0118edd2920db355f9eee4ab75", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "af9b1a0118edd2920db355f9eee4ab75" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_post_multipart_form_data.json b/test/test_result_json/http_post_multipart_form_data.json index 68622f1..d65bd6c 100644 --- a/test/test_result_json/http_post_multipart_form_data.json +++ b/test/test_result_json/http_post_multipart_form_data.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "192.168.8.97.11371>192.168.57.14.8080", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.8.97.11371>192.168.57.14.8080" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/fileupload/", "req_version": "1.1", @@ -17,11 +17,11 @@ "Accept-Encoding": "gzip,deflate,sdch", "Accept-Language": "zh-CN,zh;q=0.8", "Cookie": "JSESSIONID=969AC5FBD069EE6218EB10513726B244; JSESSIONID=400CC78DF5784F303702CC7F02C6122C", - "__X_HTTP_URL": "192.168.57.14:8080/fileupload/", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "192.168.57.14:8080/fileupload/" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -31,11 +31,11 @@ "Content-Type": "text/html;charset=UTF-8", "Content-Length": "468", "Date": "Thu, 28 Mar 2019 08:13:33 GMT", - "__X_HTTP_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 1, "method": "GET", "uri": "/fileupload/", "req_version": "1.1", @@ -48,11 +48,11 @@ "Accept-Encoding": "gzip,deflate,sdch", "Accept-Language": "zh-CN,zh;q=0.8", "Cookie": "JSESSIONID=969AC5FBD069EE6218EB10513726B244; JSESSIONID=400CC78DF5784F303702CC7F02C6122C", - "__X_HTTP_URL": "192.168.57.14:8080/fileupload/", - "__X_HTTP_RESULT_INDEX": "3" + "__X_HTTP_URL": "192.168.57.14:8080/fileupload/" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 1, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -62,11 +62,11 @@ "Content-Type": "text/html;charset=UTF-8", "Content-Length": "468", "Date": "Thu, 28 Mar 2019 08:13:33 GMT", - "__X_HTTP_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc", - "__X_HTTP_RESULT_INDEX": "4" + "__X_HTTP_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 2, "method": "POST", "uri": "/fileupload/servlet/UploadHandleServlet", "req_version": "1.1", @@ -85,11 +85,11 @@ "Accept-Language": "zh-CN,zh;q=0.8", "Cookie": "JSESSIONID=969AC5FBD069EE6218EB10513726B244; JSESSIONID=400CC78DF5784F303702CC7F02C6122C", "__X_HTTP_URL": "192.168.57.14:8080/fileupload/servlet/UploadHandleServlet", - "__X_HTTP_PAYLOAD_MD5": "550be33bf0ac01b6f7ac175bb8f4522a", - "__X_HTTP_RESULT_INDEX": "5" + "__X_HTTP_PAYLOAD_MD5": "550be33bf0ac01b6f7ac175bb8f4522a" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 2, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -99,7 +99,6 @@ "Content-Type": "text/html;charset=UTF-8", "Content-Length": "144", "Date": "Thu, 28 Mar 2019 08:13:37 GMT", - "__X_HTTP_PAYLOAD_MD5": "3fa07f3ec9f9fefed96e9886f80760bb", - "__X_HTTP_RESULT_INDEX": "6" + "__X_HTTP_PAYLOAD_MD5": "3fa07f3ec9f9fefed96e9886f80760bb" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_post_single_trans.json b/test/test_result_json/http_post_single_trans.json index 7880736..b6b8c65 100644 --- a/test/test_result_json/http_post_single_trans.json +++ b/test/test_result_json/http_post_single_trans.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "192.168.38.83.55186>192.168.40.139.8080", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.38.83.55186>192.168.40.139.8080" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "POST", "uri": "/", "req_version": "1.1", @@ -20,11 +20,11 @@ "Connection": "keep-alive", "Content-Length": "26", "__X_HTTP_URL": "192.168.40.139:8080/", - "__X_HTTP_PAYLOAD_MD5": "5ffe2871e6d5f6ee25ad7c1bfdd9f7b3", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_PAYLOAD_MD5": "5ffe2871e6d5f6ee25ad7c1bfdd9f7b3" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.0", "res_status": "OK", "major_version": 1, @@ -33,7 +33,6 @@ "Server": "BaseHTTP/0.6 Python/3.6.8", "Date": "Mon, 08 Apr 2024 07:19:16 GMT", "Content-length": "84", - "__X_HTTP_PAYLOAD_MD5": "cd8a54dd3e915946c4df262111e5aa05", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "cd8a54dd3e915946c4df262111e5aa05" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_req_1byte_sliding_window.json b/test/test_result_json/http_req_1byte_sliding_window.json index f027d71..b2aafcc 100644 --- a/test/test_result_json/http_req_1byte_sliding_window.json +++ b/test/test_result_json/http_req_1byte_sliding_window.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "192.168.40.137.46180>192.168.42.40.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.40.137.46180>192.168.42.40.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/index.html", "req_version": "1.1", @@ -14,11 +14,11 @@ "Accept": "*/*", "Host": "192.168.42.40", "__X_HTTP_URL": "192.168.42.40/index.html", - "Connection": "Keep-Alive", - "__X_HTTP_RESULT_INDEX": "1" + "Connection": "Keep-Alive" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.0", "res_status": "OK", "major_version": 1, @@ -29,7 +29,6 @@ "Content-type": "text/html", "Content-Length": "144", "Last-Modified": "Fri, 29 Dec 2023 08:50:53 GMT", - "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_res_1byte_sliding_window.json b/test/test_result_json/http_res_1byte_sliding_window.json index adf86ca..cc1f50b 100644 --- a/test/test_result_json/http_res_1byte_sliding_window.json +++ b/test/test_result_json/http_res_1byte_sliding_window.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "192.168.42.40.36338>192.168.40.137.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.42.40.36338>192.168.40.137.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/index.html", "req_version": "1.1", @@ -14,11 +14,11 @@ "Accept": "*/*", "Host": "192.168.40.137", "Connection": "Keep-Alive", - "__X_HTTP_URL": "192.168.40.137/index.html", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "192.168.40.137/index.html" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.0", "res_status": "OK", "major_version": 1, @@ -29,7 +29,6 @@ "Content-type": "text/html", "Content-Length": "144", "Last-Modified": "Fri, 29 Dec 2023 08:50:53 GMT", - "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_res_gzip.json b/test/test_result_json/http_res_gzip.json index fe2e621..58b0bb7 100644 --- a/test/test_result_json/http_res_gzip.json +++ b/test/test_result_json/http_res_gzip.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "192.168.69.2.34059>192.168.69.1.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.69.2.34059>192.168.69.1.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/test/ethereal.html", "req_version": "1.1", @@ -19,11 +19,11 @@ "Keep-Alive": "300", "Connection": "keep-alive", "Cookie": "FGNCLIID=05c04axp1yaqynldtcdiwis0ag1", - "__X_HTTP_URL": "cerberus/test/ethereal.html", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "cerberus/test/ethereal.html" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "OK", "major_version": 1, @@ -39,7 +39,6 @@ "Content-Length": "92", "Connection": "close", "Content-Type": "text/html; charset=UTF-8", - "__X_HTTP_PAYLOAD_MD5": "61b9e97f96045587bb55db781f7543ad", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "61b9e97f96045587bb55db781f7543ad" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_trans_pipeline.json b/test/test_result_json/http_trans_pipeline.json index 94ffec8..aadf9ca 100644 --- a/test/test_result_json/http_trans_pipeline.json +++ b/test/test_result_json/http_trans_pipeline.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "223.72.39.14.2545>192.168.182.147.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "223.72.39.14.2545>192.168.182.147.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/postinfo.html", "req_version": "1.1", @@ -13,11 +13,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/postinfo.html", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "116.181.2.152/postinfo.html" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 1, "method": "GET", "uri": "/_vti_bin/_vti_aut/author.dll", "req_version": "1.1", @@ -26,11 +26,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/author.dll", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/author.dll" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 2, "method": "GET", "uri": "/_vti_bin/_vti_aut/author.exe", "req_version": "1.1", @@ -39,11 +39,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/author.exe", - "__X_HTTP_RESULT_INDEX": "3" + "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/author.exe" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 3, "method": "GET", "uri": "/_vti_bin/_vti_aut/dvwssr.dll", "req_version": "1.1", @@ -52,11 +52,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/dvwssr.dll", - "__X_HTTP_RESULT_INDEX": "4" + "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/dvwssr.dll" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 4, "method": "GET", "uri": "/_vti_bin/_vti_adm/admin.dll", "req_version": "1.1", @@ -65,11 +65,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_adm/admin.dll", - "__X_HTTP_RESULT_INDEX": "5" + "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_adm/admin.dll" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 5, "method": "GET", "uri": "/_vti_bin/_vti_adm/admin.exe", "req_version": "1.1", @@ -78,11 +78,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_adm/admin.exe", - "__X_HTTP_RESULT_INDEX": "6" + "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_adm/admin.exe" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 6, "method": "GET", "uri": "/_vti_bin/fpcount.exe?Page=default.asp|Image=3", "req_version": "1.1", @@ -91,11 +91,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_bin/fpcount.exe?Page=default.asp|Image=3", - "__X_HTTP_RESULT_INDEX": "7" + "__X_HTTP_URL": "116.181.2.152/_vti_bin/fpcount.exe?Page=default.asp|Image=3" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "Not Found", "major_version": 1, @@ -106,11 +106,11 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", - "__X_HTTP_PAYLOAD_MD5": "32dc0b2772bd73a952abba009291a399", - "__X_HTTP_RESULT_INDEX": "8" + "__X_HTTP_PAYLOAD_MD5": "32dc0b2772bd73a952abba009291a399" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 1, "res_version": "1.1", "res_status": "Not Found", "major_version": 1, @@ -121,11 +121,11 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", - "__X_HTTP_PAYLOAD_MD5": "db2ff8008149d8e70d8a2929acbb0f56", - "__X_HTTP_RESULT_INDEX": "9" + "__X_HTTP_PAYLOAD_MD5": "db2ff8008149d8e70d8a2929acbb0f56" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 2, "res_version": "1.1", "res_status": "Not Found", "major_version": 1, @@ -136,11 +136,11 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", - "__X_HTTP_PAYLOAD_MD5": "f5df152f7d8f34c630f298d2fcb46ed3", - "__X_HTTP_RESULT_INDEX": "10" + "__X_HTTP_PAYLOAD_MD5": "f5df152f7d8f34c630f298d2fcb46ed3" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 3, "res_version": "1.1", "res_status": "Not Found", "major_version": 1, @@ -151,11 +151,11 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", - "__X_HTTP_PAYLOAD_MD5": "73e98ca7b62764869357b3e3c40dcd68", - "__X_HTTP_RESULT_INDEX": "11" + "__X_HTTP_PAYLOAD_MD5": "73e98ca7b62764869357b3e3c40dcd68" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 4, "res_version": "1.1", "res_status": "Not Found", "major_version": 1, @@ -166,11 +166,11 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", - "__X_HTTP_PAYLOAD_MD5": "a5733c8989bde7f08506fa68c20f0c62", - "__X_HTTP_RESULT_INDEX": "12" + "__X_HTTP_PAYLOAD_MD5": "a5733c8989bde7f08506fa68c20f0c62" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 7, "method": "GET", "uri": "/_vti_bin/shtml.dll", "req_version": "1.1", @@ -179,11 +179,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "__X_HTTP_URL": "116.181.2.152/_vti_bin/shtml.dll", - "Connection": "keep-alive", - "__X_HTTP_RESULT_INDEX": "13" + "Connection": "keep-alive" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 8, "method": "GET", "uri": "/_vti_bin/shtml.exe", "req_version": "1.1", @@ -192,11 +192,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_bin/shtml.exe", - "__X_HTTP_RESULT_INDEX": "14" + "__X_HTTP_URL": "116.181.2.152/_vti_bin/shtml.exe" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 9, "method": "GET", "uri": "/_vti_pvt/_x_todo.htm", "req_version": "1.1", @@ -205,11 +205,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_pvt/_x_todo.htm", - "__X_HTTP_RESULT_INDEX": "15" + "__X_HTTP_URL": "116.181.2.152/_vti_pvt/_x_todo.htm" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 10, "method": "GET", "uri": "/_vti_pvt/_x_todoh.htm", "req_version": "1.1", @@ -218,11 +218,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_pvt/_x_todoh.htm", - "__X_HTTP_RESULT_INDEX": "16" + "__X_HTTP_URL": "116.181.2.152/_vti_pvt/_x_todoh.htm" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 11, "method": "GET", "uri": "/_vti_pvt/access.cnf", "req_version": "1.1", @@ -231,11 +231,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_pvt/access.cnf", - "__X_HTTP_RESULT_INDEX": "17" + "__X_HTTP_URL": "116.181.2.152/_vti_pvt/access.cnf" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 12, "method": "GET", "uri": "/_vti_pvt/administrator.pwd", "req_version": "1.1", @@ -244,11 +244,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_pvt/administrator.pwd", - "__X_HTTP_RESULT_INDEX": "18" + "__X_HTTP_URL": "116.181.2.152/_vti_pvt/administrator.pwd" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 13, "method": "GET", "uri": "/_vti_pvt/administrators.pwd", "req_version": "1.1", @@ -257,11 +257,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_pvt/administrators.pwd", - "__X_HTTP_RESULT_INDEX": "19" + "__X_HTTP_URL": "116.181.2.152/_vti_pvt/administrators.pwd" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 14, "method": "GET", "uri": "/_vti_pvt/authors.pwd", "req_version": "1.1", @@ -270,11 +270,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_pvt/authors.pwd", - "__X_HTTP_RESULT_INDEX": "20" + "__X_HTTP_URL": "116.181.2.152/_vti_pvt/authors.pwd" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 5, "res_version": "1.1", "res_status": "Not Found", "major_version": 1, @@ -285,11 +285,11 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", - "__X_HTTP_PAYLOAD_MD5": "4bc0dde3722f76d60fef6f1d878cbb14", - "__X_HTTP_RESULT_INDEX": "21" + "__X_HTTP_PAYLOAD_MD5": "4bc0dde3722f76d60fef6f1d878cbb14" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 6, "res_version": "1.1", "res_status": "Not Found", "major_version": 1, @@ -300,11 +300,11 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", - "__X_HTTP_PAYLOAD_MD5": "728dc2eafd49c9be8149add7c6aff207", - "__X_HTTP_RESULT_INDEX": "22" + "__X_HTTP_PAYLOAD_MD5": "728dc2eafd49c9be8149add7c6aff207" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 7, "res_version": "1.1", "res_status": "Not Found", "major_version": 1, @@ -315,11 +315,11 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", - "__X_HTTP_PAYLOAD_MD5": "0cde98e33181ee0ded49e8d0a3178d55", - "__X_HTTP_RESULT_INDEX": "23" + "__X_HTTP_PAYLOAD_MD5": "0cde98e33181ee0ded49e8d0a3178d55" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 8, "res_version": "1.1", "res_status": "Not Found", "major_version": 1, @@ -330,11 +330,11 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", - "__X_HTTP_PAYLOAD_MD5": "d627268e0aba817d818b6e2b7e41aa11", - "__X_HTTP_RESULT_INDEX": "24" + "__X_HTTP_PAYLOAD_MD5": "d627268e0aba817d818b6e2b7e41aa11" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 9, "res_version": "1.1", "res_status": "Not Found", "major_version": 1, @@ -345,11 +345,11 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", - "__X_HTTP_PAYLOAD_MD5": "e99d9829d50bd94b3497b91011f6e349", - "__X_HTTP_RESULT_INDEX": "25" + "__X_HTTP_PAYLOAD_MD5": "e99d9829d50bd94b3497b91011f6e349" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 15, "method": "GET", "uri": "/_vti_pvt/bots.cnf", "req_version": "1.1", @@ -358,11 +358,11 @@ "Host": "116.181.2.152", "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Connection": "keep-alive", - "__X_HTTP_URL": "116.181.2.152/_vti_pvt/bots.cnf", - "__X_HTTP_RESULT_INDEX": "26" + "__X_HTTP_URL": "116.181.2.152/_vti_pvt/bots.cnf" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 10, "res_version": "1.1", "res_status": "Not Found", "major_version": 1, @@ -373,7 +373,6 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", - "__X_HTTP_PAYLOAD_MD5": "99a813d29c5da4e6f7269be4c1a31c8e", - "__X_HTTP_RESULT_INDEX": "27" + "__X_HTTP_PAYLOAD_MD5": "99a813d29c5da4e6f7269be4c1a31c8e" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_tunnel_for_pop3.json b/test/test_result_json/http_tunnel_for_pop3.json index d12889c..9bf2f41 100644 --- a/test/test_result_json/http_tunnel_for_pop3.json +++ b/test/test_result_json/http_tunnel_for_pop3.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "192.168.10.58.51798>192.168.10.144.808", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.10.58.51798>192.168.10.144.808" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "CONNECT", "uri": "pop.163.com:110", "req_version": "1.1", @@ -17,18 +17,17 @@ "Proxy-Connection": "Keep-Alive", "Connection": "Keep-Alive", "Host": "192.168.10.144", - "__X_HTTP_URL": "192.168.10.144pop.163.com:110", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "192.168.10.144/pop.163.com:110" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "Connection established", "major_version": 1, "minor_version": 1, "status_code": 200, "Proxy-agent": "CCProxy", - "__X_HTTP_PAYLOAD_MD5": "3d51846928a2dcf7a6c06e68b2b85105", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "8a9716c4f06c88bb9482f50c25b39032" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_upgrade_http2.json b/test/test_result_json/http_upgrade_http2.json index 3d455a5..5d05db4 100644 --- a/test/test_result_json/http_upgrade_http2.json +++ b/test/test_result_json/http_upgrade_http2.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "10.9.0.2.58038>139.162.123.134.80", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "10.9.0.2.58038>139.162.123.134.80" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/robots.txt", "req_version": "1.1", @@ -16,27 +16,26 @@ "Connection": "Upgrade, HTTP2-Settings", "Upgrade": "h2c", "HTTP2-Settings": "AAMAAABkAARAAAAAAAIAAAAA", - "__X_HTTP_URL": "nghttp2.org/robots.txt", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "nghttp2.org/robots.txt" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 1, "method": "PRI", "uri": "*", "req_version": "2.0", "major_version": 2, - "minor_version": 0, - "__X_HTTP_RESULT_INDEX": "2" + "minor_version": 0 }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "Switching Protocols", "major_version": 1, "minor_version": 1, "status_code": 101, "Connection": "Upgrade", - "Upgrade": "h2c", - "__X_HTTP_RESULT_INDEX": "3" + "Upgrade": "h2c" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_upgrade_websocket.json b/test/test_result_json/http_upgrade_websocket.json index 33e7336..650a0ca 100644 --- a/test/test_result_json/http_upgrade_websocket.json +++ b/test/test_result_json/http_upgrade_websocket.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "131.179.196.220.59631>131.179.196.46.9696", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "131.179.196.220.59631>131.179.196.46.9696" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/", "req_version": "1.1", @@ -23,11 +23,11 @@ "Cookie": "s_cc=true; s_sq=%5B%5BB%5D%5D; iwe_user_noticecount_urn%3amace%3aucla.edu%3appid%3aperson%3a1223EF7211FC4EC1965579D0B8D85FBA=2; __utma=125574670.1759122974.1407127284.1407127284.1415755402.2; __utmc=125574670; __utma=126236063.2139843507.1390525421.1433785187.1435706244.46; __utmc=126236063; __utmz=126236063.1427934389.33.5.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); _ucla_sso=2015-07-02T11%3A34%3A30-07%3A00; _ga=GA1.2.1759122974.1407127284", "Sec-WebSocket-Key": "sgD1adxQ3mk6BbBqab7owA==", "Sec-WebSocket-Extensions": "permessage-deflate; client_max_window_bits", - "__X_HTTP_URL": "spurs.cs.ucla.edu:9696/", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "spurs.cs.ucla.edu:9696/" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.1", "res_status": "Switching Protocols", "major_version": 1, @@ -36,7 +36,6 @@ "Connection": "upgrade", "Sec-WebSocket-Accept": "FRh9fmH0UaoLdY5BSFO4hP2Pcjw=", "Server": "WebSocket++/0.5.1", - "Upgrade": "websocket", - "__X_HTTP_RESULT_INDEX": "2" + "Upgrade": "websocket" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_url_test_with_host.json b/test/test_result_json/http_url_test_with_host.json index 1af82cf..019a9a2 100644 --- a/test/test_result_json/http_url_test_with_host.json +++ b/test/test_result_json/http_url_test_with_host.json @@ -1,10 +1,10 @@ [ { - "__X_HTTP_TUPLE4": "192.168.244.1.52412>192.168.244.128.8080", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.244.1.52412>192.168.244.128.8080" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/urltest/ttt", "req_version": "1.1", @@ -17,11 +17,11 @@ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8", - "__X_HTTP_URL": "192.168.244.128:8080/urltest/ttt", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "192.168.244.128:8080/urltest/ttt" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.0", "res_status": "OK", "major_version": 1, @@ -30,7 +30,6 @@ "Server": "BaseHTTP/0.6 Python/3.6.8", "Date": "Thu, 14 Mar 2024 07:37:43 GMT", "Content-type": "application/json", - "__X_HTTP_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_url_test_without_host.json b/test/test_result_json/http_url_test_without_host.json index cb448f9..c9ad313 100644 --- a/test/test_result_json/http_url_test_without_host.json +++ b/test/test_result_json/http_url_test_without_host.json @@ -1,21 +1,21 @@ [ { - "__X_HTTP_TUPLE4": "192.168.244.128.44868>192.168.244.128.8080", - "__X_HTTP_RESULT_INDEX": "0" + "__X_HTTP_TUPLE4": "192.168.244.128.44868>192.168.244.128.8080" }, { "__X_HTTP_TRANSACTION": "request", + "__X_HTTP_TRANSACTION_SEQ": 0, "method": "GET", "uri": "/urltest/ttt", "req_version": "1.1", "major_version": 1, "minor_version": 1, "User-Agent": "no h", - "__X_HTTP_URL": "192.168.244.128:8080/urltest/ttt", - "__X_HTTP_RESULT_INDEX": "1" + "__X_HTTP_URL": "192.168.244.128:8080/urltest/ttt" }, { "__X_HTTP_TRANSACTION": "response", + "__X_HTTP_TRANSACTION_SEQ": 0, "res_version": "1.0", "res_status": "OK", "major_version": 1, @@ -24,7 +24,6 @@ "Server": "BaseHTTP/0.6 Python/3.6.8", "Date": "Thu, 14 Mar 2024 06:15:20 GMT", "Content-type": "application/json", - "__X_HTTP_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9", - "__X_HTTP_RESULT_INDEX": "2" + "__X_HTTP_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9" } ]
\ No newline at end of file |
