电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机网络课程设计实验报告北京科技大学

34页
  • 卖家[上传人]:ni****g
  • 文档编号:483327512
  • 上传时间:2023-12-07
  • 文档格式:DOCX
  • 文档大小:145.79KB
  • / 34 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、计算机网络课程设计实验报告任课教师:班 级:学 号:姓 名:目录实验一 ARP 封装并发送3课程设计目的:3课程设计要求:3课程设计分析:3程序设计分析:4实验结果5源程序6实验二 解析IP数据包9课程设计目的:9课程设计要求:9课程设计分析:9程序设计分析9实验结果13源代码13实验三 FTP客户机17课程设计目的:17课程设计要求: 1 7课程设计分析:17程序设计原理: 1 8实验结果23源代码24实验心得体会37实验一 ARP 封装并发送课程设计目的:ARP协议用于完成IP地址与MAC地址之间的转换。通过封装与发送ARP 数据包,加深对ARP协议的理解,掌握ARP帧结构和工作原理及其对协 议栈的贡献。课程设计要求: 编写程序,根据ARP帧的结构,封装ARP帧。 要求程序为命令行程序,以命令行的形式运行:SENDARP S-IP S-MAC D-IP D-MAC 其中:SENDARP:可执行程序名S-IP:源IP地址 S-MAC:源MAC地址 D-IP: 目的 IP 地址 D-MAC: 目的 MAC 地址课程设计分析: 使用 winpcap 访问网卡,手动封装 定义 ARP 的数

      2、据结构 填充数据包 发送数据包程序设计分析:ARP 协议及工作原理ARP协议是“Address Resolution Protocol(地址解析协议)的缩写。在 局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在 以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC 地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。 所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过 程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地 址,以保证通信的顺利进行。ARP的基本运行过程是:1)主机A希望发送数据分组给主机B,但不知道B的物理地址。2)A发送广播报文,要求B主机用它的物理地址来响应。3)网站上所有主机都接收到这个分组。4)B识别出自己的IP地址,发送应答报文,告诉A自己的物理地址。ARP 的分组格式物理帧头(14B)ARP帧结构(28B)填充数据(18B)CRC(4B)图一 ARP分组格式目的 MAC (6B)源 MAC(6B)类型(2B)图2 物理帧头08162431(位)硬件类型

      3、(Ethernet: 0x1)上层协议类型(IP: 0x0800)硬件地址长度(0x6)IP地址长度(0x4)操作(请求:0x1;应答:0x2)源MAC地址源MAC地址源IP地址源IP地址目的MAC地址目的MAC地址目的IP地址图3 ARP帧结构ARP 包的填充将命令行的参数作适当的转换后填到ARP分组结构的各字段中即可。要注意的是,填充请求包时。因为包要在Ethernet上广播,所以,物理帧头 的“目的MAC”字段要填充为FFFFFFFFFFFF;而ARP帧结构中的目的MAC可填充 为任意值,因为它此时不起作用。 “填充数据”字段要填充为0。实验结果Micrasoft U indo us 版本 6.1.76011 版杈所有 3009 Microsoft Corporation 0保胃所有权利。C:XWindowssystein32g:G:cd vsG:uscd ARPG:XusARPcd DebugG:usXA BP DebiJigXlEP.exe1. Dev ice SHPF_C0D2E2F3D-00C0E8-B50A-570H5C99CEe22. DeuiceNPF_3. eui

      4、ceNPF_DD1D1858-01564E4-8C96-5ED351D41fl2AlIntel 82579U Gigabit Ne tuork Connectlon4. XBeuicePF_选ft设备号Input the src ipClInput the dest ip:2.2.2.2Input source mac addressdl 11 11 11 11 11:11 11 11 11 11 11Input dest mac address:22 22 22 22 22 22G:usABPDebiJig源程序#include #include #pragma comment(lib,ws2_32.lib)#pragma comment(lib,wpcap.lib)#include #pragma pack(1) struct arp_packet /arp 包结构 unsigned char dest_mac6; /目标主机 MAC 地址 unsigned char source_mac6; /源端 MAC 地址 unsigned short eh_type; /以太网类型 un

      5、signed short hardware_type; /硬件类型:以太网接口类型为 1 unsigned short protocol_type; 协议类型:IP 协议类型为 0X0800 unsigned char add_len; /硬件地址长度: MAC 地址长度为 6B unsigned char pro_len; /协议地址长度: IP 地址长度为 4B unsigned short option; /操作: ARP 请求为 1,ARP 应答为 2 unsigned char sour_addr6; /源 MAC 地址:发送方的 MAC 地址 unsigned long sour_ip; /源 IP 地址:发送方的 IP 地址unsigned char dest_addr6; 目的MAC地址:ARP请求中该字段没有意义;ARP响应 中为接收方的 MAC 地址unsigned long dest_ip; /目的 IP 地址: ARP 请求中为请求解析的 IP 地址; ARP 响应中为 接收方的 IP 地址unsigned char padding18;#pragma pack

      6、()unsigned char* BuildArpPacket(unsigned char* source_mac, unsigned char* dest_mac,unsigned long src_ip,unsigned long dest_ip);void main()pcap_if_t *alldevs, *d;/用于存储网络设备int i=0;char errbufPCAP_ERRBUF_SIZE;if(pcap_findalldevs(&alldevs,errbuf)=-1)fprintf(stderr,Error in pcap_findalldevs:%sn,errbuf);6/ 37exit(1); for(d=alldevs;d;d=d-next)printf(%d. %s,+i,d-name);if(d-description) printf(%s)n,d-description);else printf( (No description available)n);if(i=0)printf(n找不到指定接口 .n);printf(选择设备号(l-%d):,i);

      7、int inum;pcap_t *adhandle;unsigned char *packet;scanf(%d, &inum);if(inum i)printf(n 超出范围.n);pcap_freealldevs(alldevs);for(d=alldevs, i=0; inext, i+);char chs_src_ipl6 = l.l.l.l;char chs_dest_ipl6 = 2.2.2.2;unsigned long ul_src_ip = 0u;unsigned long ul_dest_ip = 0u;printf(Input the src ip(l.l.l.l):);scanf(%s,chs_src_ip);ul_src_ip = inet_addr(chs_src_ip);printf(Input the dest ip(2.2.2.2):);scanf(%s,chs_dest_ip);ul_dest_ip = inet_addr(chs_dest_ip);unsigned char uchs_src_macl0 = 0;unsigned char uchs

      8、_dest_macl0 = 0;printf(Input source mac address(11 11 11 11 11 11):); scanf(%x%x%x%x%x%x,&uchs_src_mac0,&uchs_src_mac1,&uchs_src_mac2,&uch s_src_mac3,&uchs_src_mac4,&uchs_src_mac5);printf(Input dest mac address(22 22 22 22 22 22):); scanf(%x%x%x%x%x%x,&uchs_dest_mac0,&uchs_dest_mac1,&uchs_dest_mac2,& uchs_dest_mac3,&uchs_dest_mac4, &uchs_dest_mac5);if(adhandle= pcap_open_live(d-name,65536,1,1000,errbuf) = NULL) fprintf(stderr,n 无法打开指定适配器.s 不支持 WinPcapn,d-name); pcap_freealldevs(alldevs);packet = BuildArpPacket(uchs_src_mac, uchs_dest_mac, ul_src_ip, ul_dest_ip);/发送 arp 包的函数:参数 1:网络设备、参数 2:arp 包、参数 3:长度 pcap_sendpacket(adhandle,packet,62);unsigned char* BuildArpPacket(unsigned char* source_mac, unsigned char* dest_mac,unsigned long src_ip,unsi

      《计算机网络课程设计实验报告北京科技大学》由会员ni****g分享,可在线阅读,更多相关《计算机网络课程设计实验报告北京科技大学》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.