广工计算机网络课程设计报告书

合集下载

计算机网络技术课程设计报告

计算机网络技术课程设计报告

计算机网络技术课程设计报告一、引言计算机网络技术是现代信息技术中的重要组成部分,已经成为各行各业不可或缺的基础设施。

计算机网络技术课程设计是培养学生网络技术水平的关键环节,通过本次课程设计,学生将深入理解网络结构、协议、安全等相关内容,提升实践应用能力。

二、设计目标本次计算机网络技术课程设计的主要目标包括: 1. 理解并掌握计算机网络的基本概念和原理; 2. 掌握网络设计的方法和技巧; 3. 完成一个基于网络技术的实际应用设计。

三、设计内容3.1 网络结构设计在该部分中,我们将设计一个典型的网络结构,包括网络拓扑、设备部署、网络层次等内容。

通过这一步骤,学生将学会如何合理规划和配置一个网络。

3.2 协议分析与优化在本部分,我们将分析现有的网络协议,挖掘其中的问题并进行优化改进。

学生将学习到协议分析和优化的方法和技巧。

3.3 网络安全设计网络安全是计算机网络技术中至关重要的一环,我们将介绍常见的网络安全威胁、攻防技术,并设计相应的网络安全策略。

四、设计步骤4.1 网络结构设计步骤•确定网络拓扑结构;•设计并配置网络设备;•划分网络层次。

4.2 协议分析与优化步骤•分析现有协议的性能和安全性;•优化协议设计,提高网络效率;•验证优化效果。

4.3 网络安全设计步骤•分析网络安全威胁;•制定网络安全策略;•实施安全措施并测试效果。

五、设计成果经过以上设计步骤,将形成一个完整的网络技术设计报告,包括网络结构设计图、协议优化方案、安全设计方案等内容。

通过这份设计报告,学生将展示自己在计算机网络技术方面的理解和能力。

六、总结本次计算机网络技术课程设计通过深入的理论学习和实践操作,帮助学生全面提升自己在网络技术领域的能力,为未来的工作和学习打下坚实基础。

希望通过这次设计,学生能够进一步认识到网络技术的重要性,不断提升自身的技术水平。

以上是本次计算机网络技术课程设计的报告,希望能够对学生的学习和成长有所启发。

3.2计算机网络教学设计粤教版高中信息技术必修2

3.2计算机网络教学设计粤教版高中信息技术必修2

【第三课时教学设计】3.2 计算机网络——探秘计算机网络一、教学内容分析本节是粤教版必修二《信息系统与社会》第三章《信息系统的网络组建》第二节,前面已经学习了信息系统与外部世界的连接方式,让学生感受到了交往方式的改变。

本节通过学生生活的经验,引导学生理解计算机网络在信息系统中的作用:数据传输、资源共享、分布式处理。

通过本节内容的学习不仅能够加深对信息系统组成和工作原理的理解,还能更加清晰的明白计算机网络在物联网中的作用以及为今后进行计算机网络搭建打下一定的理论基础。

二、学情分析在之前的学习中,学生掌握了信息系统的组成与功能以及物联网的核心概念和关键技术,但学生对计算机网络在信息系统中主要起到什么作用了解不系统、不全面,认知层面还停留在借助各种终端在网络中搜索和使用资源,但对于计算机网络的工作原理他们是缺乏认知的。

学生对信息技术有强烈的好奇心和求知欲,但又不喜欢枯燥乏味的单调讲解。

学生对于身边的未知是乐于探究的。

三、教学目标分析学科素养目标(一)信息意识主动关注信息技术工具发展中的新动向和新趋势,有意识地使用新技术处理信息。

(二)计算思维了解计算机网络数据传输作用。

能提取问题的基本特征,抽象处理,利用形象化的方式表达。

(三)信息社会责任在信息活动中,具有信息安全意识,采用简单技术手段,保护数据、信息及信息设备安全。

知识目标1.理解计算机网络在信息系统中的作用;2.能够理解计算机网络的数据传输作用;3.通过项目化学习和探究活动,学生能够选择并加工合适的传输介质应用到智能家居系统当中。

四、教学重难点分析重点:理解计算机网络在信息系统中的作用。

难点:知道计算机网络的传输协议。

五、教学活动设计六、教学准备教学工具:双绞线、压线钳、测线仪。

七、教学实施过程教师根据学生回答进行总结:计算机网络在信息系统中主要起到数据传输、资源共享、分布式处理三方面作用。

2. 教师提问:思考哪些生活场景分别体现了这些作用?总结:微信视频聊天、收发电子邮件等;浏览网页、在线游戏、网购、文件等;王者荣耀选择不同服务器作为游戏入口。

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

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

一.需求分析聊天系统不外乎两个方面,服务器端和客户端。

简单分析一下两个方面所要完成的任务,对设计这个程序来说,等于完成了一半。

首先来看一下服务器端的任务:1.服务器端应当建立一个ServerSocket,并且不断进行侦听是否有客户端连接或者断开连接(包括判断没有响应的连接超时)。

2.服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。

以上就是服务器端最主要的两个任务。

不难看出,服务器端的任务并不复杂。

客户端应该完成的工作包括:1.与服务器端建立通信通道,向服务器端发送信息。

2.接收来自服务器的信息。

相对服务器而言,客户端的任务更加简单,有了以上的简单分析,可以知道,解决上述四个问题,即完成了该聊天系统的核心。

二.概要设计运用所学的编程知识,加上网络方面的一些知识结构,模拟QQ聊天工具,通过SOCKET编写的简易网络聊天工具。

Socket,简称套接字,用于实现网络上客户和服务器之间的连接。

也就是说网络上两个或两个以上双工方式通信的进程之间总有一个连接,这个连接的端点成为套接字,套接字是在比较低的层次上通信的。

具体的说:一个服务器应用程序一般侦听一个特定的端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过程中,客户端被分配一个本地端口与一个socket建立连接,客户端通过写socket来通知服务器,以读socket中的信息,类似的服务器也获得一个本地端口,它需要一个新的端口号来侦听原始端口上的其他连接请求。

服务器也通过它的本地端口连接一个socket,通过读写和客户端通信。

Socket程序的工作过程:1、建立Socket连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道。

2、数据通信:利用虚拟连接通道传送数据信息进行通道。

3、关闭:通信结束时,再将所建的虚拟连接拆除。

具体如下:服务器三次握手:第一次握手:原主机发送一个带有本次连接的序号的请求的一个数据帧第二次握手:目的主机收到请求后,如果同意连接,则发回一个带有一个本次连接序号和源端机连接序列号的确认。

计算机网络课程设计报告

计算机网络课程设计报告

计算机网络课程设计报告设计题目:计算校验和学生姓名:汤武俊小组成员:余平黄兆熊系别:计算机学院专业:网络工程班级:08101班学号:200817030141指导教师:任盛完成时间:2011年1月7日目录一、课程设计的目的和意义 (2)二、课程设计的主要内容 (2)三、课程设计的逻辑实现 (2)四、课程设计的核心代码 (3)五、程序的调试及分析 (5)六、总结 (5)一.课程设计的目的和意义《计算机网络课程设计》是计算机网络课程的一个延续,是计算机网络工程专业的一门专业实践课,其主要内容是使用C++实现理论课讲授的网络技术,如校验和法的验证等。

课程设计所涉及的工作过程主要包括熟悉网络知识的原理,逻辑设计,使用C++编码实现,调试和分析等。

通过本课程设计,使学生全面了解和掌握计算机网络课程上讲述的相关原理,并提高使用C++解决相关问题的能力。

该课程设计能够提高学生网络工程的应用能力,可以提高分析问题和解决问题的能力和团队协作的能力。

二.课程设计的主要内容帧封装:帧是在数据链路层数据进行传输与交换的基本单位。

构造帧对于理解网络协议的概念、协议执行过程以及网络问题处理的一般方法具有重要的意义。

模拟Ethernet帧发送:应用数据链路层与介质访问控制层的知识,根据数据链路层的基本原理,通过构造一个具体的Ethernet帧,从而深入理解网络协议的基本概念与网络问题处理的一般方法。

术语“帧”来源于串行线路上的通信。

其中,发送者在发送数据的前后各添加特殊的字符,使它们成为一个帧。

Ethernet 从某种程序上可以被看作是机器这间的数据链路层连接。

计算校验和:为保证网络上传输的数据的可靠性,在许多协议中都设置了校验和项,例如:IPv4、ICMPv4、IGMPV4、ICMPv6、UDP和TCP 等等。

计算这些校验和的算法称为网际校验和算法,简单来说就是:把被校验的数据16位进行累加,然后取反码,若数据字节长度为奇数,则数据尾部补一个字节的0以凑成偶数。

广州大学华软软件学院(计算机网络课程设计)

广州大学华软软件学院(计算机网络课程设计)

广州大学华软软件学院计算机网络技术拓扑寻宝项目——《计算机网络》课程设计1、拓扑寻宝项目介绍:广州大学华软软件学院是一个数字化校园,学院校园网是一个集计算机网络技术、多项信息管理、办公自动化和信息发布等功能于一体的综合信息平台,在网络结构、网络应用、网络管理、系统性能以及教学网络资源等各个方面投入了很大的人力、物力、财力,为全院师生的学习、工作、生活提供了保障,发挥了网络资源共享、信息快捷、无地理限制等优势,真正把现代化管理、教育技术融入学院的日常教育与办公管理当中。

项目开展方式:现要求以小组(每组2-4人)为单位寻找宝藏(学院内部的网络结点或设备),同时结合定向内容,要求每组既要根据拓扑图判断出信息点的位置,又要完成相关信息点的具体信息及问题。

取得成功的秘诀:查阅资料了解网络知识、密切协同、认真讨论。

注意答案不唯一。

项目完成时间:2008年6月10日(第十五周)。

提交方式:按作业方式提交,回答问题时请写明题号,答案需手写。

项目成绩计分:本拓扑寻宝项目为《计算机网络》课程设计,占总评成绩的10%。

本项目总分100分,按照问题完成数量和质量及讲解答辩的情况计分。

项目要求:学院校园网较复杂,而拓扑图非常简单,要想完成所有任务就必须制定方案、查阅详细资料、并克服困难达到目标;以小组为单位开展本项目,小组内部协商合作,但各小组之间必须有一定的保密措施,如发现有泄密的小组成绩计0分。

2、寻宝图:3、问题:⑥广州大学华软软件学院网络拓扑图1、请填写图中相应序号使用了那种传输介质?请简述这些传输介质的物理特性。

①:千兆多模光纤;物理特性:自带两个千兆电口和两个千兆多模光口,背板转发能力4.2Gbps。

纤芯100.0μm, 包层125μm。

②:千先兆单模光纤;物理特性:外形尺寸:43.32 x 19.35 x 4.4厘米。

纤芯10.0μm,包层125μm。

③:千兆同轴电缆;物理特性:单根同轴电缆的直径约为1.02~2.54cm最大距离限制在几千米以内。

计算机网络课程设计报告

计算机网络课程设计报告

计算机网络课程设计报告一、设计背景。

计算机网络课程设计是计算机专业学生的重要课程之一,通过该课程的学习,学生可以系统地了解计算机网络的基本原理、技术和应用,培养学生的计算机网络设计和应用能力。

本次课程设计旨在通过实际操作,帮助学生深入理解计算机网络的知识,提高他们的实际动手能力和解决问题的能力。

二、设计目标。

1. 理论与实践相结合,通过设计,使学生能够将所学的理论知识应用到实际的网络设计中,提高他们的实际操作能力。

2. 提高解决问题的能力,设计中设置一些难点和问题,引导学生思考和解决,提高他们的问题解决能力。

3. 培养团队协作精神,设计中设置一些需要团队合作的任务,培养学生的团队协作意识和能力。

三、设计内容。

1. 网络拓扑设计,要求学生设计一个小型局域网的网络拓扑结构,包括主机、交换机、路由器等设备的连接方式和布局。

2. IP地址规划,要求学生为局域网中的每台主机和设备规划合理的IP地址,要求考虑到网络的扩展性和管理的便利性。

3. 网络服务配置,要求学生配置局域网中的基本网络服务,如DHCP服务、DNS服务等,使局域网内的主机能够正常通信和访问互联网。

4. 网络安全设置,要求学生设置基本的网络安全策略,包括防火墙配置、访问控制策略等,保障局域网的安全和稳定运行。

5. 网络故障排除,设计一些故障场景,要求学生能够快速定位和解决网络故障,提高他们的故障排除能力。

四、设计要求。

1. 设计报告,学生需要提交完整的设计报告,包括设计思路、实施步骤、配置截图等内容。

2. 实际操作,学生需要在实际的网络设备上进行配置和实验,完成设计要求。

3. 问题解答,学生需要对设计中遇到的问题进行解答和总结,形成经验和教训。

五、设计评价。

1. 设计报告评价,评价学生的设计报告是否完整、清晰、符合要求。

2. 实际操作评价,评价学生的实际操作能力和解决问题的能力。

3. 问题解答评价,评价学生对设计中遇到的问题的解答和总结是否合理、深入。

计算机网络课设报告

计算机网络课设报告

计算机网络课设报告1. 引言计算机网络是现代社会中不可或缺的一部分,它连接了全球范围内的计算设备,使得信息的传输和共享变得更加便捷。

在计算机网络课程的课设中,我们将深入了解网络协议、网络拓扑结构以及网络安全等相关知识,通过实践和实验,掌握计算机网络的基本原理和技术。

2. 实验背景在本次计算机网络课设中,我们的目标是设计和实现一个简单的局域网(LAN),并通过该局域网实现主机之间的通信。

为了达到这个目标,我们将学习有关网络协议、子网划分、IP地址分配以及路由设置等相关内容。

3. 实验过程步骤一:确定局域网的拓扑结构在设计局域网时,我们需要考虑网络中的主机数量、主机之间的连接方式以及路由器的位置等因素。

基于实验要求和具体情况,我们可以选择使用星型拓扑、环形拓扑或者总线拓扑等结构。

步骤二:进行子网划分和IP地址分配为了更好地管理局域网中的主机,我们需要对局域网进行适当的子网划分,并为每个子网分配合适的IP地址。

子网划分可以帮助我们控制网络流量、提高网络的安全性和性能。

步骤三:设置路由器并配置路由表为了实现不同子网之间的通信,我们需要配置路由器并设置相应的路由表。

路由器是网络中的关键设备,它负责将数据包从源主机发送到目标主机。

通过正确设置路由表,我们可以实现跨子网的通信。

步骤四:进行网络测试和故障排除在完成局域网的搭建后,我们需要进行网络测试,以确保主机之间可以正常通信。

如果在测试过程中发现网络故障或通信问题,我们需要进行故障排除,并根据具体情况进行相应的调整和修复。

4. 实验结果与分析通过以上步骤的设计和实施,我们成功搭建了一个简单的局域网,并实现了主机之间的通信。

在测试过程中,我们发现网络的性能与拓扑结构、子网划分以及路由器的配置等因素密切相关。

合理的网络设计和设置可以提高网络的可靠性、安全性和性能。

5. 实验总结通过本次计算机网络课设的实践,我们深入了解了局域网的基本原理和技术。

我们学习了网络拓扑结构的选择、子网划分和IP地址分配、路由器的配置和路由表的设置等关键知识点。

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

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

计算机网络课程设计题目校园局域网设计学号20138380功臣班级计算机2班指导老师柴桦2015 年07 月12 日一.概述科学技术的发展日新月异,九十年代,在计算机技术和通信技术结合下,网络技术得到了飞速的发展。

如今,不仅计算机已经和网络紧密结合,整个社会都不可能脱离网络而存在。

网络技术已经成为现代信息技术的主流,人们对网络的认识也随着网络应用的逐渐普及而迅速改变。

在不久的将来,网络必将成为和一样通用的工具,成为人们生活、工作、学习中必不可少的一部分。

Internet,即国际互联网,是现在网络应用的主流,从它最初在美国诞生至今已经经历了三十多年。

这个以TCP/IP协议为主体的国际互联网络已经成为覆盖全世界一百五十多个国家和地区的大型数据通信网络。

最初的Internet是由科研网络形成的,主要是由一些大学和研究所等科研教育单位连接而成,逐渐发展到今天的规模。

而进入九十年代后,由于各种商业信息进入了Internet,使得Internet得到了极发展,其拥有的主机数,连接的网络数以及覆盖面一直呈指数形式上升。

现在在Internet上可以提供或者获得各种各样的服务,比如通过电子进行合同的起草和签订,或利用Internet直接挑选商品和购物。

Internet是一个资源的网络,其中拥有的信息资源几乎覆盖所有的领域。

Internet面向人类的社会,世界上数以亿计的人们利用它进行通信和信息共享,通过发送和接收电子,或和其他人的计算机建立连接、参加各种讨论组并免费使用各种信息资源实现信息共享。

Internet也是一个服务的网络。

在Internet上,许多单位、公司和组织提供了各种各样的服务。

比如WWW(World Wide Web全球信息网)服务、信息查询服务等,向网络上的其他用户展示自己各方面的情况,并帮助这些用户找到需要的信息。

将来的网络在Internet基础上进一步发展,其功能、速度、适用围等必将全面超过现有的Internet。

《计算机网络》课程设计报告

《计算机网络》课程设计报告

课程设计(论文)任务书软件学院学院软件工程06级专业软件测试2 班一、课程设计(论文)题目计算机网络课程设计二、课程设计(论文)工作自 2008 年12 月29 日起至 2009 年 1 月 3 日止。

三、课程设计(论文) 地点: 创新大楼405有线网络实验室。

四、课程设计(论文)内容要求:1.本课程设计的目的通过课程设计,使学生理论联系实际,在实践中进一步了解计算机网络体系结构,深入理解TCP/IP参考模型,掌握各种网络工程技术和网络规划与设计,初步掌握综合布线技术、高速局域网技术、广域网接入技术、网络互联技术,初步掌握网络应用程序开发技术以及互联网的应用技术。

培养学生分析、解决问题的能力,提高学生的科技论文写作能力。

2.课程设计的任务及要求1)基本要求:(1)熟悉交换机、路由器等网络设备的功能和使用;(2)掌握网络规划与设计,掌握网络安全与管理技术;(3)初步掌握网络应用程序设计技术和互联网应用技术。

2)课程设计论文编写要求(1)理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格式进行书写和装订。

(2)课程设计报告(论文)包括目录、绪论、正文、设计小结、参考文献、附录等3)课程设计评分标准:(1)考勤与学习态度:20分(2)理论理解与课程设计报告论文:40分;(3)动手操作与实验设计:20分;(4)设计论文答辩:20分。

4)参考文献:(1)《计算机网络》(第三版)清华大学出版社,熊桂喜王小虎译(2)(3)http:// 5)课程设计进度安排1.准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关理论资料2.设计阶段(4学时):设计方案选型3.实验阶段(4学时):按预先设计的方案在实验室完成相关的设计任务4.撰写课程设计论文阶段(8学时):总结课程设计任务和设计步骤,撰写课程设计论文学生签名:2009 年 1 月 3 日6)选择课程设计题目具体要求:课程设计(论文)评审意见(1)考勤与学习态度(20分):优()、良()、中()、一般()、差();(2)理论理解与课程设计报告论文(40分):优()、良()、中()、一般()、差();(3)动手操作与实验设计(20分):优()、良()、中()、一般()、差();(4)设计论文答辩(20分):优()、良()、中()、一般()、差();(5)格式规范性及考勤是否降等级:是()、否()评阅人:职称:2009 年1 月日目录一浅析winsock编程技术 (1)二分析程序功能及相关网络协议 (1)三程序流程图及设计方案 (2)四基于TCP的聊天室程序详细设计 (3)五测试结果 (10)六小结 (12)参考文献 (13)一浅析winsock编程技术Windows下网络编程的规范-Windows Sockets是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口,现在已成为Windows网络编程的事实上的标准。

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

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

计算机网络课程设计报告书Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT《计算机网络》课程设计报告书专业:计嵌班级:计嵌151学号:姓名:张耀目录一、设计题目二、设备选型三、IP地址规划四、拓扑图设计五、主要技术六、配置清单七、总结一、设计题目1、课设目的巩固《计算机网络》和《网络通信》两门课程的知识,在本次课程设计中充分利用前面所学的知识,熟练应用所有技术,系统掌握一个较为复杂的网络配置过程。

在课设中有少量需要的技术教学过程中没有涉及,请自己查阅CCNA资料。

2、课设内容项目背景:某中小型企业有两个部门,销售部(vlan 10)与行政部(vlan 20)。

要求同部门之间采用二层交换网络相连;不同部门之间采用单臂路由方式互访。

企业有一台内部web 服务器,承载内部网站,方便员工了解公司的即时信息.局域网路由器启用多种路由协议(静态路由、动态路由协议),并实施路由控制、负载均衡、链路认证、访问限制等功能.企业有一条专线接到运营商用以连接互联网,采用HDLC封装,由于从运营商只获取到一个公网IP地址,所以企业员工上网需要做NAT网络地址转换,具体拓扑结构如上图所示。

二、设备选型三、IP地址规划四、拓扑图设计五、主要技术Trunk:在路由/交换领域,VLAN的中继端口叫做trunk。

trunk技术用在交换机之间互连,使不同VLAN通过共享链路与其它交换机中的相同VLAN通信。

交换机之间互连的端口就称为trunk端口。

trunk是基于OSI第二层数据链路层(DataLinkLayer)的技术。

Vlan:在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。

不同的广播域之间想要通信,需要通过一个或多个路由器。

这样的一个广播域就称为VLAN。

单臂路由:在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。

《计算机网络技术》课程设计报告

《计算机网络技术》课程设计报告

《计算机网络技术》课程设计报告《计算机网络技术》课程设计报告一、引言本文旨在介绍并分析我们在《计算机网络技术》课程中的课程设计。

该课程设计的主要目标是让我们更好地理解和应用计算机网络的基本原理和协议,提高我们的网络技能和解决实际问题的能力。

通过完成这一课程设计,我们得以亲身体验和了解计算机网络在实际应用中的复杂性和挑战性。

二、课程设计内容我们的课程设计是构建一个简单的局域网(LAN)。

我们被要求设计并实现一个包含数十个节点的网络,并在该网络中进行数据交换和控制。

我们使用的设备包括路由器、交换机、集线器等基本的网络设备。

我们还需要为这个网络配置IP地址,并使用一些基本的网络协议(如TCP/IP)来实现数据传输。

在这个过程中,我们面临了许多挑战,包括配置网络设备的IP地址、设置正确的子网掩码、确保网络设备之间的正确连接等。

我们还需要理解和应用一些基本的网络协议,如TCP/IP、ARP等。

三、课程设计方法我们的课程设计采用了一种分阶段、逐步细化的方法。

首先,我们被要求进行概念理解和理论学习,深入了解计算机网络的基本原理和协议。

然后,我们进行网络设备的配置和调试,逐渐构建起完整的网络。

最后,我们进行网络测试,验证网络的稳定性和数据传输的可靠性。

四、结果与讨论经过我们的努力,我们成功地构建了局域网,并实现了基本的数据传输。

我们在每个阶段都进行了详细的记录和测试,以确保我们的设计能够满足课程要求。

通过这次课程设计,我们深入理解了计算机网络的基本原理和协议,提高了我们的网络技能,并了解了计算机网络在实际应用中的复杂性和挑战性。

我们也认识到,对于一个成功的网络设计,细致的规划、正确的设备和协议配置以及完善的测试都是至关重要的。

五、结论与建议通过这次课程设计,我们不仅提高了自己的计算机网络技能,还深入理解了计算机网络在实际应用中的复杂性。

我们认为,通过更多的实践和深入学习,我们可以更好地理解和应用计算机网络的技术。

(2023)计算机网络课程设计报告(一)

(2023)计算机网络课程设计报告(一)

(2023)计算机网络课程设计报告(一)计算机网络课程设计报告本文将对(2023)计算机网络课程设计报告进行分析和总结,主要包括以下几个方面。

设计目标本次课程设计的主要目标是让学生通过实际操作,掌握计算机网络领域的基本原理、理论知识和应用技能,提高学生对计算机网络的理解和应用能力。

设计内容本次课程设计内容主要分为三个方面:理论学习、实验操作和课程论文。

理论学习课程设计开始前,学生需要通过阅读教材和相关文献,掌握计算机网络的基本概念、网络体系结构、传输协议、应用层协议等理论知识。

实验操作学生需要完成多个实验项目,包括局域网的建立、网络分析和诊断、路由器的配置、网络安全和攻击等。

通过实验,学生能够更好地理解和掌握计算机网络的实际应用。

课程论文学生需要在课程结束后,撰写一篇论文,对本次课程设计进行总结和反思,阐述自己对计算机网络的理解和应用能力的提升。

学习评估学生的学习评估主要基于实验操作和课程论文,学生需要完成实验项目和课程论文,并对学习过程进行总结和反思。

教师将根据学生的实验操作和课程论文的质量,对学生的学习成果进行综合评估。

总结通过本次课程设计,学生能够更加生动地理解和掌握计算机网络的基本原理、理论知识和应用技能,提高对计算机网络的理解和应用能力。

这也为学生今后在计算机网络领域的学习和工作打下了坚实的基础。

改进建议为了进一步提高课程设计的质量和效果,以下是针对本次课程设计的改进建议:增加实验内容可以增加更多的实验内容,比如网络模拟和仿真、网络测量和优化、网络安全防范等,以帮助学生更加全面地理解和掌握计算机网络知识。

加强实践指导除了让学生阅读教材和相关文献,老师还应该加强实践指导,对学生的实验操作进行指导和帮助,在实验过程中及时解答学生的问题。

增加互动环节可以通过团队合作、答辩等形式,在课程设计过程中增加学生之间的互动环节,促进学生之间的交流和合作,增强学生的团队协作能力。

完善评估标准应该制定更加具体和明确的评估标准,对学生的实验操作和课程论文的质量进行有效监控,确保学生的学习成果能够得到科学、合理的评价。

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

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

南通大学计算机科学与技术学院《计算机网络》课程设计报告书二零一四年九月目录一、课题要求二、设备选型三、IP地址分配表四、配置方案五、配置代码分析六、总结一、课题要求一、题目图1 某学校校园网拓扑设备接口IPv4地址R2 s0/0/0 23.1.1.2/24 s0/0/1 24.1.1.2/24 fa0/0 12.1.1.2/24R3 s0/0/0 34.1.1.3/24 s0/0/1 23.1.1.3/24 fa0/0 212.1.1.1/24R4 s0/0/0 24.1.1.4/24 s0/0/1 34.1.1.4/24某学校校园网拓扑如图1所示。

为了缓解IP地址不足的问题,PC6和PC4使用IPv4私网地址;PC11、PC 12、PC 21及PC 22使用IPv4公网地址。

校园网通过路由器R1接入Internet,R2、R3和R4模拟因特网中的网云,其中R2为ISP的接入路由器。

最右侧为Web服务器。

具体的设备连接与IP地址配置如图1所示。

图中没有特殊说明的,子网掩码均默认为255.255.255.0。

利用思科Packet Tracer组建如图所示网络,并实现以下功能:1、VLAN10网关地址为210.28.10.1/24 ;VLAN20网关地址为210.28.20.1/24VLAN10与VLAN20网关均设在路由器R1上。

要求PC11、PC 12、PC 21及PC 22能互相ping通,且都能ping通Web Server2、使用NAT配置,PC4和PC6使用IPv4私网地址能ping通Web Server3、设置ACL,最后使得VLAN20所属主机不能通过WEB方式访问Web Server (但可以ping通Web Server),其他主机流量没有任何限制。

4、R1上配置静态路由,在路由器R2、R3及R4上配置动态rip路由。

(除此以外,可在R1、R2、R3及R4可根据需要自行配置默认路由或某条路由。

《计算机网络》课程设计报告

《计算机网络》课程设计报告
步骤2:把剥除了外包皮的网线放入到信息模块中间的空位置
步骤3:对照所采用的接入标准和模块上所标注的色标把8条芯线依次初步卡入到模块的卡线槽中。在此步只需卡稳即可,不要求卡到底。
步骤4:用打线工具把已卡入到卡线槽中的芯线打入到卡线槽的底部,以使芯线与卡线槽接触良好、稳固。对准相应芯线,往下压,当卡到底时会有"咔"的声响。注意打线工具的卡线缺口旋转位置。
WWW是建立在客户机/服务器模型之上的。WWW是以超文本标注语言HTML与超文本传输协议HTTP为基础。能够提供面向Internet服务的、一致的用户界面的信息浏览系统。
Telnet是传输控制协议/因特网协议网络的登录和仿真程序。Telnet是一个将所有用户输入送到远方主机进行处理的简单的终端程序。它的一些较新的版本在本地执行更多的处理,于是可以提供更好的响应,并且减少了通过链路发送到远程主机的信息数量。
5.1.4实验步骤……………………………………………………….………….5
5.2信息模块制作……………………………………………………………….6
5.2.1实验目的………………………………………………………………….6
5.2. 2实验设备………………………………………………………………….6
5.2.3实验任务………………………………………………………………….6
2.域控制器
要求:DNS和活动目录的安装;客户端计算机加入域;域用户的漫游设置。
3. IP地址分配方式
自动分配:DHCP服务;
手动分配:涉及到子网的划分。
4. IIS的安装和使用
5. FTP的使用
要求:掌握FTP的工作原理,利用IIS自带的FTP架设服务器;用Serv-U 6.0架设FTP服务器。

计算机网络课程设计实验报告

计算机网络课程设计实验报告

计算机网络课程设计实验报告计算机网络课程设计实验报告引言:计算机网络是现代信息技术的核心基础,它的发展与应用对于现代社会的各个领域有着重要的影响。

作为计算机网络课程的一部分,课程设计实验是培养学生实践能力和解决实际问题的重要环节。

本实验报告将介绍我们小组在计算机网络课程设计实验中所完成的工作和所获得的成果。

实验目标:本次实验的目标是设计一个简单的局域网(LAN)拓扑结构,并实现基本的网络通信功能。

通过这个实验,我们旨在加深对计算机网络原理的理解,掌握网络设备的配置和管理,以及熟悉网络通信的基本原理和技术。

实验环境:我们使用了一台主机作为服务器,两台主机作为客户端,通过交换机连接在一个局域网中。

服务器和客户端之间通过TCP/IP协议进行通信。

实验步骤:1. 设计局域网拓扑结构:我们选择了一个星型拓扑结构,将服务器作为中心节点,两台客户端作为外围节点。

这样的拓扑结构简单明了,便于实验的进行和管理。

2. 配置网络设备:我们首先配置了服务器的IP地址、子网掩码和默认网关,然后配置了客户端的IP地址和子网掩码。

通过这样的配置,我们使得服务器和客户端能够在同一个局域网中进行通信。

3. 实现网络通信功能:我们使用了Socket编程技术,通过建立TCP连接实现了服务器和客户端之间的通信。

服务器端监听指定端口,客户端向服务器发送请求,服务器接收请求并返回响应。

通过这样的通信过程,我们实现了简单的网络通信功能。

实验结果:我们成功地实现了基本的网络通信功能。

服务器和客户端之间能够正常地进行通信,实现了数据的传输和交换。

通过实验,我们进一步理解了网络通信的原理和技术,并掌握了网络设备的配置和管理方法。

实验总结:通过这次计算机网络课程设计实验,我们深入了解了计算机网络的原理和技术,掌握了网络设备的配置和管理方法。

实验过程中,我们遇到了一些问题和困难,但通过不断的学习和尝试,我们成功地解决了这些问题,并最终完成了实验目标。

《计算机网络技术》课程设计报告

《计算机网络技术》课程设计报告

《计算机网络技术》课程设计报告1.局域网概述局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。

一般是方圆几千米以内。

局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。

局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。

局域网的特点:1)局域网分布于较小的地理范围内,往往用于某一群体,如一个单位,一个部门等。

2)局域网一般不对外提供服务,保密性较好,且便于管理。

3)局域网的网速较快,现在通常采用100M/S的传输速率到达用户端口,1000M/S的传输速率用于骨干的网络链接部分。

4)局域网投资较少,组建方便,使用灵活。

局域网的现有拓扑结构:星形网,环形网,总线网,树形网2.模拟思科实验1)模拟思科拓扑图2)功能说明3560 switch 0 划分四个vlanVlan 1,vlan 10,vlan 20,vlan 1003560switch0 f0/4口 vlan 203560switch0 f0/1口 vlan 1002620 router 1 f0/0 所属网段192.168.3.0禁止 vlan 1 的一台主机访问 vlan 20私有地址转换的公有地址是201.12.13.129-201.12.13.1343)配置步骤,命令清单3950 sw0上的配置3950 sw0 设置vtp域Vtp domain abc3950 sw0配置vlanVlan 10Vlan 20Vlan 100Int vlan 1Ip add 192.168.1.1 255.255.255.0No shInt vlan 10Ip add 192.168.10.1 255.255.255.0No shInt vlan 20Ip add 192.168.20.1 255.255.255.0No shInt vlan 100Ip add 192.168.100.1 255.255.255.0No sh将端口分配vlanInt f0/1Switchport access vlan 100Int f0/4Switchport access vlan 20设置干道Int f0/2Swichport mode trunkInt f0/3Swichport mode trunk启用三层交换Ip routing配置访问控制ip access-list extended a1deny ip host 192.168.1.2 192.168.20.0 0.0.0.255 permit ip any anyint vlan 1ip access-group a1 in配置动态路由router ospf 1network 192.168.1.0 0.0.0.255 area 0network 192.168.10.0 0.0.0.255 area 0network 192.168.20.0 0.0.0.255 area 0network 192.168.100.0 0.0.0.255 area 0配置静态路由ip route 0.0.0.0 0.0.0.0 200.12.12.22960 switch 0 的配置设置vtp 域Vtp domain abcVtp mode client设置干道Int f0/1Switchport mode trunk2960 switch 1 的配置和 0的配置相同2620 router0 的配置端口配置Int f0/0Ip add 192.168.100.2 255.255.255.0Ip nat insideNo shInt s1/0Ip add 200.12.12.1 255.255.255.252Ip nat outsideNo sh配置动态路由router ospf 1network 192.168.100.0 0.0.0.255 area 0network 200.12.12.0 0.0.0.3 area 0配置地址池ip nat pool b1 201.12.13.129 201.12.13.134 netmask 255.255.255.248 ip nat inside source list a2 pool b1显示转换地址Show ip nat translations2620 router 1 的配置端口配置Int f0/0Ip add 192.168.3.1 255.255.255.0No shInt s1/0Ip add 200.12.12.2 255.255.255.252Clock rate 56000No sh配置动态路由router ospf 1network 192.168.3.0 0.0.0.255 area 0network 200.12.12.0 0.0.0.3 area 0配置默认路由Ip router 0.0.0.0 0.0.0.0 200.12.12.13.神州数码实验1)神州数码拓扑图2)功能说明Vlan 的划分与模拟器相同转换地址为 201.12.13.129-201.12.13.161-201.12.13.166 禁止vlan 10 访问 vlan 203)配置步骤,命令清单5650_2上的配置5650_2配置vlanVlan 10Vlan 20Vlan 100Int vlan 1Ip add 192.168.1.1 255.255.255.0No shIpv4 forwarding enableInt vlan 10Ip add 192.168.10.1 255.255.255.0No shInt vlan 20Ip add 192.168.20.1 255.255.255.0No shInt vlan 100Ip add 192.168.100.1 255.255.255.0No sh将端口分配vlanInt e0/0/27Switchport access vlan 100Int e0/0/1Switchport access vlan 20设置干道Int e0/0/25Swichport mode trunkInt e0/0/28Swichport mode trunk配置访问控制ip access-list extended a1deny ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255 permit ip any anyfirewall enableint vlan 20ip access-group a1 in配置动态路由router ospf 1network 192.168.1.0 0.0.0.255 area 0network 192.168.10.0 0.0.0.255 area 0network 192.168.20.0 0.0.0.255 area 0network 192.168.100.0 0.0.0.255 area 0配置静态路由ip route 0.0.0.0 0.0.0.0 200.12.12.23950_1 的配置配置vlanVlan 1Vlan 10Vlan 100Vlan 20设置干道Int e0/0/25Switchport mode trunk3950_2 的配置和 3950_1的配置相同2626_1的配置端口配置Int f0/0Ip add 192.168.100.2 255.255.255.0Ip nat insideNo shInt s0/2Ip add 200.12.12.1 255.255.255.252Ip nat outsideNo sh配置动态路由router ospf 1network 192.168.100.255.255.255.0 area 0network 200.12.12.0 255.255.255.252 area 0配置地址池ip nat pool b1 201.12.13.161 201.12.13.166 255.255.255.248ip nat inside source list a2 pool b1显示转换地址Show ip nat translations1702_1 的配置端口配置Int f0/0Ip add 192.168.3.1 255.255.255.0No shInt s0/2Ip add 200.12.12.2 255.255.255.252phisical-layer speed 64000No sh配置动态路由router ospf 1network 192.168.3.0 255.255.255.0 area 0network 200.12.12.0 255.255.255.252 area 0配置默认路由Ip router 0.0.0.0 0.0.0.0 200.12.12.14. 实验总结实验配置出现的问题:配置访问控制时总是无效解决办法:启用防火墙,将访问控制应用到目的的进端口思科和神码的区别:1)思科支持vtp,交换机之间可以学习vlan,神码不支持,需要各自配置。

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

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

课程设计报告设计名称:计算机网络技术与应用课程设计专业:学院:设计时间:设计地点:姓名:学号:姓名:学号:姓名:学号:姓名:学号:成绩:(二)网络系统的方案设计2.1 网络系统设计容采用树形结构构建企业网,三层千兆交换机为整个网络的核心,它对整个网络的性能,可靠性起决定性作用,它连接各个物理子网,治理网络信息交换(包括多媒体信息),控制VLAN间访问,保证信息安全。

使用思科的Catalyst 4908G‐L3 交换机,为公司创建一个高性能千兆局域网主干。

小的工作组通过Catalyst 3500XL 交换机进行连接,并通过千兆上联端口连接公司网络的千兆主干。

主要的网络设备有服务器、用户计算机、IP、交换机、路由器、防火墙等。

2.2网络系统设计原则网络设计应该遵循开放性和标准化原则、实用性与先进性兼顾原则、可用性原则、高性能原则、经济性原则、可靠性原则、安全第一原则、适度的可扩展性原则、充分利用现有资源原则、易管理性原则、易维护性原则、最佳的性能价格比原则、QoS保证。

2.3 平面初步拓扑方案选择设备核心三层交换机一个,二层交换机一个,路由器三个,服务器一个,PC机若干,打印机一个,IP若干,通过实线若干,虚线若干。

2.4网络设计的层次拓扑结构图局域网a 局域网b1.1拓扑图1.2设计背景公司操作部、销售部的PC通过2台交换机实现通信,要求财务部和销售部的PC可以互通,但为了数据安全起见,销售部和操作部需要进行互相隔离,现要在交换机上做适当配置来实现这一目标。

还需要一台三层交换机进行互联实现不同部门之间pc机的通信。

1.3具体配置IP设置PC0 IP 192.168.102.101 gateway 192.168.102.1PC1 IP 192.168.103.7 gateway 192.168.103.1PC6 IP 192.168.102.15 gateway 192.168.102.1未划分vlan时测试连通性 PC0与PC1:把PC0 PC2划分到vlan2 PC1划分到vlan3中,目的是要让不同vlan中主机能够进行通信(即PC0与PC1进行通信)对switch0进行ISO命令行设置先创建两个vlan:vlan2 vlan3;将PC0的端口fa0/2划分到vlan2中,PC1的端口fa0/3划分vlan3中,PC6的端口fa0/1划分到vlan2中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计课程名称计算机网络题目名称使用ARP获取局域网内部活动主机的物理地址学生学院计算机学院专业班级学号学生姓名指导教师2013年1月 6 日计算机网络课程设计任务书使用ARP协议获取局域网内部活动主机的物理地址一.实验需求分析1.1实验要求定义和封装ARP数据包,将主机对应的网卡设置成混杂模式,截取局域网的数据包,并设置过滤后获取ARP包,分析ARP包,获得活动主机的物理地址。

1.2实验内容与步骤(1).熟悉ARP协议的工作原理;(2).熟悉ARP协议相关数据帧结构;(3).构造ARP请求数据帧;(4).使用Winpcap相关函数(ARP包的发送函数)实现数据帧的发送;(5).接收及解析目的主机的响应数据帧;(6.)获得IP地址与MAC地址的对应关系并显示;1.3编程环境Win7,visual studio 2010,wincap二.项目设计2.1概要设计1.课程设计中基本理论简介(1)在网际协议中定义的是因特网的IP地址,但在实际进行通信时,物理层不能识别IP地址只能识别物理地址。

因此,需在IP地址与物理地址之间建立映射关系,地址之间的这种映射称为地址解析。

(2)以太网网络中的物理地址即网卡的序列号。

IEEE规定网卡序列号为6个字节(48位),前三个字节为厂商代号,由于厂商向IEEE注册登记申请,后3个字节为网卡的流水号。

(3)地址解析包括从IP地址到物理地址的映射和从物理地址到IP地址的映射。

TCP/IP协议组提供了两个映射协议:地址解析协议ARP和逆向地址解析协议RARP。

ARP用于从IP地址到物理地址的映射,RARP用于从物理地址到IP地址的映射。

(4)地址解析协议的ARP的工作原理:假定在一个物理网络上,A(源主机)要与D(目的主机)进行通信,但是不知道D的物理地址。

A利用ARP协议工作的过程如下:广播一个ARP请求报文,请求IP地址为IPD的主机回答其物理地址。

网上所有主机都能收到该ARP请求,并将本机IP地址与请求的IP地址比较,D主机识别出自己的地址IPD,并作出回应,通报自己的物理地址。

A收到这个ARP回应包后,就可以与D进行通信。

为了提高效率,ARP协议使用了高速缓存技术。

在每台使用ARP的主机中,都保留了一个专用的内存区,一收到ARP应答,主机就将获得的IP地址和物理地址存入缓存。

以后每次要发送报文时,首先到缓存中查找有无相应的项,若找不到,再利用ARP进行地址解析。

由于多数网络通信都要连续发送多个报文,所以高速缓存大大提高ARP的效率。

在ARP请求报文中还放入源主机的“IP地址——物理地址”的地址对,源主机在广播ARP请求时,网络上所有主机都可以知道该源主机的“IP地址——物理地址”的地址对并将其存入自己的缓存。

在新主机入网时,令其主动广播其地址映射,以减少其他主机进行ARP请求。

(5)网卡具有如下的几种工作模式:广播模式(Broad Cast Model):它的物理地址(MAC)地址是0Xffffff 的帧为广播帧,工作在广播模式的网卡接收广播帧。

多播传送(MultiCast Model):多播传送地址作为目的物理地址的帧可以被组内的其它主机同时接收,而组外主机却接收不到。

但是,如果将网卡设置为多播传送模式,它可以接收所有的多播传送帧,而不论它是不是组内成员。

直接模式(Direct Model):工作在直接模式下的网卡只接收目地址是自己Mac地址的帧。

混杂模式(Promiscuous Model):工作在混杂模式下的网卡接收所有的流过网卡的帧,信包捕获程序就是在这种模式下运行的。

(6)ARP帧的数据结构表达方式:以太网帧头中的前两个字段是以太网的目的地址和源地址。

目的地址为全1时为广播地址。

两个字节长的以太网帧类型表示后面数据的类型。

对于ARP请求或应答来说,该字段的值为0X0806.硬件类型字段:指明了发送方想知道的硬件地址的类型,以太网的值为1;协议类型字段:表示要映射的协议地址类型,IP为0X0800;硬件地址长度和协议地址长度:指明了硬件地址和高层协议地址的长度,这样ARP帧就可以在任意硬件和任意协议的网络中使用。

对于以太网上IP地址的ARP 请求或应答来说,它们的值分别为6和4;操作字段:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP 请求为3,RARP响应为4;发送端的以太网地址:源主机硬件地址,6个字节;发送端IP地址:发送端的协议地址(IP地址),4个字节;目的以太网地址:目的端硬件地址,6个字节;目的IP地址:目的端的协议地址(IP地址),4个字节。

(7)WinPcap是用于网络封包抓取的一套工具,可适用于32位的操作平台上解析网络封包,包含了核心的封包过滤,一个底层动态链接库,和一个高层系统函数库,及可用来直接存取封包的应用程序界面。

Winpcap是一个免费公开的软件系统。

它用于windows系统下的直接的网络编程。

三.数据结构3.1 //28字节ARP帧结构struct arp_head{unsigned short hardware_type; //硬件类型unsigned short protocol_type; //协议类型unsigned char hardware_add_len; //硬件地址长度unsigned char protocol_add_len; //协议地址长度unsigned short operation_field; //操作字段unsigned char source_mac_add[6]; //源mac地址unsigned long source_ip_add; //源ip地址unsigned char dest_mac_add[6]; //目的mac地址unsigned long dest_ip_add; //目的ip地址};//14字节以太网帧结构struct ethernet_head{unsigned char dest_mac_add[6]; //目的mac地址unsigned char source_mac_add[6]; //源mac地址unsigned short type; //帧类型};//arp最终包结构struct arp_packetstruct ethernet_head ed; struct arp_head ah; };3.2实现程序的基本结构流程四.详细设计4.1主要函数说明主函数int main(){pcap_if_t *alldevs; pcap_if_t *d;int inum;int i=0;pcap_t *adhandle;char errbuf[PCAP_ERRBUF_SIZE];char *ip_addr;char *ip_netmask;unsigned char *ip_mac;HANDLE sendthread;HANDLE recvthread;ip_addr=(char *)malloc(sizeof(char)*16);//申请内存存放IP地址if(ip_addr==NULL){printf("申请内存存放IP地址失败!\n");return -1;}ip_netmask=(char *)malloc(sizeof(char)*16);//申请内存存放NETMASK地址if(ip_netmask==NULL){printf("申请内存存放NETMASK地址失败!\n");return -1;}ip_mac=(unsigned char *)malloc(sizeof(unsigned char)*6);//申请内存存放MAC地址if(ip_mac==NULL){printf("申请内存存放MAC地址失败!\n");return -1;}/* 获取本机设备列表*/if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1){fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);exit(1);}/* 打印列表*/printf("[本机网卡列表:]\n");for(d=alldevs; d; d=d->next){printf("%d) %s\n", ++i, d->name);if (d->description)printf(" (%s)\n", d->description);elseprintf(" (No description available)\n");}if(i==0){printf("\n找不到网卡!请确认是否已安装WinPcap.\n");return -1;}printf("\n");printf("请选择要打开的网卡号(1-%d):",i);scanf("%d", &inum);if(inum < 1 || inum > i){printf("\n该网卡号超过现有网卡数!请按任意键退出…\n");getchar();getchar();/* 释放设备列表*/pcap_freealldevs(alldevs);return -1;}/* 跳转到选中的适配器*/for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);/* 打开设备*/if ( (adhandle= pcap_open(d->name, // 设备名65536, // 65535保证能捕获到不同数据链路层上的每个数据包的全部内容PCAP_OPENFLAG_PROMISCUOUS, // 混杂模式1000, // 读取超时时间NULL, // 远程机器验证errbuf // 错误缓冲池) ) == NULL){fprintf(stderr,"\n无法读取该适配器. 适配器%s 不被WinPcap支持\n", d->name); /* 释放设备列表*/pcap_freealldevs(alldevs);return -1;}ifget(d,ip_addr,ip_netmask);//获取所选网卡的基本信息--掩码--IP地址GetSelfMac(adhandle,ip_addr,ip_mac);//输入网卡设备句柄网卡设备ip地址获取该设备的MAC地址sp.adhandle=adhandle;sp.ip=ip_addr;sp.mac=ip_mac;mask=ip_netmask;gp.adhandle=adhandle;sendthread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)SendArpPacket,&s p,0,NULL);recvthread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)GetLivePC,&gp,0,N ULL);printf("\nlistening on 网卡%d ...\n",inum);/* 释放设备列表*/pcap_freealldevs(alldevs);getchar();getchar();return 0;}/* 获取可用信息*/void ifget(pcap_if_t *d,char *ip_addr,char *ip_netmask){pcap_addr_t *a;char ip6str[128];/* IP addresses */for(a=d->addresses;a;a=a->next){switch(a->addr->sa_family){case AF_INET:if (a->addr){char *ipstr;ipstr=iptos(((struct sockaddr_in *)a->addr)->sin_addr.s_addr);//*ip_addrmemcpy(ip_addr,ipstr,16);}if (a->netmask){char *netmaskstr;netmaskstr=iptos(((struct sockaddr_in *)a->netmask)->sin_addr.s_addr);memcpy(ip_netmask,netmaskstr,16);}case AF_INET6:break;}}}/* 将数字类型的IP地址转换成字符串类型的*/char *iptos(u_long in){static char output[IPTOSBUFFERS][3*4+3+1];static short which;u_char *p;p = (u_char *)&in;which = (which + 1 == IPTOSBUFFERS ? 0 : which + 1);sprintf(output[which], "%d.%d.%d.%d", p[0], p[1], p[2], p[3]);return output[which];}char* ip6tos(struct sockaddr *sockaddr, char *address, int addrlen){socklen_t sockaddrlen;#ifdef WIN32sockaddrlen = sizeof(struct sockaddr_in6);#elsesockaddrlen = sizeof(struct sockaddr_storage);#endifif(getnameinfo(sockaddr,sockaddrlen,address,addrlen,NULL,0,NI_NUMERICHOST) != 0) address = NULL;return address;}/* 获取自己主机的MAC地址*/int GetSelfMac(pcap_t *adhandle,const char *ip_addr,unsigned char *ip_mac) {unsigned char sendbuf[42];//arp包结构大小int i = -1;int res;struct ethernet_head eh;struct arp_head ah;struct pcap_pkthdr * pkt_header;const u_char * pkt_data;memset(eh.dest_mac_add,0xff,6);//目的地址为全为广播地址memset(eh.source_mac_add,0x0f,6);memset(ah.source_mac_add,0x0f,6);memset(ah.dest_mac_add,0x00,6);eh.type = htons(ETH_ARP);ah.hardware_type = htons(ARP_HARDWARE);ah.protocol_type = htons(ETH_IP);ah.hardware_add_len = 6;ah.protocol_add_len = 4;ah.source_ip_add = inet_addr("100.100.100.100"); //随便设的请求方ipah.operation_field = htons(ARP_REQUEST);ah.dest_ip_add=inet_addr(ip_addr);memset(sendbuf,0,sizeof(sendbuf));memcpy(sendbuf,&eh,sizeof(eh));memcpy(sendbuf+sizeof(eh),&ah,sizeof(ah));if(pcap_sendpacket(adhandle,sendbuf,42)==0){printf("\nPacketSend succeed\n");}else{printf("PacketSendPacket in getmine Error: %d\n",GetLastError());return 0;}while((res = pcap_next_ex(adhandle,&pkt_header,&pkt_data)) >= 0){if(*(unsigned short *)(pkt_data+12) == htons(ETH_ARP)&&*(unsigned short*)(pkt_data+20) == htons(ARP_REPLY)&&*(unsigned long*)(pkt_data+38) == inet_addr("100.100.100.100")){for(i=0; i<6; i++){ip_mac[i]=*(unsigned char *)(pkt_data+22+i);}printf("获取自己主机的MAC地址成功!\n");break;}}if(i==6){return 1;}else{return 0;}}/* 向局域网内所有可能的IP地址发送ARP请求包线程*/DWORD WINAPI SendArpPacket(LPVOID lpParameter)//(pcap_t *adhandle,char *ip,unsigned char *mac,char *netmask){sparam *spara=(sparam *)lpParameter;pcap_t *adhandle=spara->adhandle;char *ip=spara->ip;unsigned char *mac=spara->mac;char *netmask=spara->netmask;printf("ip_mac:%02x-%02x-%02x-%02x-%02x-%02x\n",mac[0],mac[1],mac[2],mac[3 ],mac[4],mac[5]);printf("自身的IP地址为:%s\n",ip);printf("地址掩码NETMASK为:%s\n",netmask);printf("\n");unsigned char sendbuf[42];//arp包结构大小struct ethernet_head eh;struct arp_head ah;memset(eh.dest_mac_add,0xff,6);//目的地址为全为广播地址memcpy(eh.source_mac_add,mac,6);memcpy(ah.source_mac_add,mac,6);memset(ah.dest_mac_add,0x00,6);eh.type = htons(ETH_ARP);ah.hardware_type = htons(ARP_HARDWARE);ah.protocol_type = htons(ETH_IP);ah.hardware_add_len = 6;ah.protocol_add_len = 4;ah.source_ip_add = inet_addr(ip); //请求方的IP地址为自身的IP地址ah.operation_field = htons(ARP_REQUEST);//向局域网内广播发送arp包unsigned long myip=inet_addr(ip);unsigned long mynetmask=inet_addr(netmask);unsigned long hisip=htonl((myip&mynetmask));for(int i=0;i<HOSTNUM;i++){ah.dest_ip_add=htonl(hisip+i);memset(sendbuf,0,sizeof(sendbuf));memcpy(sendbuf,&eh,sizeof(eh));memcpy(sendbuf+sizeof(eh),&ah,sizeof(ah));if(pcap_sendpacket(adhandle,sendbuf,42)==0){//printf("\nPacketSend succeed\n");}else{printf("PacketSendPacket in getmine Error: %d\n",GetLastError());}Sleep(50);}Sleep(1000);flag=TRUE;return 0;}/* 分析截留的数据包获取活动的主机IP地址*/DWORD WINAPI GetLivePC(LPVOID lpParameter)//(pcap_t *adhandle){gparam *gpara=(gparam *)lpParameter;pcap_t *adhandle=gpara->adhandle;int res;unsigned char Mac[6];struct pcap_pkthdr * pkt_header;const u_char * pkt_data;while(true){if(flag){printf("扫描完毕,按任意键退出!\n");break;}if((res=pcap_next_ex(adhandle,&pkt_header,&pkt_data))>=0){if(*(unsigned short *)(pkt_data+12)==htons(ETH_ARP)){struct arp_packet *recv=(arp_packet *)pkt_data;if(*(unsigned short *)(pkt_data+20)==htons(ARP_REPLY)){printf("-------------------------------------------\n");printf("IP地址:%d.%d.%d.%d MAC地址:",recv->ah.source_ip_add&255,recv->ah.source_ip_add>>8&255,recv->ah.sour ce_ip_add>>16&255,recv->ah.source_ip_add>>24&255);for(int i=0;i<6;i++){Mac[i]=*(unsigned char *)(pkt_data+22+i);printf("%02x",Mac[i]);}printf("\n");}}}Sleep(10);}return 0;}五.实验结果六.实验总结实验中最难做的是vs2010的环境变量的设置,找了很多的网站才找到此环境变量的图解。

相关文档
最新文档