资源简介
网络课程设计中的网络协议分析器。能实现协议分析器捕获、分析数据包功能。支持以太网MAC协议、IP和TCP/UDP协议的分析,并实现了ARP,ICMP,IGMP协议的分析,提取各个协议的字段值,能进行简单的过滤。基于winpcap开源包1.2 开发环境
Microsoft Visual Studio .NET 2003,WinPcap 4.1.2
代码片段和文件信息
#include “pcap.h“
#include “Analyse.h“
int n=1;
/* 每次捕获到数据包时,libpcap都会自动调用这个回调函数 */
void packet_handler(u_char *param const struct pcap_pkthdr *header const u_char *pkt_data)
{
struct tm *ltime;
char timestr[16];
time_t local_tv_sec;
struct ether_header *ether_header;
int ether_type; //协议类型
printf(“\n*********************************************捕获第%d个数据包******************\n“n);
n=n+1;
/*-------------------------------------------------时间戳显示------------------------------------------------------------*/
/* 将时间戳转换成可识别的格式 */
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\n\r“ timestr header->ts.tv_usec header->len);
/*--------------------------------------------------数据包分析----------------------------------------------------------*/
printf(“Ethernet 802.3------------------------------------\n\r“);
ether_header=(struct ether_header *)pkt_data;
printf(“--目的mac地址=%02x:%02x:%02x:%02x:%02x:%02x\n“
ether_header->ether_dhost[0]
ether_header->ether_dhost[1]
ether_header->ether_dhost[2]
ether_header->ether_dhost[3]
ether_header->ether_dhost[4]
ether_header->ether_dhost[5]);
printf(“--源mac地址=%02x:%02x:%02x:%02x:%02x:%02\n“
ether_header->ether_shost[0]
ether_header->ether_shost[1]
ether_header->ether_shost[2]
ether_header->ether_shost[3]
ether_header->ether_shost[4]
ether_header->ether_shost[5]);
ether_type=ntohs(ether_header->ether_type);
printf(“--协议类型或数据长度=%04x“ether_type);
switch(ether_type)
{
case 0x0800:
printf(“ (IP协议)\n\r“);//IP协议分析
ip_Analyse(pkt_data);
break;
case 0x0806:
printf(“ (ARP协议)\n\r“);//ARP协议分析
arp_Analyse(pkt_data);
break;
default:
printf(“\n\r未知类型数据报:0x%0X\n“ether_type);
break;
}
}
unsigned short check_sum(unsigned short *bufint nword) //首部校验和的计算
{
unsigned long sum;
for(sum=0;nword>0;nword--)
{
sum+=*buf++;
}
sum=(sum>>16)+(sum&0xffff);
sum=sum+(sum>>16);
if(sum==0xFFFF)
{
return 1;
}
else
return -1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-05-10 10:35 Analyse\
文件 2405 2012-03-23 13:45 Analyse\Analyse.c
文件 3742 2012-03-22 20:47 Analyse\Analyse.h
文件 142336 2012-03-23 19:50 Analyse\Analyse.ncb
文件 903 2012-03-20 15:47 Analyse\Analyse.sln
文件 10752 2012-03-23 19:50 Analyse\Analyse.suo
文件 3959 2012-03-22 20:32 Analyse\Analyse.vcproj
文件 2071 2012-03-22 14:20 Analyse\arp_Analyse.c
目录 0 2012-05-10 10:34 Analyse\Debug\
文件 188416 2012-05-05 13:40 Analyse\Debug\Analyse.exe
文件 513356 2012-03-23 18:17 Analyse\Debug\Analyse.ilk
文件 181209 2012-03-23 13:45 Analyse\Debug\Analyse.obj
文件 4390912 2012-03-23 13:45 Analyse\Debug\Analyse.pch
文件 1551360 2012-03-23 18:17 Analyse\Debug\Analyse.pdb
文件 180996 2012-03-22 20:47 Analyse\Debug\arp_Analyse.obj
文件 810 2012-03-23 19:37 Analyse\Debug\BuildLog.htm
文件 179283 2012-03-23 18:17 Analyse\Debug\icmp_Analyse.obj
文件 179553 2012-03-23 18:17 Analyse\Debug\igmp_Analyse.obj
文件 185164 2012-03-22 20:47 Analyse\Debug\ip_Analyse.obj
文件 184052 2012-03-23 18:17 Analyse\Debug\tcp_Analyse.obj
文件 178729 2012-03-23 18:17 Analyse\Debug\udp_Analyse.obj
文件 33792 2012-05-10 10:34 Analyse\Debug\vc60.idb
文件 28672 2012-05-10 10:34 Analyse\Debug\vc60.pdb
文件 232448 2012-03-23 18:17 Analyse\Debug\vc70.idb
文件 634880 2012-03-23 18:17 Analyse\Debug\vc70.pdb
文件 1032 2012-03-23 18:17 Analyse\icmp_Analyse.c
文件 1135 2012-03-23 18:17 Analyse\igmp_Analyse.c
目录 0 2012-04-10 10:06 Analyse\Include\
文件 3928 2009-10-07 01:20 Analyse\Include\bittypes.h
文件 5756 2009-10-07 01:19 Analyse\Include\ip6_misc.h
文件 16958 2008-11-18 12:26 Analyse\Include\Packet32.h
............此处省略27个文件信息
相关资源
- 网络协议分析
- 计算机网络协议分析数据层、网络层
- 基于winpcap的网络入侵检测系统(源码
- 《网络协议分析》习题答案 寇晓蕤
- 网络协议分析期末题库
- 基于Winpcap实现抓取数据包
- 网络协议分析及应用实验教程.pdf
- 基于WinPcap的协议分析器
- 基于winpcap的网络嗅探器
- 两个基于winpcap开发的网络抓包分析工
- 基于WinPcap的抓包软件设计
- 华中科技大学计算机网络安全实验基
- 网络协议分析_寇晓蕤_课件
- 网络协议分析题库复习题练习题
- 基于winpcap协议分析器源代码
- 基于winpcap的解析以太网帧头部和ip头
- 基于winpcap综合网络数据包扫描程序源
- 五邑大学网络协议分析大作业/文件传
- 基于WinPcap的抓Http包控制台程序
- 网络协议分析课程设计
- 基于WinPcap的网络流量在线分析系统的
- 湘潭大学网络协议分析和编程试卷-王
评论
共有 条评论