已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖北工业大学 计算机学院 网络工程系 2014 年编制 1 网络性能分析 课程实验报告 实验名称网络性能开源工具包实验序号1 姓 名方海刚系院专业计算机班 级 11 网络 1 班 学 号 1110322211 6 实验日期2014 9 9指导教师徐慧成 绩 1 实验目的实验目的 熟悉WinPcap的使用 掌握基于 WinPcap 网络嗅探器的开发过程 二 实验内容与要求二 实验内容与要求 开发出一个基于winpcap的网络嗅探器 能显示所捕获的数据包 并能做相应的分析 和统计 主要内容如下 1 列出监测主机的所有网卡 选择一个网卡进行监听 2 捕获所有流经网卡的数据包 并利用WinPcap函数库设置过滤规则 过滤的协议 包括tcp udp ICMP http smtp FTP ip arp 3 分析捕获到的数据包的包头和数据 按照各种协议的格式进行格式化显示 4 捕获到的数据包包括时间戳 数据包长度 以太网类型 源mac地址 目的mac 地址 协议类型 源ip地址 目的ip地址 三 实验过程三 实验过程 1 实验环境配置软件环境 软件环境 visual studio 2010 集成开发环境 开发配置 1 点击工程 属性 配置属性 VC 目录 包含目录 winpcap 需要用到的 包含目录 include 所在的路径复制到包含目录中 否则会出现找不到 pcap h 文件 2 点击工程 属性 配置属性 VC 目录 库目录 winpcap 需要用到的库文件所在的 lib 文件的路径复制到库目录中 否则会出现找不到 pcap h 文件 2 程序的设计与实现 1 数据包分析 通过对帧结构中部分字段进行判别 分析该数据包具体属于哪种协 议的数据包 我们具体分析 TCP UDP ICMP ARP HTTP 数据包 Mac头部 总长度字节 typedef struct ethernet header u char dstmac 6 目标mac地址 u char srcmac 6 源mac地址 u short eth type 以太网类型 ethernet header 湖北工业大学 计算机学院 网络工程系 2014 年编制 2 4 bytes IP address typedef struct ip address u char byte1 IP地址第个字段 u char byte2 IP地址第个字段 u char byte3 IP地址第个字段 u char byte4 IP地址第个字段 ip address IP头部 总长度字节 typedef struct ip header if LITTLE ENDIAN u char ihl 4 首部长度 u char version 4 版本 else u char version 4 版本 u char ihl 4 首部长度 endif u char tos 服务类型 u short tot len 总长度 u short id 标识号 if LITTLE ENDIAN u short frag off 13 分片偏移 u short flag 3 标志 else u short flag 3 标志 u short frag off 13 分片偏移 endif u char ttl 生存时间 u char protocol 协议 u short chk sum 检验和 struct ip address srcaddr 源 IP 地址 struct ip address dstaddr 目的IP地址 ip header TCP头部 总长度字节 TCP头部与TCP数据包不是一个概念 typedef struct tcp header u short src port 源端口号 u short dst port 目的端口号 u int seq no 序列号 u int ack no 确认号 if LITTLE ENDIAN u char reserved 1 4 保留位中的位首部长度 u char offset 4 tcp头部长度 湖北工业大学 计算机学院 网络工程系 2014 年编制 3 u char flag 6 6位标志 u char reserved 2 2 保留位中的位 else u char offset 4 tcp 头部长度 u char reserved 1 4 保留位中的位首部长度 u char reserved 2 2 保留位中的位 u char flag 6 6位标志 endif u short wnd size 16位窗口大小 u short chk sum 16位TCP检验和 u short urgt p 16为紧急指针 tcp header UDP头部 总长度字节 typedef struct udp header u short src port 远端口号 u short dst port 目的端口号 u short uhl udp 头部长度 u short chk sum 16位udp检验和 udp header ICMP头部 总长度字节 typedef struct icmp header u char type 类型 u char code 代码 u short chk sum 16位检验和 icmp header 2 2 显示数据包信息 十六进制显示 显示数据包信息 十六进制显示 void CYGSnifferDlg GetDataInfo CEdit const u char pkt data pkt pkt data u int pkt dataLen header len 得到单个Packet Data 注意 不是packet 数据包的长度 CString strText NULL CString chrAppend NULL u int eRows 0 for u short i 0 i eRows strText strAppend else strText TEXT chrAppend strAppend Format TEXT x0d x0a 0X 04X eRows 0 x0d 回车 0 x0a 换行 0X 表示进制显示 04x表 示以位的进制显示并以填充空位 eRows即显示行数 进制格式显示 strText strAppend chrAppend reset null strAppend Format TEXT 02x pkt data i strText strAppend if i 2 strAppend Format TEXT c pkt data i chrAppend strAppend if chrAppend strText TEXT chrAppend eText SetWindowTextW strText 3 3 显示数据包详细信息 显示数据包详细信息 ipip void CYGSnifferDlg ShowIPDetail HTREEITEM hItem m treeDetailInfo InsertItem TEXT IP LAYER CString str NULL Version u char ip version ip hdr version str Format TEXT Version d ip version m treeDetailInfo InsertItem str hItem Header Length u char ip length ip hdr ihl 湖北工业大学 计算机学院 网络工程系 2014 年编制 9 str Format TEXT Header Length d ip length m treeDetailInfo InsertItem str hItem Type of service u char ip tos ip hdr tos str Format TEXT Service Type 0X ip tos m treeDetailInfo InsertItem str hItem Total Length u short ip totalLen ip hdr tot len str Format TEXT Total Length d ntohs ip totalLen m treeDetailInfo InsertItem str hItem Identification str Format TEXT Identification d ntohs ip hdr id m treeDetailInfo InsertItem str hItem Flags TCHAR ip strFlag 4 u short ip flag ip hdr flag itow s ip flag ip strFlag 4 2 str Format TEXT Flag 03s ip strFlag m treeDetailInfo InsertItem str hItem Flagment offset u short ip flagoff ip hdr frag off str Format TEXT Flagment offset d ip flagoff m treeDetailInfo InsertItem str hItem Time to live u char ip ttl ip hdr ttl str Format TEXT Time to live d ip ttl m treeDetailInfo InsertItem str hItem IP Protocol CString ip strProtocol NULL u char ip protocol ip hdr protocol GetIPType ip strProtocol ip protocol false get ip protocol by call function GetIPType str Format TEXT IP Protocol s ip strProtocol m treeDetailInfo InsertItem str hItem Header CheckSum u short ip chksum ip hdr chk sum str Format TEXT Header CheckSum 0X ntohs ip chksum m treeDetailInfo InsertItem str hItem Source IP TCHAR ip srcAddr 16 湖北工业大学 计算机学院 网络工程系 2014 年编制 2 TCHAR ip dstAddr 16 GetIPAddress ip srcAddr GetIPAddress ip dstAddr str Format TEXT Source IP s ip srcAddr m treeDetailInfo InsertItem str hItem str Format TEXT Dest IP s ip dstAddr m treeDetailInfo InsertItem str hItem 4 4 结构化显示数据包 按照数据的来源地址等显示 结构化显示数据包 按照数据的来源地址等显示 void CYGSnifferDlg DispSelectedtoListCtrl packet tmp pkt packet pkt new packet const struct pcap pkthdr header new pcap pkthdr const u char pkt data new u char pkt tmp pkt header pkt header pkt data pkt pkt data No int iNoCount m listAdapterInfo GetItemCount int iNoDisp iNoCount 1 TCHAR strNo 10 itow s iNoDisp strNo 10 TimeStamp struct tm lTime 0 0 0 0 0 0 0 0 0 struct tm plTime char strTime 16 time t local tv sec local tv sec header ts tv sec localtime s plTime strftime strTime sizeof strTime H M S plTime Length int iLength header len TCHAR strLength 10 itow s iLength strLength 10 Ethernet Mac ethernet header eth hdr ethernet header pkt data TCHAR eth srcMac 18 TCHAR eth dstMac 18 CString eth strType NULL 湖北工业大学 计算机学院 网络工程系 2014 年编制 2 GetMacAddress eth srcMac eth hdr srcmac GetMacAddress eth dstMac eth hdr dstmac GetMacType eth strType ntohs eth hdr eth type true ntohs is to swap network to host IP ip header ip hdr ip header pkt data 14 get ip pos TCHAR ip srcAddr 16 TCHAR ip dstAddr 16 CString ip strProtocol NULL GetIPAddress ip srcAddr GetIPAddress ip dstAddr GetIPType ip strProtocol ip hdr protocol true IsHTTP pkt data show m listAdapterInfo InsertItem iNoCount strNo USES CONVERSION m listAdapterInfo SetItemText iNoCount 1 A2W strTime m listAdapterInfo SetItemText iNoCount 2 strLength m listAdapterInfo SetItemText iNoCount 3 eth strType m listAdapterInfo SetItemText iNoCount 4 eth srcMac m listAdapterInfo SetItemText iNoCount 5 eth dstMac m listAdapterInfo SetItemText iNoCount 6 ip strProtocol m listAdapterInfo SetItemText iNoCount 7 ip srcAddr m listAdapterInfo SetItemText iNoCount 8 ip dstAddr if pkt delete pkt pkt NULL if header delete header header NULL if pkt data delete pkt data pkt data NULL 湖北工业大学 计算机学院 网络工程系 2014 年编制 2 4 4 实现结果及说明实现结果及说明 图 1 图 1 是实验运行获得运行结果界面 还没有开始监听
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版慢性肾炎症状解析及护理方法
- 孩子教育问题教育讲座
- 肝炎常见症状及护理护理手段
- 现代企业管理慕课版实训
- 编程猫小火箭产品介绍
- 内科支气管哮喘病人的护理
- 商铺转让协议书
- 计算机网络的通信协议书
- 贾静雯离婚协议书
- 销售佣金协议书范本
- 2025下半年新疆维吾尔自治区地质局招聘事业单位人员151人考试模拟试题及答案解析
- 2025年成人高考政治试题及答案
- 河南省中小学教师副高职称评审申报指南(含六个附件证明模板)
- GB/T 1464-2005夹层结构或芯子密度试验方法
- 小学五年级上册语文部编版课件.句子(一)
- 养兔学课件(精选优秀)
- 1978年全国高考语文试卷
- 幼儿园大班科学:《树叶为什么会变黄》课件
- 铁路客车空气制动装置电子防滑器检修标准
- 2022版输变电工程标准工艺(土建分册)培训课件- 第5章
- 新人教版四年级数学上册专题训练解决问题
评论
0/150
提交评论