diff options
Diffstat (limited to 'src/tcpdump.c')
| -rw-r--r-- | src/tcpdump.c | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/tcpdump.c b/src/tcpdump.c index e5d6d78..13a4cf3 100644 --- a/src/tcpdump.c +++ b/src/tcpdump.c @@ -54,7 +54,6 @@ static int greedy_seek_flag = 0; /* 偏移到最内层IP, 便于隧道模式下� static int dump_to_file_flag = 0; /* 是否有-w 参数, 原有标准的WFileName变量是main()的局部变量, 不方便使用, 使用此变量表示是否写文件 */ static int has_device_flag = 0; /* 是否有-i, -r参数, 原有标准的device变量是main()的局部变量, 不方便使用, 使用此变量表示是否从某个网卡捕包 */ static int has_bpf_filter_flag = 0; /* 是否有正确的BPF过滤条件 */ -extern int treat_vlan_as_mac_in_mac_sw; static short pkt_classify_flag = 0; static char pkt_classify_watermark_sw = 0; int tcpdump_r_offline_mode = 0; /* 从pcap文件里读包, 而不是来源于sapp, 主要是应对有-o参数时处理模式不一样 */ @@ -533,7 +532,7 @@ show_devices_and_exit (void) #define OPTION_IMMEDIATE_MODE 130 #if MESA_DUMP -#define OPTION_VLAN_AS_MAC_IN_MAC 131 /* 短参数不够用了, 增加长参数 */ +//#define OPTION_VLAN_AS_MAC_IN_MAC 131 /* 短参数不够用了, 增加长参数 */ #define OPTION_PKT_CLASSIFY 132 /* 增加长参数包类型,定义见PKT_DUMP_OPT_CLASSIFY */ #define OPTION_PKT_CLASSIFY_WATERMARK 133 /* PKT_DUMP_OPT_CLASSIFY_WATERMARK */ #endif @@ -578,7 +577,7 @@ static const struct option longopts[] = { { "number", no_argument, NULL, '#' }, { "version", no_argument, NULL, OPTION_VERSION }, #if MESA_DUMP - { "vlan-as-mac-in-mac", no_argument, NULL, OPTION_VLAN_AS_MAC_IN_MAC }, + //{ "vlan-as-mac-in-mac", no_argument, NULL, OPTION_VLAN_AS_MAC_IN_MAC }, { "classify", required_argument, NULL, OPTION_PKT_CLASSIFY }, { "enable_classify_watermark", no_argument, NULL, OPTION_PKT_CLASSIFY_WATERMARK }, #endif @@ -833,7 +832,7 @@ static int MESA_dump_seek_to_inner(char *pkt_buf, int pktlen) first_ip_layer = NULL; } - ip4hdr_greedy = (struct mesa_ip4_hdr *)MESA_net_jump_to_layer_greedy(pkt_buf, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V4); + ip4hdr_greedy = (struct mesa_ip4_hdr *)MESA_jump_layer_greedy(pkt_buf, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V4); if(ip4hdr_greedy){ if((char *)ip4hdr_greedy == first_ip_layer){ bpf_match_pkt_len = pktlen; /* 最内层和第一层IP一样, 说明是非常标准的ethernet->IPv4包, 且无隧道, 无需memmove操作 */ @@ -861,7 +860,7 @@ static int MESA_dump_seek_to_inner(char *pkt_buf, int pktlen) bpf_match_ipv4 = 0; } - ip6hdr_greedy = (struct mesa_ip6_hdr *)MESA_net_jump_to_layer_greedy(pkt_buf, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V6); + ip6hdr_greedy = (struct mesa_ip6_hdr *)MESA_jump_layer_greedy(pkt_buf, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V6); if(ip6hdr_greedy){ if((char *)ip6hdr_greedy == first_ip_layer){ bpf_match_pkt_len = pktlen; /* 最内层和第一层IP一样, 说明是非常标准的ethernet->IPv6包, 且无隧道, 无需memmove操作 */ @@ -1929,9 +1928,9 @@ main(int argc, char **argv) #endif #if MESA_DUMP - case OPTION_VLAN_AS_MAC_IN_MAC: - treat_vlan_as_mac_in_mac_sw = 1; - break; + //case OPTION_VLAN_AS_MAC_IN_MAC: + //treat_vlan_as_mac_in_mac_sw = 1; + //break; case OPTION_PKT_CLASSIFY: pkt_classify_flag = get_pkt_classify_optarg(optarg); if(pkt_classify_flag == 0) @@ -3092,7 +3091,7 @@ MESA_dump_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *raw_pk struct mesa_ip4_hdr *ip4hdr_greedy; struct mesa_ip6_hdr *ip6hdr_greedy; const unsigned char *inner_iphdr = NULL; - ip4hdr_greedy = (struct mesa_ip4_hdr *)MESA_net_jump_to_layer_greedy(raw_pkt, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V4); + ip4hdr_greedy = (struct mesa_ip4_hdr *)MESA_jump_layer_greedy(raw_pkt, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V4); if(ip4hdr_greedy) { inner_iphdr = (const unsigned char *)ip4hdr_greedy; @@ -3100,7 +3099,7 @@ MESA_dump_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *raw_pk } else { - ip6hdr_greedy = (struct mesa_ip6_hdr *)MESA_net_jump_to_layer_greedy(raw_pkt, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V6); + ip6hdr_greedy = (struct mesa_ip6_hdr *)MESA_jump_layer_greedy(raw_pkt, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V6); if(ip6hdr_greedy) { inner_iphdr = (const unsigned char *)ip6hdr_greedy; @@ -3187,7 +3186,7 @@ MESA_dump_print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char * struct mesa_ip4_hdr *ip4hdr_greedy; struct mesa_ip6_hdr *ip6hdr_greedy; const unsigned char *inner_iphdr = NULL; - ip4hdr_greedy = (struct mesa_ip4_hdr *)MESA_net_jump_to_layer_greedy(pkt, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V4); + ip4hdr_greedy = (struct mesa_ip4_hdr *)MESA_jump_layer_greedy(pkt, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V4); if(ip4hdr_greedy) { inner_iphdr = (const unsigned char *)ip4hdr_greedy; @@ -3195,7 +3194,7 @@ MESA_dump_print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char * } else { - ip6hdr_greedy = (struct mesa_ip6_hdr *)MESA_net_jump_to_layer_greedy(pkt, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V6); + ip6hdr_greedy = (struct mesa_ip6_hdr *)MESA_jump_layer_greedy(pkt, ADDR_TYPE_MAC, __ADDR_TYPE_IP_PAIR_V6); if(ip6hdr_greedy) { inner_iphdr = (const unsigned char *)ip6hdr_greedy; @@ -3365,8 +3364,7 @@ print_usage(void) "\t\t[ -o offset ] to assign offset from MAC, for skip some low layer data, for example: jump vxlan using -o 50, jump mac_in_mac using -o 14.\n"); (void)fprintf(stderr, "\t\t[ -P port ] to assign sapp recv command port.\n"); - (void)fprintf(stderr, -"\t\t[ --vlan-as-mac-in-mac ] force VLAN to be analysed as MAC-IN-MAC format.\n"); + //(void)fprintf(stderr, "\t\t[ --vlan-as-mac-in-mac ] force VLAN to be analysed as MAC-IN-MAC format.\n"); (void)fprintf(stderr, "\t\t[ --classify in|forward|inject|drop|error|repeat|bypass ]. specify packet capture classifier by direction and operation\n"); (void)fprintf(stderr, |
