refactor: packet dump utils

This commit is contained in:
luwenpeng
2024-08-13 10:24:26 +08:00
parent ff8630e436
commit 03468d55be
13 changed files with 200 additions and 186 deletions

View File

@@ -135,12 +135,12 @@ TEST(PACKET_CRAFT_TCP, ETH_IP4_TCP)
memset(&orig_pkt, 0, sizeof(orig_pkt));
packet_parse(&orig_pkt, (const char *)data1, sizeof(data1));
PRINT_GREEN("origin packet:");
packet_print(&orig_pkt);
packet_dump_stdio(&orig_pkt);
struct packet *new_pkt = craft_tcp_packet(&orig_pkt, 1, 2, TH_ACK, (const char *)&ts_pad_opt, sizeof(ts_pad_opt), "Hello", 5);
EXPECT_TRUE(new_pkt != nullptr);
PRINT_GREEN("new packet:");
packet_print(new_pkt);
packet_dump_stdio(new_pkt);
packet_dump_hex(new_pkt, STDOUT_FILENO);
packet_dump_pcap(new_pkt, "craft-eth-ipv4-tcp.pcap");
@@ -272,12 +272,12 @@ TEST(PACKET_CRAFT_TCP, ETH_IP4_IP6_TCP)
memset(&orig_pkt, 0, sizeof(orig_pkt));
packet_parse(&orig_pkt, (const char *)data2, sizeof(data2));
PRINT_GREEN("origin packet:");
packet_print(&orig_pkt);
packet_dump_stdio(&orig_pkt);
struct packet *new_pkt = craft_tcp_packet(&orig_pkt, 1234, 2345, TH_ACK, NULL, 0, "Hello", 5);
EXPECT_TRUE(new_pkt != nullptr);
PRINT_GREEN("new packet:");
packet_print(new_pkt);
packet_dump_stdio(new_pkt);
packet_dump_hex(new_pkt, STDOUT_FILENO);
packet_dump_pcap(new_pkt, "craft-eth-ipv4-ipv6-tcp.pcap");
@@ -488,12 +488,12 @@ TEST(PACKET_CRAFT_TCP, ETH_IP6_UDP_GTP_IP4_TCP)
memset(&orig_pkt, 0, sizeof(orig_pkt));
packet_parse(&orig_pkt, (const char *)data3, sizeof(data3));
PRINT_GREEN("origin packet:");
packet_print(&orig_pkt);
packet_dump_stdio(&orig_pkt);
struct packet *new_pkt = craft_tcp_packet(&orig_pkt, 1, 2, TH_ACK, NULL, 0, "Hello", 5);
EXPECT_TRUE(new_pkt != nullptr);
PRINT_GREEN("new packet:");
packet_print(new_pkt);
packet_dump_stdio(new_pkt);
packet_dump_hex(new_pkt, STDOUT_FILENO);
packet_dump_pcap(new_pkt, "craft-eth-ipv6-udp-gtp-ipv4-tcp.pcap");
@@ -709,12 +709,12 @@ TEST(PACKET_CRAFT_TCP, ETH_IP4_GRE_IP6_TCP)
memset(&orig_pkt, 0, sizeof(orig_pkt));
packet_parse(&orig_pkt, (const char *)data4, sizeof(data4));
PRINT_GREEN("origin packet:");
packet_print(&orig_pkt);
packet_dump_stdio(&orig_pkt);
struct packet *new_pkt = craft_tcp_packet(&orig_pkt, 1, 2, TH_ACK, NULL, 0, "Hello", 5);
EXPECT_TRUE(new_pkt != nullptr);
PRINT_GREEN("new packet:");
packet_print(new_pkt);
packet_dump_stdio(new_pkt);
packet_dump_hex(new_pkt, STDOUT_FILENO);
packet_dump_pcap(new_pkt, "craft-eth-ipv4-gre-ipv6-tcp.pcap");
@@ -936,12 +936,12 @@ TEST(PACKET_CRAFT_UDP, ETH_VLAN_IPv6_IPv4_GRE_PPP_IPv4_UDP_DNS)
memset(&orig_pkt, 0, sizeof(orig_pkt));
packet_parse(&orig_pkt, (const char *)data5, sizeof(data5));
PRINT_GREEN("origin packet:");
packet_print(&orig_pkt);
packet_dump_stdio(&orig_pkt);
struct packet *new_pkt = craft_udp_packet(&orig_pkt, "Hello", 5);
EXPECT_TRUE(new_pkt != nullptr);
PRINT_GREEN("new packet:");
packet_print(new_pkt);
packet_dump_stdio(new_pkt);
packet_dump_hex(new_pkt, STDOUT_FILENO);
packet_dump_pcap(new_pkt, "craft-eth-vlan-ipv6-ipv4-gre-ppp-ipv4-udp-dns.pcap");
@@ -1060,7 +1060,7 @@ TEST(PACKET_CRAFT_L3, ETH_IP4_ICMP)
memset(&orig_pkt, 0, sizeof(orig_pkt));
packet_parse(&orig_pkt, (const char *)data1, sizeof(data1));
PRINT_GREEN("origin packet:");
packet_print(&orig_pkt);
packet_dump_stdio(&orig_pkt);
struct icmphdr *icmp = (struct icmphdr *)icmp_resp;
icmp->checksum = 0;
@@ -1069,7 +1069,7 @@ TEST(PACKET_CRAFT_L3, ETH_IP4_ICMP)
struct packet *new_pkt = craft_l3_packet(&orig_pkt, IPPROTO_ICMP, (const char *)icmp_resp, sizeof(icmp_resp));
EXPECT_TRUE(new_pkt != nullptr);
PRINT_GREEN("new packet:");
packet_print(new_pkt);
packet_dump_stdio(new_pkt);
packet_dump_hex(new_pkt, STDOUT_FILENO);
packet_dump_pcap(new_pkt, "craft-eth-ipv4-icmpv4.pcap");
@@ -1145,7 +1145,7 @@ TEST(PACKET_CRAFT_L3, ETH_IP6_ICMP)
memset(&orig_pkt, 0, sizeof(orig_pkt));
packet_parse(&orig_pkt, (const char *)data2, sizeof(data2));
PRINT_GREEN("origin packet:");
packet_print(&orig_pkt);
packet_dump_stdio(&orig_pkt);
struct icmp6_hdr *icmp = (struct icmp6_hdr *)icmp_resp;
icmp->icmp6_cksum = 0;
@@ -1164,7 +1164,7 @@ TEST(PACKET_CRAFT_L3, ETH_IP6_ICMP)
struct packet *new_pkt = craft_l3_packet(&orig_pkt, IPPROTO_ICMPV6, (const char *)icmp_resp, sizeof(icmp_resp));
EXPECT_TRUE(new_pkt != nullptr);
PRINT_GREEN("new packet:");
packet_print(new_pkt);
packet_dump_stdio(new_pkt);
packet_dump_hex(new_pkt, STDOUT_FILENO);
packet_dump_pcap(new_pkt, "craft-eth-ipv4-ipv6-icmpv6.pcap");

View File

@@ -4,6 +4,7 @@
#include "packet_def.h"
#include "packet_ldbc.h"
#include "packet_parse.h"
#include "packet_dump.h"
/******************************************************************************
* [Protocols in frame: eth:ethertype:ip:ipv6:tcp]
@@ -76,7 +77,7 @@ TEST(PACKET_LDBC, HASH_VALUE)
const char *payload = packet_parse(&handler, (const char *)data, sizeof(data));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data == 106);
packet_print(&handler);
packet_dump_stdio(&handler);
// buffer: "2001:da8:200:900e:200:5efe:d24d:58a3 0 2600:140e:6::1702:1058 0"
// buffer: "210.77.88.163 0 59.66.4.50 0"

View File

@@ -6,6 +6,7 @@
#include "packet_parse.h"
#include "packet_utils.h"
#include "packet_layer.h"
#include "packet_dump.h"
/******************************************************************************
* [Protocols in frame: eth:ethertype:vlan:ethertype:vlan:ethertype:ip:ip:udp:data]
@@ -87,7 +88,7 @@ TEST(PACKET_PARSE, ETH_VLAN_VLAN_IP4_IP4_UDP)
const char *payload = packet_parse(&handler, (const char *)data1, sizeof(data1));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data1 == 70);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -291,7 +292,7 @@ TEST(PACKET_PARSE, ETH_IP6_IP4_TCP_SSH)
const char *payload = packet_parse(&handler, (const char *)data2, sizeof(data2));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data2 == 94);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -484,7 +485,7 @@ TEST(PACKET_PARSE, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
const char *payload = packet_parse(&handler, (const char *)data3, sizeof(data3));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data3 == 126);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -691,7 +692,7 @@ TEST(PACKET_PARSE, ETH_IP4_IP6_TCP)
const char *payload = packet_parse(&handler, (const char *)data4, sizeof(data4));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data4 == 106);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -846,7 +847,7 @@ TEST(PACKET_PARSE, ETH_IP6_IP6_UDP)
const char *payload = packet_parse(&handler, (const char *)data5, sizeof(data5));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data5 == 102);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -1002,7 +1003,7 @@ TEST(PACKET_PARSE, ETH_MPLS_IP4_TCP)
const char *payload = packet_parse(&handler, (const char *)data6, sizeof(data6));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data6 == 70);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -1169,7 +1170,7 @@ TEST(PACKET_PARSE, ETH_MPLS_MPLS_IP4_TCP)
const char *payload = packet_parse(&handler, (const char *)data7, sizeof(data7));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data7 == 66);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -1346,7 +1347,7 @@ TEST(PACKET_PARSE, ETH_VLAN_PPPOE_IP4_TCP)
const char *payload = packet_parse(&handler, (const char *)data8, sizeof(data8));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data8 == 78);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -1599,7 +1600,7 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
const char *payload = packet_parse(&handler, (const char *)data9, sizeof(data9));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data9 == 130);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -1853,7 +1854,7 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
const char *payload = packet_parse(&handler, (const char *)data10, sizeof(data10));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data10 == 122);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -2055,7 +2056,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
const char *payload = packet_parse(&handler, (const char *)data11, sizeof(data11));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data11 == 92);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -2212,7 +2213,7 @@ TEST(PACKET_PARSE, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
const char *payload = packet_parse(&handler, (const char *)data12, sizeof(data12));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data12 == 40);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -2349,7 +2350,7 @@ TEST(PACKET_PARSE, ETH_IP4_ICMP)
const char *payload = packet_parse(&handler, (const char *)data13, sizeof(data13));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data13 == 14 + 20 + 8);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -2455,7 +2456,7 @@ TEST(PACKET_PARSE, ETH_IP6_ICMP6)
const char *payload = packet_parse(&handler, (const char *)data14, sizeof(data14));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data14 == 14 + 40 + 8);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -2620,7 +2621,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
const char *payload = packet_parse(&handler, (const char *)data15, sizeof(data15));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data15 == 14 + 20 + 8 + 8 + 4 + 20 + 8);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer
@@ -2785,7 +2786,7 @@ TEST(PACKET_PARSE, ETH_IP4_TCP_PADDING)
const char *payload = packet_parse(&handler, (const char *)data16, sizeof(data16));
EXPECT_TRUE(payload != nullptr);
EXPECT_TRUE((char *)payload - (char *)&data16 == 14 + 20 + 20);
packet_print(&handler);
packet_dump_stdio(&handler);
/******************************************************
* packet_get_outermost/innermost_layer

View File

@@ -7,6 +7,7 @@
#include "vxlan_utils.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_dump.h"
#include "stellar/layer.h"
#include "stellar/tunnel.h"
@@ -549,7 +550,7 @@ TEST(TUNNEL, IPV4)
memset(&pkt, 0, sizeof(pkt));
packet_parse(&pkt, (const char *)data1, sizeof(data1));
packet_print(&pkt);
packet_dump_stdio(&pkt);
EXPECT_TRUE(packet_get_tunnel_count(&pkt) == 1);
@@ -577,7 +578,7 @@ TEST(TUNNEL, GRE)
memset(&pkt, 0, sizeof(pkt));
packet_parse(&pkt, (const char *)data2, sizeof(data2));
packet_print(&pkt);
packet_dump_stdio(&pkt);
EXPECT_TRUE(packet_get_tunnel_count(&pkt) == 2);
@@ -611,7 +612,7 @@ TEST(TUNNEL, GTP)
memset(&pkt, 0, sizeof(pkt));
packet_parse(&pkt, (const char *)data3, sizeof(data3));
packet_print(&pkt);
packet_dump_stdio(&pkt);
EXPECT_TRUE(packet_get_tunnel_count(&pkt) == 1);
@@ -640,7 +641,7 @@ TEST(TUNNEL, VXLAN)
memset(&pkt, 0, sizeof(pkt));
packet_parse(&pkt, (const char *)data4, sizeof(data4));
packet_print(&pkt);
packet_dump_stdio(&pkt);
EXPECT_TRUE(packet_get_tunnel_count(&pkt) == 1);
@@ -669,7 +670,7 @@ TEST(TUNNEL, L2TP)
memset(&pkt, 0, sizeof(pkt));
packet_parse(&pkt, (const char *)data5, sizeof(data5));
packet_print(&pkt);
packet_dump_stdio(&pkt);
EXPECT_TRUE(packet_get_tunnel_count(&pkt) == 1);
@@ -698,7 +699,7 @@ TEST(TUNNEL, TEREDO)
memset(&pkt, 0, sizeof(pkt));
packet_parse(&pkt, (const char *)data6, sizeof(data6));
packet_print(&pkt);
packet_dump_stdio(&pkt);
EXPECT_TRUE(packet_get_tunnel_count(&pkt) == 1);