diff options
| author | luwenpeng <[email protected]> | 2024-05-15 15:45:25 +0800 |
|---|---|---|
| committer | luwenpeng <[email protected]> | 2024-05-15 16:09:24 +0800 |
| commit | 5e10870833a630e50a6b8690f13024bd08e3012a (patch) | |
| tree | 42d71f9cd9cc3030c4f331633eb13a4372527fa9 | |
| parent | bb55ea68e0f3629eb1fe71c3537785ffcb577eac (diff) | |
Add test case: inject IPv4 based TCP RST packet after recv C2S first payload
| -rw-r--r-- | test/README.md | 3 | ||||
| -rw-r--r-- | test/gtest_inject_tcp_rst.cpp | 32 | ||||
| -rw-r--r-- | test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/raw/fw.pcap | bin | 0 -> 5000 bytes | |||
| -rw-r--r-- | test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/raw/virtio_dign_c.pcap | bin | 0 -> 541 bytes | |||
| -rw-r--r-- | test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/raw/virtio_dign_s.pcap | bin | 0 -> 356 bytes | |||
| -rw-r--r-- | test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/expect-192.0.2.110:80-192.0.2.211:35116-2.pcap | bin | 0 -> 94 bytes | |||
| -rw-r--r-- | test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/expect-192.0.2.211:35116-192.0.2.110:80-1.pcap | bin | 0 -> 94 bytes | |||
| -rw-r--r-- | test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/input.pcap | bin | 0 -> 2484 bytes |
8 files changed, 34 insertions, 1 deletions
diff --git a/test/README.md b/test/README.md index 258c239..d0ce9ff 100644 --- a/test/README.md +++ b/test/README.md @@ -37,4 +37,5 @@ curl -v http://http.badssl.selftest.gdnt-cloud.website --resolve "http.badssl.se | ----------- | ----------- | ----------- | ---------------------------- | ----------- | | tcp-rst | c2s-packet | 1 | After recv SYN | Failed | | tcp-rst | s2c-packet | 1 | After recv SYN-ACK | Success | -| tcp-rst | c2s-packet | 2 | After recv Sub-ACK | Success |
\ No newline at end of file +| tcp-rst | c2s-packet | 2 | After recv Sub-ACK | Success | +| tcp-rst | c2s-packet | 3 | Atter recv C2S First-Payload | Success |
\ No newline at end of file diff --git a/test/gtest_inject_tcp_rst.cpp b/test/gtest_inject_tcp_rst.cpp index cb02f52..05edaac 100644 --- a/test/gtest_inject_tcp_rst.cpp +++ b/test/gtest_inject_tcp_rst.cpp @@ -66,6 +66,38 @@ TEST(INJECT_IPV4_BASED_TCP_RST, AFTER_RECV_SUB_ACK) } #endif +#if 1 +TEST(INJECT_IPV4_BASED_TCP_RST, AFTER_RECV_C2S_FIRST_PAYLOAD) +{ + struct packet_injector_case test = { + // descriptor + .finish_clean_work_dir = 1, + .descriptor = "Inject IPv4 based TCP RST after receiving C2S first payload packet.", + .work_dir = "/tmp/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/", // user defined work directory + + // prefix + .input_prefix = "pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/", + .output_prefix = "/tmp/", + + // input pcap + .input_pcap = "input.pcap", + + // compare + .c2s_expect_pcap = "expect-192.0.2.211:35116-192.0.2.110:80-1.pcap", + .c2s_output_pcap = "inject-192.0.2.211:35116-192.0.2.110:80-1.pcap", + + .s2c_expect_pcap = "expect-192.0.2.110:80-192.0.2.211:35116-2.pcap", + .s2c_output_pcap = "inject-192.0.2.110:80-192.0.2.211:35116-2.pcap", + + // packet injector command + .packet_injector_cmd = "./packet_injector -t tcp-rst -c c2s-packet -n 3", + .diff_skip_pattern = "-I frame.time -I frame.time_epoch -I ip.id -I ip.ttl -I ip.checksum -I tcp.checksum -I tcp.window_size", + }; + + packet_injector_test_frame_run(&test); +} +#endif + int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); diff --git a/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/raw/fw.pcap b/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/raw/fw.pcap Binary files differnew file mode 100644 index 0000000..510bd0f --- /dev/null +++ b/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/raw/fw.pcap diff --git a/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/raw/virtio_dign_c.pcap b/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/raw/virtio_dign_c.pcap Binary files differnew file mode 100644 index 0000000..3f8ca77 --- /dev/null +++ b/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/raw/virtio_dign_c.pcap diff --git a/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/raw/virtio_dign_s.pcap b/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/raw/virtio_dign_s.pcap Binary files differnew file mode 100644 index 0000000..9793ae5 --- /dev/null +++ b/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/raw/virtio_dign_s.pcap diff --git a/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/expect-192.0.2.110:80-192.0.2.211:35116-2.pcap b/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/expect-192.0.2.110:80-192.0.2.211:35116-2.pcap Binary files differnew file mode 100644 index 0000000..d5f9c1c --- /dev/null +++ b/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/expect-192.0.2.110:80-192.0.2.211:35116-2.pcap diff --git a/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/expect-192.0.2.211:35116-192.0.2.110:80-1.pcap b/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/expect-192.0.2.211:35116-192.0.2.110:80-1.pcap Binary files differnew file mode 100644 index 0000000..b78dcbb --- /dev/null +++ b/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/expect-192.0.2.211:35116-192.0.2.110:80-1.pcap diff --git a/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/input.pcap b/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/input.pcap Binary files differnew file mode 100644 index 0000000..4ad0fa9 --- /dev/null +++ b/test/pcap/inject_ipv4_based_tcp_rst_after_recv_c2s_first_payload/test/input.pcap |
