H3C 802 1x相容客戶端程式設計簡述

2021-04-23 19:59:53 字數 2364 閱讀 6128

bool usersended = false; //

用於標記是否傳送過密碼

bool firstpacket = true; //

用於標記第乙個包是否已傳送

bool online = false;//

hwnd howner = 0;//

介面的窗體控制代碼

pcap_t *fp = null;//

網絡卡裝置

初始化各種待傳送的包,略(包結構參考有關資料)

unsigned char connectbuf[60]

請求連線包

unsigned char disconnectbuf[60]

請求斷開包

unsigned char unknowbufa[67]

我不知道的包

unsigned char passwordbuf[60]

包含密碼、使用者名稱的包

unsigned char keepbuf[60]

保持連線的包,包含

ip、使用者名稱

unsigned char sendusernamebuf[60]

傳送ip

、使用者名稱的包 //

開啟網絡卡,用

pcap_findalldevs

()獲得

*device

bool opendevice(char* device)

void closedevice()//

關閉網絡卡

} void deviceloop()//

啟動包處理迴圈

// 分析包並產生相應動作

void packet_handler(unsigned char *param,

const struct pcap_pkthdr *header,

const unsigned char *pkt_data)

; //

協議型別

static unsigned char sessionflaga[3] = ; //

保持連線包

static unsigned char sessionflagb[3] = ;

static unsigned char unknow[3] = ;

static unsigned char requestpwda[3] = ; //

請求密碼包

static unsigned char requestpwdb[3] = ;

static unsigned char successa[3] = ; //

成功認證包

static unsigned char successb[3] = ;

static unsigned char byea[3] = ; //

成功斷線包

static unsigned char byeb[3] = ;

// 找包的大小為

60個位元組

, 協議為

eapol的包

if (header->len == 60 && !memcmp(pkt_data + 0x0c, type, 4))

// 判斷是否為對話維持包或需要傳送使用者名稱的包

(這兩種包的特徵是相同的)

if (!memcmp(pkt_data + 0x10, sessionflaga, 3) &&

!memcmp(pkt_data + 0x14, sessionflagb, 3))

} else//

否則就傳送使用者名稱

return; }

// 判斷是否為未知型別的包

if (!memcmp(pkt_data + 0x10, sessionflaga, 3) &&

!memcmp(pkt_data + 0x14, unknow, 3))

// 判斷是否為需要傳送密碼的包

if (!memcmp(pkt_data + 0x10, requestpwda, 3) &&

!memcmp(pkt_data + 0x14, requestpwdb, 3))

// 判斷是否為認證成功的包

code=3

if (!memcmp(pkt_data + 0x10, successa, 3) &&

!memcmp(pkt_data + 0x14, successb, 3))

return; }

// failure

包code=4

if (!memcmp(pkt_data + 0x10, byea, 3))

return; }

else//

其他離線包

return; }

} }

}

c 下 socket 客戶端 程式設計

using system.io using system.net.sockets using system.net private void button4 click object sender,eventargs e s new socket addressfamily.internetwork...

c 下 socket 客戶端 程式設計

using system.io using system.net.sockets using system.net private void button4 click object sender,eventargs e s new socket addressfamily.internetwork...

H3C 華為交換機配置NTP客戶端

h3c clock timezone utc add 8 ntp service unicast server 1.1.1.1 ntp伺服器位址 clock protocol ntp ntp service enable 部分h3c裝置由於時間相差太久的原因,可以先手動配置相近的時間 clock d...