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

上传人:wdg****h8 文档编号:269188291 上传时间:2022-03-22 格式:DOC 页数:41 大小:101KB
返回 下载 相关 举报
计算机网络课程设计报告_报告_第1页
第1页 / 共41页
计算机网络课程设计报告_报告_第2页
第2页 / 共41页
计算机网络课程设计报告_报告_第3页
第3页 / 共41页
计算机网络课程设计报告_报告_第4页
第4页 / 共41页
计算机网络课程设计报告_报告_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《计算机网络课程设计报告_报告》由会员分享,可在线阅读,更多相关《计算机网络课程设计报告_报告(41页珍藏版)》请在金锄头文库上搜索。

1、-实验报告实验名称:计算机网络课程设计学生: * 专业: * 班级: * *: * 指导教师: * 实验成绩:实验地点:实验时间: 2016 年 5 月 6 日. z.-一、实验目的与实验要求1、实验目的将书本上抽象的概念与具体实现技术结合,通过网络软件编程的实践,深入理解理论课上学习到的ARP、IP、TCP等重要网络协议的原理,通过自己动手编程封装与发送这些数据包,加深对网络协议的理解,掌握协议帧的构造和工作原理及其对协议栈的奉献。2、实验要求网络课程设计包含两个局部的容:题目一是数据包的封装发送和解析ARP/IP/TCP,要求使用Winpcap技术和Socket技术,根据ARP/IP/TC

2、P帧的构造,封装数据包发送到局域网中。另外要捕获网络中的TCP/IP/ARP数据包,解析数据包的容,并将结果显示,并同时写入日志文件。题目二是从可选题目中选择一个,可选题目均是网络应用小程序,要求小组使用网络编程技术设计并实现一个网络应用程序,加深对网络协议协的理解,并锻炼网络编程能力。二、实验设备环境及要求1、实验硬件设备:计算机型号:联想ThinkPad T430u处理器型号:Intel i5 主频:1.8Hz网卡型号:(1)Realtek PCIe GBE (2)Broad 802.11n2、实验软件要求:操作系统:Windows10应用软件:Visual Studio 2015 Pro

3、3、小组成员及分工:三、实验容与步骤1、实验1:数据包的封装发送和解析ARP/IP/TCP1实验容1) 程序目标:根据IP帧的构造,封装IP数据包发送到局域网中。并捕获网络中的IP数据包,解析数据包的容,并将结果显示,并同时写入日志文件。2) 程序功能:以命令行形式运行在标准输出中显示捕获的IP报文的首部字段的容。使用winpcap访问网卡,手动封装定义IP首部的数据构造填充数据包,发送数据包,捕获数据包使用winpcap,捕获IP数据包2主要步骤1) 总体设计:a. 获取设备列表并打印,翻开所选择的适配器;b. 准备工作:定义ip相关的构造体、翻开要存放结果的文件,设置过滤器,手写ip数据报

4、容有无效的MAC源和目的地址,和均为本机地址的ip源地址和目的地址,即发给自己一个ip报文,设置抓到数据报的解析和输出到文件的操作函数解析ip报,打印并写入文件:报文的版本、协议、源和目的地址等。c. 发包、抓包。d. 分析获取的数据。2) 具体实现:#define HAVE_REMOTE#include pcap.h#include remote-e*t.h#include stdio.h#include stdlib.h/*4字节的IP地址*/typedef struct ip_addressu_char byte1;u_char byte2;u_char byte3;u_char byt

5、e4;ip_address;/*IPv4首部*/typedef struct ip_headeru_char ver_ihl; /版本4bits+首部长度4bitsu_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;

6、void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);/* packet handler 函数原型 */void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);int main()pcap_if_t *alldevs;pcap_if_t *d;int inum;int i=0;pcap_t *adhandle;char errbufPC

7、AP_ERRBUF_SIZE;u_int netmask;char packet_filter = ip; /抓包类型struct bpf_program fcode;pcap_dumper_t *dumpfile;/* 获取本机设备列表 */if (pcap_findalldevs_e*(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) = -1)fprintf(stderr,Error in pcap_findalldevs: %sn, errbuf);e*it(1);/* 打印适配器列表 */for(d=alldevs; d; d=d-ne*t)pr

8、intf(%d. %s, +i, d-name);if (d-description)printf( (%s)n, d-description);elseprintf( (No description available)n);if(i=0)printf(nNo interfaces found! Make sure WinPcap is installed.n);return -1;printf(Enter the interface number (1-%d):,i);scanf(%d, &inum);if(inum i)printf(nInterface number out of ra

9、nge.n);/* 释放设备列表 */pcap_freealldevs(alldevs);return -1;/* 跳转到选中的适配器 */for(d=alldevs, i=0; ine*t, i+);/* 翻开设备 */if ( (adhandle= pcap_open(d-name, / 设备名 65536, / 65535保证能捕获到不同数据链路层上每个数据包的全部容PCAP_OPENFLAG_PROMISCUOUS, / 混杂模式1000, / 读取超时时间NULL, / 远程机器验证errbuf / 错误缓冲池) ) = NULL)fprintf(stderr,nUnable to

10、open the adapter. %s is not supported by WinPcapn, d-name);/* 释放设备列表 */pcap_freealldevs(alldevs);return -1;/* 翻开堆文件*/dumpfile = pcap_dump_open(adhandle, D:save.t*t);if(dumpfile=NULL)fprintf(stderr,nError opening output filen);return -1;/* 检查数据链路层,只考虑以太网 */if(pcap_datalink(adhandle)!=DLT_EN10MB)fprin

11、tf(stderr, nThis program works only on Ethernet networds.n);/* 释放设备列表 */pcap_freealldevs(alldevs);return -1;if(d-addresses != NULL)/获得接口第一个地址的掩码netmask = (struct sockaddr_in *)(d-addresses-netmask)-sin_addr.S_un.S_addr;else/如果接口没有地址,则我们假设一个C类的掩码netmask=0*ffffff; /编译过滤器if(pcap_pile(adhandle,&fcode,pa

12、cket_filter,1,netmask)0)fprintf(stderr,nUnable to pile the packet filter. Check the synta*.n);/释放设备列表pcap_freealldevs(alldevs);return -1;/设置过滤器if(pcap_setfilter(adhandle,&fcode)description);/释放设备列表pcap_freealldevs(alldevs);/*手写数据包*/u_char packet100;/*假设在以太网上,设置MAC的目的地址为1:1:1:1:1:1*/packet0=1;packet1=1;packet2=1;packet3=1;packet4=1;packet5=1;/*设置MAC的源地址为2:2:2:2:2:2*/packet6=2;packet7=2;packet8=2;packet9=2;packet10=2;packet11=2;/*设置ip类型*/packet12=0*08;packet

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号