⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 print-stp.c

📁 Windump3.6.2源代码
💻 C
字号:
/* * Copyright (c) 2000 Lennert Buytenhek * * This software may be distributed either under the terms of the * BSD-style license that accompanies tcpdump or the GNU General * Public License * * Format and print IEEE 802.1d spanning tree protocol packets. * Contributed by Lennert Buytenhek <buytenh@gnu.org> */#ifndef lintstatic const char rcsid[] =    "@(#) $Header: /tcpdump/master/tcpdump/print-stp.c,v 1.6 2000/09/29 04:58:50 guy Exp $";#endif#ifdef HAVE_CONFIG_H#include "config.h"#endif#ifndef WIN32
#include <sys/param.h>#include <sys/time.h>#include <sys/socket.h>
#include <netinet/in.h>
#else
#include <winsock2.h>
#include "bittypes.h"
#include <time.h>
#endif /* WIN32 */
#include <stdlib.h>#include <stdio.h>#include <string.h>#include "interface.h"#include "addrtoname.h"#include "extract.h"static voidstp_print_bridge_id(const u_char *p){	printf("%.2x%.2x.%.2x:%.2x:%.2x:%.2x:%.2x:%.2x",	       p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7]);}static voidstp_print_config_bpdu(const u_char *p, u_int length){	printf("config ");	if (p[7] & 1)		printf("TOP_CHANGE ");	if (p[7] & 0x80)		printf("TOP_CHANGE_ACK ");	stp_print_bridge_id(p+20);	printf(".%.2x%.2x ", p[28], p[29]);	printf("root ");	stp_print_bridge_id(p+8);	printf(" pathcost %i ", (p[16] << 24) | (p[17] << 16) | (p[18] << 8) | p[19]);	printf("age %i ", p[30]);	printf("max %i ", p[32]);	printf("hello %i ", p[34]);	printf("fdelay %i ", p[36]);}static voidstp_print_tcn_bpdu(const u_char *p, u_int length){	printf("tcn");}/* * Print 802.1d packets. */voidstp_print(const u_char *p, u_int length){	if (length < 7)		goto trunc;	printf("802.1d ");	if (p[2] != 0x03 || p[3] || p[4] || p[5]) {		printf("unknown version");		return;	}			switch (p[6])	{	case 0:		if (length < 10)			goto trunc;		stp_print_config_bpdu(p, length);		break;	case 1:		stp_print_tcn_bpdu(p, length);		break;	default:		printf("unknown type %i\n", p[6]);		break;	}	return;trunc:	printf("[|stp %d]", length);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -