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

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

?? print-eap.c

?? TCPDUMP的C語言源代碼,是在數據鏈路層的應用
?? C
字號:
/* * Copyright (c) 2004 - Michael Richardson <mcr@xelerance.com> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that: (1) source code distributions * retain the above copyright notice and this paragraph in its entirety, (2) * distributions including binary code include the above copyright notice and * this paragraph in its entirety in the documentation or other materials * provided with the distribution, and (3) all advertising materials mentioning * features or use of this software display the following acknowledgement: * ``This product includes software developed by the University of California, * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of * the University nor the names of its contributors may be used to endorse * or promote products derived from this software without specific prior * written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * Format and print EAP packets. * */#ifndef lintstatic const char rcsid[] _U_ =    "@(#) $Header: /tcpdump/master/tcpdump/print-eap.c,v 1.5 2007-10-04 16:41:33 hannes Exp $";#endif#ifdef HAVE_CONFIG_H#include "config.h"#endif#include <tcpdump-stdinc.h>#include <stdio.h>#include <string.h>#include "netdissect.h"#include "interface.h"#include "addrtoname.h"#include "extract.h"#include "ether.h"#define	EAP_FRAME_TYPE_PACKET		0#define	EAP_FRAME_TYPE_START		1#define	EAP_FRAME_TYPE_LOGOFF		2#define	EAP_FRAME_TYPE_KEY		3#define	EAP_FRAME_TYPE_ENCAP_ASF_ALERT	4struct eap_frame_t {    unsigned char   version;    unsigned char   type;    unsigned char   length[2];};static const struct tok eap_frame_type_values[] = {    { EAP_FRAME_TYPE_PACKET,      	"EAP packet" },    { EAP_FRAME_TYPE_START,    		"EAPOL start" },    { EAP_FRAME_TYPE_LOGOFF,      	"EAPOL logoff" },    { EAP_FRAME_TYPE_KEY,      		"EAPOL key" },    { EAP_FRAME_TYPE_ENCAP_ASF_ALERT, 	"Encapsulated ASF alert" },    { 0, NULL}};/* RFC 3748 */struct eap_packet_t {    unsigned char	code;    unsigned char	id;    unsigned char	length[2];};#define		EAP_REQUEST	1#define		EAP_RESPONSE	2#define		EAP_SUCCESS	3#define		EAP_FAILURE	4static const struct tok eap_code_values[] = {    { EAP_REQUEST,	"Request" },    { EAP_RESPONSE,	"Response" },    { EAP_SUCCESS,	"Success" },    { EAP_FAILURE,	"Failure" },    { 0, NULL}};#define		EAP_TYPE_NO_PROPOSED	0#define		EAP_TYPE_IDENTITY	1#define		EAP_TYPE_NOTIFICATION	2#define		EAP_TYPE_NAK		3#define		EAP_TYPE_MD5_CHALLENGE	4#define		EAP_TYPE_OTP		5#define		EAP_TYPE_GTC		6#define		EAP_TYPE_TLS		13		/* RFC 2716 */#define		EAP_TYPE_SIM		18		/* RFC 4186 */#define		EAP_TYPE_TTLS		21		/* draft-funk-eap-ttls-v0-01.txt */#define		EAP_TYPE_AKA		23		/* RFC 4187 */#define		EAP_TYPE_FAST		43		/* RFC 4851 */#define		EAP_TYPE_EXPANDED_TYPES	254#define		EAP_TYPE_EXPERIMENTAL	255static const struct tok eap_type_values[] = {    { EAP_TYPE_NO_PROPOSED,	"No proposed" },    { EAP_TYPE_IDENTITY,	"Identity" },    { EAP_TYPE_NOTIFICATION,    "Notification" },    { EAP_TYPE_NAK,      	"Nak" },    { EAP_TYPE_MD5_CHALLENGE,   "MD5-challenge" },    { EAP_TYPE_OTP,      	"OTP" },    { EAP_TYPE_GTC,      	"GTC" },    { EAP_TYPE_TLS,      	"TLS" },    { EAP_TYPE_SIM,      	"SIM" },    { EAP_TYPE_TTLS,      	"TTLS" },    { EAP_TYPE_AKA,      	"AKA" },    { EAP_TYPE_FAST,      	"FAST" },    { EAP_TYPE_EXPANDED_TYPES,  "Expanded types" },    { EAP_TYPE_EXPERIMENTAL,    "Experimental" },    { 0, NULL}};  #define EAP_TLS_EXTRACT_BIT_L(x) 	(((x)&0x80)>>7)/* RFC 2716 - EAP TLS bits */#define EAP_TLS_FLAGS_LEN_INCLUDED		(1 << 7)#define EAP_TLS_FLAGS_MORE_FRAGMENTS		(1 << 6)#define EAP_TLS_FLAGS_START			(1 << 5)static const struct tok eap_tls_flags_values[] = {	{ EAP_TLS_FLAGS_LEN_INCLUDED, "L bit" },	{ EAP_TLS_FLAGS_MORE_FRAGMENTS, "More fragments bit"},	{ EAP_TLS_FLAGS_START, "Start bit"},	{ 0, NULL}};#define EAP_TTLS_VERSION(x)		((x)&0x07)/* EAP-AKA and EAP-SIM - RFC 4187 */#define EAP_AKA_CHALLENGE		1#define EAP_AKA_AUTH_REJECT		2#define EAP_AKA_SYNC_FAILURE		4#define EAP_AKA_IDENTITY		5#define EAP_SIM_START			10#define EAP_SIM_CHALLENGE		11#define EAP_AKA_NOTIFICATION		12#define EAP_AKA_REAUTH			13#define EAP_AKA_CLIENT_ERROR		14static const struct tok eap_aka_subtype_values[] = {    { EAP_AKA_CHALLENGE,	"Challenge" },    { EAP_AKA_AUTH_REJECT,	"Auth reject" },    { EAP_AKA_SYNC_FAILURE,	"Sync failure" },    { EAP_AKA_IDENTITY,		"Identity" },    { EAP_SIM_START,		"Start" },    { EAP_SIM_CHALLENGE,	"Challenge" },    { EAP_AKA_NOTIFICATION,	"Notification" },    { EAP_AKA_REAUTH,		"Reauth" },    { EAP_AKA_CLIENT_ERROR,	"Client error" },    { 0, NULL}};/* * Print EAP requests / responses */voideap_print(netdissect_options *ndo _U_,          register const u_char *cp,          u_int length _U_){    const struct eap_frame_t *eap;    const u_char *tptr;    u_int tlen, type, subtype;    int count=0, len;        tptr = cp;    tlen = length;    eap = (const struct eap_frame_t *)cp;    TCHECK(*eap);    /* in non-verbose mode just lets print the basic info */    if (vflag < 1) {	printf("%s (%u) v%u, len %u",               tok2str(eap_frame_type_values, "unknown", eap->type),               eap->type,               eap->version,               EXTRACT_16BITS(eap->length));	return;    }      printf("%s (%u) v%u, len %u",            tok2str(eap_frame_type_values, "unknown", eap->type),           eap->type,           eap->version,           EXTRACT_16BITS(eap->length));    tptr += sizeof(const struct eap_frame_t);    tlen -= sizeof(const struct eap_frame_t);    switch (eap->type) {    case EAP_FRAME_TYPE_PACKET:        type = *(tptr);        len = EXTRACT_16BITS(tptr+2);        printf(", %s (%u), id %u, len %u",               tok2str(eap_code_values, "unknown", type),               type,               *(tptr+1),               len);        if (!TTEST2(*tptr, len))             goto trunc;        if (type <= 2) { /* For EAP_REQUEST and EAP_RESPONSE only */            subtype = *(tptr+4);            printf("\n\t\t Type %s (%u)",                   tok2str(eap_type_values, "unknown", *(tptr+4)),                   *(tptr+4));            switch (subtype) {	            case EAP_TYPE_IDENTITY:                if (len - 5 > 0) {                    printf(", Identity: ");                    safeputs((const char *)tptr+5, len-5);                }                break;            case EAP_TYPE_NOTIFICATION:                if (len - 5 > 0) {                    printf(", Notification: ");                    safeputs((const char *)tptr+5, len-5);                }                break;            case EAP_TYPE_NAK:                count = 5;                /*                 * one or more octets indicating                 * the desired authentication                 * type one octet per type                 */                while (count < len) {	                    printf(" %s (%u),",                            tok2str(eap_type_values, "unknown", *(tptr+count)),                           *(tptr+count));                    count++;                }                break;            case EAP_TYPE_TTLS:                printf(" TTLSv%u",                        EAP_TTLS_VERSION(*(tptr+5))); /* fall through */            case EAP_TYPE_TLS:                printf(" flags [%s] 0x%02x,",                        bittok2str(eap_tls_flags_values, "none", *(tptr+5)),                       *(tptr+5));                if (EAP_TLS_EXTRACT_BIT_L(*(tptr+5))) {		    printf(" len %u", EXTRACT_32BITS(tptr+6));                }                break;            case EAP_TYPE_FAST:                printf(" FASTv%u",                       EAP_TTLS_VERSION(*(tptr+5)));                printf(" flags [%s] 0x%02x,",                       bittok2str(eap_tls_flags_values, "none", *(tptr+5)),                       *(tptr+5));                if (EAP_TLS_EXTRACT_BIT_L(*(tptr+5))) {                    printf(" len %u", EXTRACT_32BITS(tptr+6));                }                /* FIXME - TLV attributes follow */                break;            case EAP_TYPE_AKA:            case EAP_TYPE_SIM:                printf(" subtype [%s] 0x%02x,",                       tok2str(eap_aka_subtype_values, "unknown", *(tptr+5)),                       *(tptr+5));                /* FIXME - TLV attributes follow */                break;            case EAP_TYPE_MD5_CHALLENGE:	            case EAP_TYPE_OTP:            case EAP_TYPE_GTC:            case EAP_TYPE_EXPANDED_TYPES:            case EAP_TYPE_EXPERIMENTAL:            default:                break;            }        }        break;	    case EAP_FRAME_TYPE_LOGOFF:    case EAP_FRAME_TYPE_ENCAP_ASF_ALERT:    default:        break;    }    return; trunc:    printf("\n\t[|EAP]");}/* * Local Variables: * c-basic-offset: 4 * End: */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品77777竹菊影视小说| 欧美精品一区二区不卡| 色综合天天综合给合国产| 国产91精品久久久久久久网曝门| 国产伦精品一区二区三区免费| 久久se精品一区二区| 久久爱www久久做| 国产精品一区二区三区99| 国产精品亚洲午夜一区二区三区 | 91精品一区二区三区久久久久久 | 一本高清dvd不卡在线观看| 91最新地址在线播放| www.成人在线| 在线观看精品一区| 在线观看91精品国产麻豆| 91精品国产综合久久香蕉麻豆| 日韩网站在线看片你懂的| 日韩欧美国产一区二区三区| 日韩视频免费观看高清完整版在线观看 | 欧美精品亚洲二区| 日韩片之四级片| www精品美女久久久tv| 国产亚洲精品bt天堂精选| 国产精品久久久久久久久免费桃花 | 欧美日韩夫妻久久| 欧美成人性战久久| 欧美国产乱子伦| 亚洲愉拍自拍另类高清精品| 五月婷婷激情综合| 久久国产免费看| 成人禁用看黄a在线| 在线日韩国产精品| 欧美大胆一级视频| 欧美国产一区二区| 亚洲国产cao| 国产剧情一区二区三区| 一本大道久久a久久精品综合| 欧美日韩小视频| 精品成人一区二区| 成人免费一区二区三区在线观看| 亚洲v日本v欧美v久久精品| 黑人巨大精品欧美一区| 91蜜桃婷婷狠狠久久综合9色| 欧美高清视频www夜色资源网| 国产日韩欧美精品一区| 亚洲国产另类精品专区| 国模大尺度一区二区三区| 色综合天天综合色综合av| 日韩午夜在线观看| 亚洲精品一二三区| 精久久久久久久久久久| 在线观看视频一区| 久久免费视频色| 亚洲一区二区精品久久av| 国产精品1区2区| 欧美精品aⅴ在线视频| 国产精品久久久久影院老司| 人人爽香蕉精品| 99热99精品| 2023国产精品| 日韩av高清在线观看| 色哟哟国产精品| 欧美国产综合一区二区| 免费成人av在线| 一本一道综合狠狠老| 久久久久久久久久电影| 日韩福利视频网| 一本色道久久综合狠狠躁的推荐| 久久久久久久精| www.亚洲色图.com| 欧美一区二区大片| 亚洲一区二区三区美女| 91在线播放网址| 国产日本亚洲高清| 另类小说图片综合网| 欧美疯狂做受xxxx富婆| 亚洲精品五月天| 成人aa视频在线观看| 久久综合狠狠综合| 久久av资源网| 日韩欧美一区中文| 亚欧色一区w666天堂| www.成人在线| 国产精品久久久久一区| 国产精品一区一区三区| 精品粉嫩aⅴ一区二区三区四区 | 欧美性色黄大片| 国产精品国产三级国产a | 久久色.com| 国内久久精品视频| 精品奇米国产一区二区三区| 三级在线观看一区二区| 欧美欧美欧美欧美| 亚洲高清在线视频| 在线欧美日韩国产| 一区二区在线观看免费| 一本大道av伊人久久综合| 国产精品一线二线三线精华| 日韩欧美资源站| 日本亚洲最大的色成网站www| 欧美天天综合网| 亚洲福中文字幕伊人影院| 欧美视频一二三区| 亚洲3atv精品一区二区三区| 欧美三级三级三级爽爽爽| 亚洲成av人片| 日韩午夜电影在线观看| 日韩精品每日更新| 日韩欧美国产1| 久久99精品久久久久久久久久久久 | 91在线观看一区二区| 亚洲另类在线一区| 欧美日韩综合不卡| 美腿丝袜亚洲一区| 26uuu国产一区二区三区| 国产伦精品一区二区三区在线观看| 久久久久久久国产精品影院| 成人高清免费在线播放| 国产精品久久久一区麻豆最新章节| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲免费大片在线观看| 欧美日韩久久不卡| 激情五月婷婷综合网| 国产精品区一区二区三| 欧美在线视频日韩| 蜜桃免费网站一区二区三区| 久久久一区二区三区| 91同城在线观看| 人禽交欧美网站| 欧美国产国产综合| 欧美性做爰猛烈叫床潮| 久久成人精品无人区| 中文字幕一区在线观看视频| 欧美日韩一区小说| 久久精品国产999大香线蕉| 亚洲国产精品av| 欧美午夜免费电影| 国内精品免费**视频| 亚洲欧美日韩在线| 在线播放/欧美激情| 国产精品一品二品| 一区二区久久久久| 精品理论电影在线| 99精品久久免费看蜜臀剧情介绍| 亚洲成a人片综合在线| 国产午夜亚洲精品不卡| 在线观看免费视频综合| 麻豆视频一区二区| 亚洲精品中文在线影院| 精品日本一线二线三线不卡| 色偷偷成人一区二区三区91| 青青国产91久久久久久| 亚洲丝袜制服诱惑| 日韩欧美一区二区视频| 99久久99久久精品免费看蜜桃| 日本三级韩国三级欧美三级| 国产午夜精品一区二区三区四区| 欧美在线观看视频一区二区| 国产乱人伦偷精品视频免下载| 亚洲男同性视频| 久久色在线观看| 制服丝袜亚洲精品中文字幕| 99久久er热在这里只有精品66| 色一区在线观看| 国产乱妇无码大片在线观看| 婷婷国产在线综合| 亚洲欧美国产三级| 国产亚洲制服色| 欧美精品欧美精品系列| 99re热视频精品| 国产精一区二区三区| 日韩精品一二三| 一区二区三区精品视频| 国产精品久久看| 久久久精品一品道一区| 欧美成人一区二区三区| 在线不卡中文字幕| 在线视频国内自拍亚洲视频| eeuss鲁片一区二区三区 | 欧美一区二区三区婷婷月色| 色哟哟一区二区三区| 99久久精品国产一区二区三区| 国产盗摄女厕一区二区三区| 美国一区二区三区在线播放| 亚洲综合一二区| 亚洲激情第一区| 自拍偷拍欧美精品| 中文字幕在线一区二区三区| 久久精品视频一区二区| 精品国产麻豆免费人成网站| 91精品在线观看入口| 欧美丰满高潮xxxx喷水动漫 | 亚洲精品视频在线看| 国产精品福利一区二区三区| 国产欧美一区二区精品秋霞影院| 欧美v日韩v国产v| 精品成人一区二区三区四区| 日韩女优av电影在线观看| 欧美一区二区三区成人| 3d动漫精品啪啪一区二区竹菊|