freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于winpcap的嗅探器設(shè)計與實(shí)現(xiàn)_畢業(yè)設(shè)計-閱讀頁

2025-07-26 08:05本頁面
  

【正文】 T(%02x:),dataiph6daddr[n])。 } } pthis(nItem,7,buf)。 } return 1。 struct ethhdr *ethh = (struct ethhdr*)pkt。 if(NULL == dataethh) return 1。i6。 dataethhsrc[i] = ethhsrc[i]。 dataethhtype = ntohs(ethhtype)。 //mac 頭大小為 break。 break。 return 1。 default: npacketn_other++。 break。 } /*分析網(wǎng)絡(luò)層: ARP*/ int analyze_arp(const u_char* pkt,datapkt *data,struct pktcount *npacket) { int i。 dataarph = (struct arphdr*)malloc(sizeof(struct arphdr))。 //復(fù)制 IP及 MAC for(i=0。i++) { if(i4) { dataarphar_destip[i] = arphar_destip[i]。 } dataarphar_destmac[i] = arphar_destmac[i]。 } dataarphar_hln = arphar_hln。 dataarphar_op = ntohs(arphar_op)。 dataarphar_pro = ntohs(arphar_pro)。 npacketn_arp++。 } /*分析網(wǎng)絡(luò)層: IP*/ int analyze_ip(const u_char* pkt,datapkt *data,struct pktcount *npacket) { int i。 dataiph = (struct iphdr*)malloc(sizeof(struct iphdr))。 dataiphcheck = iphcheck。 dataiphsaddr = iphsaddr。 dataiphfrag_off = iphfrag_off。 dataiphproto = iphproto。 dataiphtos = iphtos。 dataiphihl = iphihl。 dataiphop_pad = iphop_pad。 //ip頭長度 switch(iphproto) { case PROTO_ICMP: return analyze_icmp((u_char*)iph+iplen,data,npacket)。 case PROTO_TCP: return analyze_tcp((u_char*)iph+iplen,data,npacket)。 case PROTO_UDP: return analyze_udp((u_char*)iph+iplen,data,npacket)。 default : return1。 } return 1。 struct iphdr6 *iph6 = (struct iphdr6*)pkt。 if(NULL == dataiph6) return 1。 dataiph6version = iph6version。 dataiph6flowid = iph6flowid。 dataiph6nh = iph6nh。 for(i=0。i++) { dataiph6saddr[i] = iph6saddr[i]。 } switch(iph6nh) { case 0x3a: return analyze_icmp6((u_char*)iph6+40,data,npacket)。 case 0x06: return analyze_tcp((u_char*)iph6+40,data,npacket)。 case 0x11: return analyze_udp((u_char*)iph6+40,data,npacket)。 default : return1。 } return 1。 dataicmph = (struct icmphdr*)malloc(sizeof(struct icmphdr))。 dataicmphchksum = icmphchksum。 dataicmphseq =icmphseq。 strcpy(datapktType,ICMP)。 return 1。 struct icmphdr6* icmph6 = (struct icmphdr6*)pkt。 if(NULL == dataicmph6) return 1。 dataicmph6code = icmph6code。 dataicmph6type = icmph6type。 dataicmph6op_type = icmph6op_type。i6。 } strcpy(datapktType,ICMPv6)。 return 1。 datatcph = (struct tcphdr*)malloc(sizeof(struct tcphdr))。 datatcphack_seq = tcphack_seq。 datatcphdoff = tcphdoff。 datatcphcwr = tcphcwr。 datatcphurg = tcphurg。 datatcphpsh = tcphpsh。 datatcphsyn = tcphsyn。 datatcphdport = ntohs(tcphdport)。 datatcphsport = ntohs(tcphsport)。 datatcphwindow= tcphwindow。 //?? if(ntohs(tcphdport) == 80 || ntohs(tcphsport)==80) { npacketn_++。 } else{ npacketn_tcp++。 } return 1。 dataudph = (struct udphdr*)malloc(sizeof(struct udphdr))。 dataudphcheck = udphcheck。 dataudphlen = ntohs(udphlen)。 strcpy(datapktType,UDP)。 return 1。 u_char ch。 memset(tempbuf,0,256)。isize_pkt。 rowcount = (size_pkti) 16 ? 16 : (size_pkti)。 j rowcount。 if(rowcount 16) for(j=rowcount。j++) bufAppendFormat(_T( ))。 j rowcount。 ch = isprint(ch) ? ch : 39。 bufAppendFormat(_T(%c),ch)。 if(rowcount16) return。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1