计算机网络课程设计_报告.docx

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实 验 报 告 实验名称: 计算机网络课程设计 学生姓名: xxxxxxxxxxxxxxx 专 业: xxxxxxxxxxxxxxx 班 级: xxxxxxxxxxxxxxx 学 号: xxxxxxxxxxxxxxx 指导教师: xxxxxxxxxxxxxxx 实验成绩: 实验地点: 实验时间: 2016 年 5 月 6 日 一、实验目的与实验要求 1、实验目的 将书本上抽象的概念与具体实现技术结合,通过网络软件编程的实践,深入理解理论课上学习到的ARP、IP、TCP等重要网络协议的原理,通过自己动手编程封装与发送这些数据包,加深对网络协议的理解,掌握协议帧的结构和工作原理及其对协议栈的贡献。 2、实验要求 网络课程设计包含两个部分的内容: 题目一是数据包的封装发送和解析(ARP/IP/TCP),要求使用Winpcap技术和Socket技术,根据ARP/IP/TCP帧的结构,封装数据包发送到局域网中。另外要捕获网络中的TCP/IP/ARP数据包,解析数据包的内容,并将结果显示,并同时写入日志文件。 题目二是从可选题目中选择一个,可选题目均是网络应用小程序,要求小组使用网络编程技术设计并实现一个网络应用程序,加深对网络协议协的理解,并锻炼网络编程能力。 二、实验设备(环境)及要求 1、实验硬件设备: 计算机型号:联想ThinkPad T430u 处理器型号:Intel i5 主频:1.8Hz 网卡型号:(1)Realtek PCIe GBE (2)Broadcom 802.11n 2、实验软件要求: 操作系统:Windows10 应用软件:Visual Studio 2015 Pro 3、小组成员及分工: 三、实验内容与步骤 1、实验1:数据包的封装发送和解析(ARP/IP/TCP) (1)实验内容 程序目标: 根据IP帧的结构,封装IP数据包发送到局域网中。并捕获网络中的IP数据包,解析数据包的内容,并将结果显示,并同时写入日志文件。 程序功能: 以命令行形式运行 在标准输出中显示捕获的IP报文的首部字段的内容。 使用winpcap访问网卡,手动封装 定义IP首部的数据结构 填充数据包,发送数据包,捕获数据包 使用winpcap,捕获IP数据包 (2)主要步骤 总体设计: 获取设备列表并打印,打开所选择的适配器; 准备工作:定义ip相关的结构体、打开要存放结果的文件,设置过滤器,手写ip数据报(内容有无效的MAC源和目的地址,和均为本机地址的ip源地址和目的地址,即发给自己一个ip报文),设置抓到数据报的解析和输出到文件的操作函数(解析ip报,打印并写入文件:报文的版本、协议、源和目的地址等)。 发包、抓包。 分析获取的数据。 具体实现: #define HAVE_REMOTE #include pcap.h #include remote-ext.h #include stdio.h #include stdlib.h /*4字节的IP地址*/ typedef struct ip_address{ u_char byte1; u_char byte2; u_char byte3; u_char byte4; }ip_address; /*IPv4首部*/ typedef struct ip_header{ u_char ver_ihl; //版本(4bits)+首部长度(4bits) u_char tos; //服务类型 u_short tlen; //总长类型 u_short identification; //标识 u_short flags_fo; //标志位+段偏移量 u_char ttl; //存活时间 u_char proto; //协议 u_short crc; //首部校验和 ip_address daddr; //目的地址 ip_address saddr; //源地址 u_int op_pad; //选项与填充 }ip_header; void packet_handler(u_char *param, const struct pcap

文档评论(0)

yigang0925 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档