《IP包流量分析程序.ppt》由会员分享,可在线阅读,更多相关《IP包流量分析程序.ppt(19页珍藏版)》请在三一办公上搜索。
1、1,“十一五”国家重点图书 计算机科学与技术学科前沿丛书 计算机网络 高级软件编程技术,2,第5章IP包流量分析程序,3,概述,IP协议是TCP/IP协议族中最为核心的协议,它制定了统一的IP数据报格式,向传输层屏蔽了通信子网的差异。掌握基于IP协议的网络应用是网络技术研究与软件开发的一个重要基础,4,编程训练目的编程训练要求相关知识介绍程序设计分析扩展与提高,提纲,5,编程训练目的,掌握IP数据报格式和报头各字段的含义,加深对IP协议的理解掌握使用Raw Socket和Winpcap捕获IP数据包的软件设计与编程能力熟悉分析与统计IP数据包信息的方法,6,编程训练目的编程训练要求相关知识介绍
2、程序设计分析扩展与提高,提纲,7,编程训练要求,编写程序,监控本地网络,捕获一段时间内以本机为源地址或目的地址的IP数据包,统计IP数据包的信息:程序使用命令行运行:IPMonitor.exe duration_timeduration_time为监控时间,单位为秒程序统计信息包括源地址、目的地址、协议类型以及相应的IP数据包的数量,8,程序运行的参考界面,9,编程训练目的编程训练要求相关知识介绍程序设计分析扩展与提高,提纲,10,IP协议,TCP/IP分层结构 IP协议是一种不可靠、无连接的数据报传送服务协议,它提供的是一种“尽力而为”的服务,11,IP数据报格式,12,套接字,流套接字(S
3、tream Socket)Stream Socket主要用于TCP协议数据报套接字(Datagram Socket)Datagram Socket主要用于UDP协议原始套接字(Raw Socket)要进行IP层数据包的接收和发送,则应该使用Raw Socket,13,编程训练目的编程训练要求相关知识介绍程序设计分析扩展与提高,提纲,14,捕获IP数据包,初始化winsock2网络环境,WSADATA wsData;WSAStartup(MAKEWORD(2,2),创建Raw Socket,SOCKET sock;sock=WSASocket(AF_INET,SOCK_RAW,IPPROTO_I
4、P,NULL,0,WSA_FLAG_OVERLAPPED);,绑定 Socket,Bind(socket,(sockaddr*),15,捕获IP数据包(续),设置混杂模式接收IP数据包 使用函数recv()接收经过网卡的IP数据包,原型为:,#define IO_RCVALL _WSAIOW(IOC_VENDOR,1)DWORD dwBufferLen10;DWORD dwBufferInLen=1;DWORD dwBytesReturned=0;WSAIoctl(sock,IO_RCVALL,&dwBufferInLen,sizeof(dwBufferInLen),&dwBufferLen,
5、sizeof(dwBufferLen),&dwBytesReturned,NULL,NULL);,int recv(SOCKET s,char FAR*buf,int len,int flags),16,统计IP数据包的信息,采用链表结构来存储数据包信息定义一个结点类CIPNode,存放IP包的源地址、目的地址、协议类型和不同源、目的主机之间不同类型的IP数据包的数量 再定义一个结点链表类CNodeList,存储所捕获的所有数据包信息,17,编程训练目的编程训练要求相关知识介绍程序设计分析扩展与提高,提纲,18,扩展与提高,使用Winpcap捕获数据包获取网络设备列表列出所有网卡,让用户选择需要监视的网卡以混杂模式打开网卡编译并设置过滤器捕获IP数据包,19,扩展与提高,使用map结构存储IP数据包信息定义map中元素的数据类型 定义一个map类型的变量来存储IP数据包信息,typedef struct recordCString SouceIP;/源IP地址CSstring DesIP;/目的IP地址CString ProType;/IP包的协议类型int number;/数据包的数量RECORD;,typedef map MY_MAP;MY_MAP myHash;,
链接地址:https://www.31ppt.com/p-6508674.html