亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? print-ppp.c

?? TCPDUMP的C語言源代碼,是在數據鏈路層的應用
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* LCP config options */static intprint_lcp_config_options(const u_char *p, int length){	int len, opt;	if (length < 2)		return 0;	TCHECK2(*p, 2);	len = p[1];	opt = p[0];	if (length < len)		return 0;	if (len < 2) {		if ((opt >= LCPOPT_MIN) && (opt <= LCPOPT_MAX))			printf("\n\t  %s Option (0x%02x), length %u (bogus, should be >= 2)", lcpconfopts[opt],opt,len);		else			printf("\n\tunknown LCP option 0x%02x", opt);		return 0;	}	if ((opt >= LCPOPT_MIN) && (opt <= LCPOPT_MAX))		printf("\n\t  %s Option (0x%02x), length %u: ", lcpconfopts[opt],opt,len);	else {		printf("\n\tunknown LCP option 0x%02x", opt);		return len;	}	switch (opt) {	case LCPOPT_VEXT:		if (len >= 6) {			TCHECK2(*(p + 2), 3);			printf("Vendor: %s (%u)",                               tok2str(oui_values,"Unknown",EXTRACT_24BITS(p+2)),                               EXTRACT_24BITS(p+2));#if 0			TCHECK(p[5]);			printf(", kind: 0x%02x", p[5]);			printf(", Value: 0x")			for (i = 0; i < len - 6; i++) {				TCHECK(p[6 + i]);				printf("%02x", p[6 + i]);			}#endif		}		break;	case LCPOPT_MRU:		if (len == 4) {			TCHECK2(*(p + 2), 2);			printf("%u", EXTRACT_16BITS(p + 2));		}		break;	case LCPOPT_ACCM:		if (len == 6) {			TCHECK2(*(p + 2), 4);			printf("0x%08x", EXTRACT_32BITS(p + 2));		}		break;	case LCPOPT_AP:		if (len >= 4) {		    TCHECK2(*(p + 2), 2);                    printf("%s", tok2str(ppptype2str,"Unknown Auth Proto (0x04x)",EXTRACT_16BITS(p+2)));		    switch (EXTRACT_16BITS(p+2)) {		    case PPP_CHAP:		        TCHECK(p[4]);                        printf(", %s",tok2str(authalg_values,"Unknown Auth Alg %u",p[4]));			break;		    case PPP_PAP: /* fall through */		    case PPP_EAP:		    case PPP_SPAP:		    case PPP_SPAP_OLD:                        break;		    default:                        print_unknown_data(p,"\n\t",len);		    }		}		break;	case LCPOPT_QP:		if (len >= 4) {			TCHECK2(*(p + 2), 2);		        if (EXTRACT_16BITS(p+2) == PPP_LQM)				printf(" LQR");			else				printf(" unknown");		}		break;	case LCPOPT_MN:		if (len == 6) {			TCHECK2(*(p + 2), 4);			printf("0x%08x", EXTRACT_32BITS(p + 2));		}		break;	case LCPOPT_PFC:		break;	case LCPOPT_ACFC:		break;	case LCPOPT_LD:		if (len == 4) {			TCHECK2(*(p + 2), 2);			printf("0x%04x", EXTRACT_16BITS(p + 2));		}		break;	case LCPOPT_CBACK:		if (len < 3)			break;		TCHECK(p[2]);                printf("Callback Operation %s (%u)",                       tok2str(ppp_callback_values,"Unknown",p[2]),                       p[2]);		break;	case LCPOPT_MLMRRU:		if (len == 4) {			TCHECK2(*(p + 2), 2);			printf("%u", EXTRACT_16BITS(p + 2));		}		break;	case LCPOPT_MLED:		if (len < 3)			break;		TCHECK(p[2]);		switch (p[2]) {		/* class */		case MEDCLASS_NULL:			printf("Null");			break;		case MEDCLASS_LOCAL:			printf("Local"); /* XXX */			break;		case MEDCLASS_IPV4:			if (len != 7)				break;			TCHECK2(*(p + 3), 4);			printf("IPv4 %s", ipaddr_string(p + 3));			break;		case MEDCLASS_MAC:			if (len != 9)				break;			TCHECK(p[8]);			printf("MAC %02x:%02x:%02x:%02x:%02x:%02x",			       p[3], p[4], p[5], p[6], p[7], p[8]);			break;		case MEDCLASS_MNB:			printf("Magic-Num-Block"); /* XXX */			break;		case MEDCLASS_PSNDN:			printf("PSNDN"); /* XXX */			break;		}		break;/* XXX: to be supported */#if 0	case LCPOPT_DEP6:	case LCPOPT_FCSALT:	case LCPOPT_SDP:	case LCPOPT_NUMMODE:	case LCPOPT_DEP12:	case LCPOPT_DEP14:	case LCPOPT_DEP15:	case LCPOPT_DEP16:        case LCPOPT_MLSSNHF:	case LCPOPT_PROP:	case LCPOPT_DCEID:	case LCPOPT_MPP:	case LCPOPT_LCPAOPT:	case LCPOPT_COBS:	case LCPOPT_PE:	case LCPOPT_MLHF:	case LCPOPT_I18N:	case LCPOPT_SDLOS:	case LCPOPT_PPPMUX:		break;#endif        default:                if(vflag<2)                        print_unknown_data(&p[2],"\n\t    ",len-2);                break;	}                 if (vflag>1)                print_unknown_data(&p[2],"\n\t    ",len-2); /* exclude TLV header */	return len;trunc:	printf("[|lcp]");	return 0;}/* ML-PPP*/struct tok ppp_ml_flag_values[] = {    { 0x80, "begin" },    { 0x40, "end" },    { 0, NULL }};static voidhandle_mlppp(const u_char *p, int length) {    if (!eflag)        printf("MLPPP, ");    printf("seq 0x%03x, Flags [%s], length %u",           (EXTRACT_16BITS(p))&0x0fff, /* only support 12-Bit sequence space for now */           bittok2str(ppp_ml_flag_values, "none", *p & 0xc0),           length);    return;}/* CHAP */static voidhandle_chap(const u_char *p, int length){	u_int code, len;	int val_size, name_size, msg_size;	const u_char *p0;	int i;	p0 = p;	if (length < 1) {		printf("[|chap]");		return;	} else if (length < 4) {		TCHECK(*p);		printf("[|chap 0x%02x]", *p);		return;	}	TCHECK(*p);	code = *p;        printf("CHAP, %s (0x%02x)",               tok2str(chapcode_values,"unknown",code),               code);	p++;	TCHECK(*p);	printf(", id %u", *p);		/* ID */	p++;	TCHECK2(*p, 2);	len = EXTRACT_16BITS(p);	p += 2;	/*	 * Note that this is a generic CHAP decoding routine. Since we	 * don't know which flavor of CHAP (i.e. CHAP-MD5, MS-CHAPv1,	 * MS-CHAPv2) is used at this point, we can't decode packet	 * specifically to each algorithms. Instead, we simply decode	 * the GCD (Gratest Common Denominator) for all algorithms.	 */	switch (code) {	case CHAP_CHAL:	case CHAP_RESP:		if (length - (p - p0) < 1)			return;		TCHECK(*p);		val_size = *p;		/* value size */		p++;		if (length - (p - p0) < val_size)			return;		printf(", Value ");		for (i = 0; i < val_size; i++) {			TCHECK(*p);			printf("%02x", *p++);		}		name_size = len - (p - p0);		printf(", Name ");		for (i = 0; i < name_size; i++) {			TCHECK(*p);			safeputchar(*p++);		}		break;	case CHAP_SUCC:	case CHAP_FAIL:		msg_size = len - (p - p0);		printf(", Msg ");		for (i = 0; i< msg_size; i++) {			TCHECK(*p);			safeputchar(*p++);		}		break;	}	return;trunc:	printf("[|chap]");}/* PAP (see RFC 1334) */static voidhandle_pap(const u_char *p, int length){	u_int code, len;	int peerid_len, passwd_len, msg_len;	const u_char *p0;	int i;	p0 = p;	if (length < 1) {		printf("[|pap]");		return;	} else if (length < 4) {		TCHECK(*p);		printf("[|pap 0x%02x]", *p);		return;	}	TCHECK(*p);	code = *p;        printf("PAP, %s (0x%02x)",               tok2str(papcode_values,"unknown",code),               code);	p++;	TCHECK(*p);	printf(", id %u", *p);		/* ID */	p++;	TCHECK2(*p, 2);	len = EXTRACT_16BITS(p);	p += 2;	if ((int)len > length) {		printf(", length %u > packet size", len);		return;	}	length = len;	if (length < (p - p0)) {		printf(", length %u < PAP header length", length);		return;	}	switch (code) {	case PAP_AREQ:		if (length - (p - p0) < 1)			return;		TCHECK(*p);		peerid_len = *p;	/* Peer-ID Length */		p++;		if (length - (p - p0) < peerid_len)			return;		printf(", Peer ");		for (i = 0; i < peerid_len; i++) {			TCHECK(*p);			safeputchar(*p++);		}		if (length - (p - p0) < 1)			return;		TCHECK(*p);		passwd_len = *p;	/* Password Length */		p++;		if (length - (p - p0) < passwd_len)			return;		printf(", Name ");		for (i = 0; i < passwd_len; i++) {			TCHECK(*p);			safeputchar(*p++);		}		break;	case PAP_AACK:	case PAP_ANAK:		if (length - (p - p0) < 1)			return;		TCHECK(*p);		msg_len = *p;		/* Msg-Length */		p++;		if (length - (p - p0) < msg_len)			return;		printf(", Msg ");		for (i = 0; i< msg_len; i++) {			TCHECK(*p);			safeputchar(*p++);		}		break;	}	return;trunc:	printf("[|pap]");}/* BAP */static voidhandle_bap(const u_char *p _U_, int length _U_){	/* XXX: to be supported!! */}/* IPCP config options */static intprint_ipcp_config_options(const u_char *p, int length){	int len, opt;        u_int compproto, ipcomp_subopttotallen, ipcomp_subopt, ipcomp_suboptlen;	if (length < 2)		return 0;	TCHECK2(*p, 2);	len = p[1];	opt = p[0];	if (length < len)		return 0;	if (len < 2) {		printf("\n\t  %s Option (0x%02x), length %u (bogus, should be >= 2)",		       tok2str(ipcpopt_values,"unknown",opt),		       opt,        	       len);		return 0;	}	printf("\n\t  %s Option (0x%02x), length %u: ",	       tok2str(ipcpopt_values,"unknown",opt),	       opt,               len);	switch (opt) {	case IPCPOPT_2ADDR:		/* deprecated */		if (len != 10)			goto invlen;		TCHECK2(*(p + 6), 4);		printf("src %s, dst %s",		       ipaddr_string(p + 2),		       ipaddr_string(p + 6));		break;	case IPCPOPT_IPCOMP:		if (len < 4)			goto invlen;		TCHECK2(*(p + 2), 2);                compproto = EXTRACT_16BITS(p+2);                printf("%s (0x%02x):",                       tok2str(ipcpopt_compproto_values,"Unknown",compproto),                       compproto);		switch (compproto) {                case PPP_VJC:			/* XXX: VJ-Comp parameters should be decoded */                        break;                case IPCPOPT_IPCOMP_HDRCOMP:                        if (len < IPCPOPT_IPCOMP_MINLEN)                                goto invlen;                        TCHECK2(*(p + 2), IPCPOPT_IPCOMP_MINLEN);                        printf("\n\t    TCP Space %u, non-TCP Space %u" \                               ", maxPeriod %u, maxTime %u, maxHdr %u",                               EXTRACT_16BITS(p+4),                               EXTRACT_16BITS(p+6),                               EXTRACT_16BITS(p+8),                               EXTRACT_16BITS(p+10),                               EXTRACT_16BITS(p+12));                        /* suboptions present ? */                        if (len > IPCPOPT_IPCOMP_MINLEN) {                                ipcomp_subopttotallen = len - IPCPOPT_IPCOMP_MINLEN;                                p += IPCPOPT_IPCOMP_MINLEN;                                                                printf("\n\t      Suboptions, length %u", ipcomp_subopttotallen);                                while (ipcomp_subopttotallen >= 2) {                                        TCHECK2(*p, 2);                                        ipcomp_subopt = *p;                                        ipcomp_suboptlen = *(p+1);                                                                                /* sanity check */                                        if (ipcomp_subopt == 0 ||                                            ipcomp_suboptlen == 0 )                                                break;                                        /* XXX: just display the suboptions for now */                                        printf("\n\t\t%s Suboption #%u, length %u",                                               tok2str(ipcpopt_compproto_subopt_values,                                                       "Unknown",                                                       ipcomp_subopt),                                               ipcomp_subopt,                                               ipcomp_suboptlen);                                        ipcomp_subopttotallen -= ipcomp_suboptlen;                                        p += ipcomp_suboptlen;                                }                        }                        break;                default:                        break;		}		break;	case IPCPOPT_ADDR:     /* those options share the same format - fall through */	case IPCPOPT_MOBILE4:	case IPCPOPT_PRIDNS:	case IPCPOPT_PRINBNS:	case IPCPOPT_SECDNS:	case IPCPOPT_SECNBNS:		if (len != 6)			goto invlen;		TCHECK2(*(p + 2), 4);		printf("%s", ipaddr_string(p + 2));		break;	default:                if(vflag<2)                        print_unknown_data(&p[2],"\n\t    ",len-2);		break;	}        if (vflag>1)                print_unknown_data(&p[2],"\n\t    ",len-2); /* exclude TLV header */	return len;invlen:	printf(", invalid-length-%d", opt);	return 0;trunc:	printf("[|ipcp]");	return 0;}/* IP6CP config options */static intprint_ip6cp_config_options(const u_char *p, int length){	int len, opt;	if (length < 2)		return 0;	TCHECK2(*p, 2);	len = p[1];	opt = p[0];	if (length < len)		return 0;	if (len < 2) {		printf("\n\t  %s Option (0x%02x), length %u (bogus, should be >= 2)",		       tok2str(ip6cpopt_values,"unknown",opt),		       opt,	               len);	        return 0;	}	printf("\n\t  %s Option (0x%02x), length %u: ",	       tok2str(ip6cpopt_values,"unknown",opt),	       opt,               len);	switch (opt) {	case IP6CP_IFID:		if (len != 10)			goto invlen;		TCHECK2(*(p + 2), 8);		printf("%04x:%04x:%04x:%04x",		       EXTRACT_16BITS(p + 2),		       EXTRACT_16BITS(p + 4),		       EXTRACT_16BITS(p + 6),		       EXTRACT_16BITS(p + 8));		break;	default:                if(vflag<2)                        print_unknown_data(&p[2],"\n\t    ",len-2);		break;	}        if (vflag>1)                print_unknown_data(&p[2],"\n\t    ",len-2); /* exclude TLV header */	return len;invlen:	printf(", invalid-length-%d", opt);	return 0;trunc:	printf("[|ip6cp]");	return 0;}/* CCP config options */static intprint_ccp_config_options(const u_char *p, int length){	int len, opt;	if (length < 2)		return 0;	TCHECK2(*p, 2);	len = p[1];	opt = p[0];	if (length < len)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费视频一区二区| www.av精品| 538在线一区二区精品国产| 国产欧美日韩在线看| 捆绑调教一区二区三区| 欧美精品 国产精品| 亚洲午夜激情av| 99精品国产一区二区三区不卡| 丁香啪啪综合成人亚洲小说 | 亚洲综合色噜噜狠狠| 成人精品亚洲人成在线| 久久久天堂av| 成人激情免费视频| 国产精品久久毛片a| 99re成人精品视频| 一区二区三区在线观看欧美 | 成人18视频在线播放| 国产三级欧美三级| 成人免费黄色在线| 亚洲精品国产无天堂网2021| 色网综合在线观看| 亚洲黄色免费网站| 日韩一级片网站| 国产精品77777| 国产精品视频yy9299一区| 国产福利91精品一区| 一区二区三区精品视频| 91麻豆精品国产91久久久久 | 午夜精品久久久久久久99水蜜桃| 4438x成人网最大色成网站| 国产中文一区二区三区| 18欧美乱大交hd1984| 91精品国产综合久久福利软件 | 欧美色精品天天在线观看视频| 亚洲成人免费视| 中文字幕电影一区| 91精品国产综合久久久蜜臀粉嫩 | 一区二区理论电影在线观看| 欧美日韩免费电影| 国产精品一级片| 欧美日本在线视频| 亚洲欧美福利一区二区| 色婷婷精品大在线视频| 老司机精品视频一区二区三区| 一个色综合av| 一区二区高清免费观看影视大全 | 一区二区三区毛片| 日韩丝袜美女视频| 欧美亚洲综合在线| 国产成人精品免费网站| 视频一区二区欧美| 日韩毛片精品高清免费| 日韩三级在线免费观看| 色综合久久综合| 狠狠色丁香婷婷综合久久片| 一区二区三区免费网站| 国产精品美女久久久久aⅴ| 日韩免费视频一区二区| 欧美性三三影院| 欧美性大战久久久久久久蜜臀 | 亚洲精品成人悠悠色影视| 中文字幕 久热精品 视频在线| 国产精品网站在线| 中文字幕视频一区| 一区二区三区四区不卡在线| 日韩一区精品视频| 国产精品影视网| www.亚洲激情.com| 欧美主播一区二区三区| 日韩免费视频线观看| 中文字幕欧美一区| 丝袜美腿一区二区三区| 成人app网站| 日韩一区二区电影在线| 欧美国产丝袜视频| 亚洲妇女屁股眼交7| 韩国女主播成人在线| 色噜噜狠狠成人中文综合| 日韩欧美三级在线| 亚洲美女视频在线| 国产精品996| 日韩一区二区三区视频在线| 亚洲女同ⅹxx女同tv| 九九视频精品免费| 欧美综合在线视频| 中文字幕亚洲综合久久菠萝蜜| 亚洲v中文字幕| 色综合夜色一区| 欧美国产精品一区二区| 国产一区二区成人久久免费影院| 欧美美女一区二区三区| 亚洲欧洲精品一区二区三区| 紧缚捆绑精品一区二区| 欧美一区二区成人6969| 亚洲成人动漫在线免费观看| 日本韩国一区二区三区| 中文字幕在线一区| 99精品欧美一区二区三区综合在线| 精品国产三级a在线观看| 日韩av中文字幕一区二区 | 欧美一级日韩一级| 亚洲美女一区二区三区| 欧美亚男人的天堂| 午夜精品在线看| 日韩一区二区不卡| 国产福利视频一区二区三区| 国产精品精品国产色婷婷| 不卡一区中文字幕| 亚洲一区二区三区四区五区黄| 欧美日韩中字一区| 偷拍与自拍一区| 久久久久久久久免费| 国产伦精品一区二区三区免费迷| 久久麻豆一区二区| 色综合久久久久综合体桃花网| 亚洲一区二区欧美激情| 欧美mv日韩mv亚洲| 色婷婷精品大在线视频| 免费不卡在线观看| 自拍偷拍欧美精品| 欧美电影免费观看高清完整版在线观看 | 99久久精品国产导航| 视频一区二区国产| 亚洲男同性恋视频| 欧美一区二区三区喷汁尤物| 91麻豆免费在线观看| 久久不见久久见中文字幕免费| 综合激情网...| 国产亚洲精品bt天堂精选| 91精品国产色综合久久ai换脸| 成人在线综合网| 久久91精品久久久久久秒播| 亚洲综合一二区| 国产精品婷婷午夜在线观看| 精品国产乱码久久久久久久| 欧美夫妻性生活| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 成人激情免费电影网址| 蜜臀久久99精品久久久久久9| 亚洲精选视频在线| 国产精品久久久久久户外露出 | 国产精品一级在线| 婷婷国产在线综合| 国产精品丝袜黑色高跟| 国产精品国产三级国产专播品爱网 | 不卡一区二区中文字幕| 亚洲国产日韩在线一区模特| 久久老女人爱爱| 欧美卡1卡2卡| 色婷婷久久综合| 国产乱码精品一区二区三| 亚洲免费av观看| 亚洲国产精品99久久久久久久久| 精品视频在线免费看| www.亚洲免费av| 国产麻豆欧美日韩一区| 久久99精品久久久久| 日韩成人精品在线观看| 一区二区三区.www| 亚洲男人天堂av网| 亚洲综合成人网| 国产精品无遮挡| 制服丝袜一区二区三区| 色呦呦国产精品| 91香蕉国产在线观看软件| 国产一二精品视频| 成人一区二区三区视频 | 韩国女主播一区二区三区| 国产乱子伦视频一区二区三区| 99视频精品全部免费在线| 欧美电视剧免费全集观看| 亚洲午夜日本在线观看| 不卡的av电影| 国产精品看片你懂得| 丁香啪啪综合成人亚洲小说 | 日韩午夜在线影院| 91精品国产入口| 日韩欧美精品在线视频| 国产精品理伦片| 国产精品第五页| 国产精品色噜噜| 秋霞成人午夜伦在线观看| 国产不卡视频在线播放| www.色综合.com| 在线电影一区二区三区| 日韩中文字幕麻豆| 91在线观看免费视频| 欧美一区二区三区四区久久| 中文字幕亚洲不卡| 国产麻豆精品视频| 久久精品夜色噜噜亚洲a∨| 国产成人av自拍| 国产欧美一区在线| 日韩一区二区三区观看| 亚洲bt欧美bt精品777| 日本丶国产丶欧美色综合| 久久69国产一区二区蜜臀| 亚洲一级二级三级在线免费观看| 26uuu精品一区二区三区四区在线| 91久久精品网|