皮皮学,免费搜题
登录
搜题
【简答题】
以下程序代码是 基于 WinPcap 的 , 实现 对网络中 UDP 数据的捕获与分析 。 #include "stdafx.h" #include "..\..\..\Include\pcap.h" void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data); int _tmain(int argc, _TCHAR* argv[]) { pcap_if_t *alldevs; pcap_if_t *d; int inum; int i=0; pcap_t *adhandle; char errbuf[PCAP_ERRBUF_SIZE]; u_int netmask; char packet_filter[] = "ip and udp"; struct bpf_program fcode; /* 获取设备列表 */ if( ________ 1 __________ (&alldevs, errbuf) == -1) { fprintf(stderr,"pcap_findalldevs 函数调用错误 : %s\n", errbuf); return 1;; } for(d=alldevs; d; d=d->next) { printf("%d. %s", ++i, d->name); if (d->description) printf(" (%s)\n", d->description); else printf(" ( 没有可用的描述符 )\n"); } if(i==0) { printf("\n 无法找到网络接口 ! 请确认 WinPcap 已正确安装 .\n"); return -1; } printf(" 请待捕获数据的输入网卡编号 (1-%d):",i); scanf("%d", &inum); if(inum < 1 || inum > i) { printf("\nAdapter number out of range.\n"); pcap_freealldevs(alldevs); return -1; } for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++); /* 打开网卡 */ adhandle= ________ 2 __________ (d->name, 65536, 1, 1000, errbuf ); if ( adhandle == NULL) { fprintf(stderr,"\n 无法打开网络适配器 . WinPcap 不支持 %s \n", d->name); // 释放设备列表 ________ 3 __________ (alldevs); return -1; } if(pcap_datalink(adhandle) != DLT_EN10MB) { fprintf(stderr,"\n 本在以太网环境下可用 .\n"); pcap_freealldevs(alldevs); return -1; } if(d->addresses != NULL) netmask=((struct sockaddr_in *)(d->addresses->netmask))->sin_addr.S_un.S_addr; else netmask=0xffffff; // 编译过滤器 if ( ________ 4 __________ (adhandle, &fcode, packet_filter, 1, netmask) <0 ) { fprintf(stderr,"\n 无法编译过滤规则,请检查语法的正确性 .\n"); pcap_freealldevs(alldevs); return -1; } // 设置过滤器 if ( ________ 5 __________ (adhandle, &fcode)<0) { fprintf(stderr,"\n 设置过滤器错误 .\n"); pcap_freealldevs(alldevs); return -1; } printf("\nlistening on %s...\n", d->description); pcap_freealldevs(alldevs); /* 开始流量捕获 */ ________ 6 __________ (adhandle, 0, packet_handler, NULL); return 0; } /* 每当有数据包进入,则以下回调函数被 WinPcap 调用 */ void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data) { struct tm *ltime; char timestr[16]; ip_header *ih; udp_header *uh; u_int ip_len; u_short sport,dport; time_t local_tv_sec; local_tv_sec = header->ts.tv_sec; ltime=localtime(&local_tv_sec); strftime( timestr, sizeof timestr, "%H:%M:%S", ltime); printf("%s.%.6d len:%d ", timestr, header->ts.tv_usec, header->len); ih = (ip_header *) (pkt_data + 14); // 以太网头部长度 ip_len = (ih->ver_ihl & 0xf) * 4; uh = (udp_header *) ((u_char*)ih + ip_len); sport = ntohs( uh->sport ); dport = ntohs( uh->dport ); printf("%d.%d.%d.%d.%d -> %d.%d.%d.%d.%d\n", ih->saddr.byte1, ih->saddr.byte2, ih->saddr.byte3, ih->saddr.byte4, sport, ih->daddr.byte1, ih->daddr.byte2, ih->daddr.byte3, ih->daddr.byte4, dport); }
拍照语音搜题,微信中搜索"皮皮学"使用
参考答案:
参考解析:
知识点:
.
..
皮皮学刷刷变学霸
举一反三
【多选题】描述性统计可运用以下哪些方式?
A.
统计频数
B.
统计百分比
C.
平均数
【单选题】关于历史剧《亨利四世》,以下叙述哪项是错的?()
A.
表现了一些大贵族、主教起兵反叛国王和被消灭过程
B.
表现了亨利王子与福斯塔夫等地痞流氓鬼混、打家劫舍,最后改过自新的过程
C.
亨利四世是贯穿全剧的主角,一直活跃在舞台的聚光灯下
D.
福斯塔夫是一个喜欢吹牛的喜剧角色
【多选题】组成粒子束武器包括下面哪几项?()
A.
病毒
B.
能源
C.
粒子加速器
D.
其他配套设备(探测、瞄准、跟踪、指挥、通信等)
【判断题】关键路径是AOE网中从源点到终点的最长路径。
A.
正确
B.
错误
【单选题】关键路径是 AOE 网中( )。
A.
从源点到终点的最长路径
B.
从源点到终点的最短路径
C.
最长的回路
D.
最短的回路
【判断题】园林中的地形设计是为景观而服务的。
A.
正确
B.
错误
【简答题】关键路径是AOE网中____。A. 从源点到终点的最长路径 B.从源点到终点的最短路径 B. 最长的回路   D.最短的回路
【单选题】在PowerPoint大纲视图中,双击(),可快速在幻灯片视图中显示这张幻灯片.
A.
B.
图标
C.
正文
D.
副标
【单选题】关键路径是 AOE 网中 ( )。
A.
从源点到终点的最长路径
B.
从源点到终点的最短路径
C.
从源点到终点的边数最多的路径
D.
从源点到终点的边数最少的路径
【单选题】PowerPoint中,在()视图中,可以定位到某特定的幻灯片。
A.
备注页视图
B.
浏览视图
C.
放映视图
D.
黑白视图
相关题目: