计算机网络实习

合集下载

计算机网络毕业实习报告范文5篇

计算机网络毕业实习报告范文5篇

计算机网络毕业实习报告范文5篇计算机网络毕业实习报告范文1一、实习目的搜集与毕业设计相关的资料,了解Web开发的根本原那么,学习Web开发的相关知识,掌握Web开发的根本技术,丰富Web开发的实战经验。

学习ASP、SQL 等的根底知识及正确的运用方法,了解设计专题的主要内容,通过实习,稳固大学所学到的知识,提高分析、判断和处理实际问题的能力,增强自己的团队协作意识,了解软件开发的思考角度和主要流程。

为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的根底。

通过理论联系实际,从而提高处理实际问题的能力,为将来开发工程的顺利进行做好充分的准备,与社会环境接轨做好准备。

二、实习内容通过本次实习,应当对HTML、CSS、JavaScript等到达熟练运用的地步,同时应该对_ML语言及其应用有一个非常清晰、明了的认识。

本次的实习内容主要包括:对教学网站的建设有一个初步的构思及确定其应该包括哪些模块实现什么功能;对ASP、SQL的根底知识的理论学习;理论联系实际对ASP、SQL进行具体操作;学会用SQL建数据库及所需表格的具体方法;理解连接SQL数据库的语句及能正确的应用于实践;学习基于Aja_技术的RSS阅读器(Web形式)、基于_ML和_SLT 的学生成绩发布系统、基于WebServices的_ML文件上传和查看系统;完成简单的单点登录系统;软件初步测试;了解和初步掌握系统的发布等。

三、实习总结在注重素质教育的今天,社会实践活动一直被视为培养德、智、体、美、劳全面开展的跨世纪优秀人才的重要途径。

毕业设计实习是学校教育向课堂外的一种延伸,也是推进素质教育进程的重要手段、大学生进入社会的桥梁。

它有助于当代大学生接触社会,了解社会。

同时,实践也是大学生学习知识、锻炼才干的有效途径,更是大学生效劳社会、回报社会的一种良好形式。

鉴于毕业实习的以上的优点,我怀着一颗真诚学习的心成为了其中的一员。

本次毕业设计我的课题是教学网站,因此选择了北京京师要铎科技,在公司实习期间与网站建设有关的知识我从头学起。

计算机网络基础应用实习报告(5篇)

计算机网络基础应用实习报告(5篇)

计算机网络基础应用实习报告(5篇)第一篇:计算机网络基础应用实习报告西北农林科技大学信息工程学院实习报告周次6完成时间2013/10/13专业年级学号姓名实习4局域网组建与网络互连认识(仅供参考,不限于此)一、实习目的通过参观计算机教学实习中心机房网络结构,认识计算机网络组成,认识局域网的组网设备,了解网线(双绞线与RJ—45接头)的线序和制作方法;理解局域网的拓扑结构,掌握局域网组网方法,初步了解网卡和协议的安装配置。

参观认识计算机教学实习中心计算机网络的互连层次、设备,理解网络互联的概念、层次、设备;了解校园网的规划和建设。

二、实习内容1.了解计算机硬件系统组成;2.认识网卡、网线、集线器、交换机等网络设备;3.了解网线的制作工具、线序和制作方法;4.参观并讲解信息工程学院计算机教学实习中心机房局域网组成;5.了解网络协议和网络配置。

6.参观计算机教学实习中心计算机网络互连,认识网络互连的拓扑结构、互连设备、服务器、网络其它设施等。

7.了解校园网的规划和建设。

三、实习步骤(过程)1、计算机主机内部主要结构与部件:内存条、网卡、主板、硬盘、光驱等。

网卡的两种不同种类:RJ-45接口网卡、。

信息盒连接多个计算机网卡以及交换机——总线型连接。

双绞线-实习使用双绞线是5类线,由8根线组成,颜色分别为:(橙白,橙),(绿白,绿),(蓝白,蓝),(棕白,棕)RJ-45与双绞线接头连接方式。

2、参观实习机房网络的组成观察机房内联网计算机的数量、配置、使用的操作系统、网络连接方式,交换机间的连接关系,网络拓扑结构等。

交换机的堆叠,结构化布线系统有:水平布线子系统、垂直布线子系统。

3、认识校园网构成和网络互联情况通过校园拓扑结构图,介绍学校网络整体拓扑结构、网络互连情况、网络提供的主要功能。

四、实习总结此次实习主要是了解局域网组建与网络互联的知识,通过参观计算机教学实习中心机房网络结构,认识计算机网络组成,认识局域网的组网设备,对计算机硬件设备等有一定的认识,了解校园网的拓扑结构。

计算机网络技术实习工作报告周记4篇

计算机网络技术实习工作报告周记4篇

计算机网络技术实习工作报告周记4篇计算机网络技术实习报告周记1读了三年的大学,然而大多数人对本专业的认识还是寥寥无几,在编程与软件测试周围缠绕不定,在大二期末学院曾要求我们做一个关于计算机行业前景研究的报告,但由于当时所学知识涉及本专业知识不多,所看到的东西与本专业根本就很难联系起来,在很多同学心里面对于本专业一直很茫然。

什么是计算机科学与技术?对于我们所选的主要从事什么样的工作?本专业前途如何?带着这些问题,我们参加了这次的实习。

本次实习在主管马楠老师、瞿浩、杜强和宋林四个老师带领下进行,计算机科学与技术总共范文大全精心挑选四个班,110几人参加实习,我们小班四十多个人,预定为三个礼拜完成。

由于所学专业的特点,我们实习的地点定为学校,环境其实挺好,机房可以二十四小时提供空调,而且只要学生愿意学习,老师都会在休息时间出现在机房。

又遇暑假,其他年级的同学都已离开学校,人少就免了打扰,清静的很,真是学习的好机会。

通过这次实习,我对计算机专业在行业实践中的工作对象、面临问题及解决办法有了一个较为全面的理解。

巩固专业知识的同时也增加了行业责任感,实习的日子里也加深了同学友谊,锻炼了团队精神。

现将实习的个人感想如下: 在这三个礼拜的时间中,我复习了曾经学过的编程语言c#,让我对c#在认识的基础上,又具备了用c#开发windows应用程序和web应用程序的能力。

现在我再去理解.net和c#,就会发现.net是个强大的新平台,而c#则是该平台下最佳的开发语言。

我还系统的学习了.net编程,并努力完成我此次实习的任务----商品进销存系统设计。

系统采用,开发工具为sqlserver____,开发语言为c#。

这个系统是针对中国中小企业开发的进销存管理软件,全面提高商业企业的管理效率,高效管理库存,提高销售力度,为企业增加更大利润。

使用简单,最大程度的简化了财务管理软件的操作复杂性,使企业无需学习,即可自己轻松上手,不但界面简单易于操作,而且通过此系统您可以知道您每天、每月、每年的销售额、利润,统计所有的应收款、应付款,知道精心挑选您的哪个分公司、门市、柜台、商品、业务员赚了多少钱,库存商品的价值,等等!有了此软件您就可以轻轻松松的打理您的企业,获得更多自由时间。

计算机网络实习报告4篇

计算机网络实习报告4篇

计算机网络实习报告实习报告一:网络拓扑结构分析1. 简介在计算机网络中,网络拓扑结构是指计算机网络中所有节点和连接方式的布局方式。

了解和分析网络拓扑结构对于网络性能优化和故障排查都具有重要意义。

本报告将对实习期间所遇到的四种网络拓扑结构进行分析和总结。

线型拓扑是最简单的网络拓扑结构之一,所有的节点都通过一条物理线连接在一起,形成一条直线。

这种拓扑结构简单易于构建和维护,但是缺点也很明显,一旦网络中的某个节点故障,整个网络都会中断。

3. 总线拓扑总线拓扑是将所有的节点都连接到一个主线上的结构,类似于电车上的售票员拖着一根绳子从前到后。

这种拓扑结构能够支持多对多的连接方式,但是一旦主线出现故障会导致整个网络瘫痪。

星型拓扑将所有的节点都连接到一个中心节点上,形成一个星型结构。

这种拓扑结构具有很好的可扩展性和可维护性,但是一旦中心节点出现故障,整个网络将无法正常工作。

5. 环型拓扑环型拓扑将所有节点连接成一个环状结构,每个节点都与相邻的节点相连接。

这种拓扑结构能够提供很高的可靠性和冗余性,但是扩展性较差。

实习报告二:局域网配置与故障排查1. 简介局域网(Local Area Network,LAN)是指在一个比较小的地理范围内的计算机网络,通常用于大楼、校园或者企业内部。

本报告将对实习期间所遇到的局域网配置和故障排查进行总结和分析。

2. 配置局域网配置局域网需要先确定网络的拓扑结构,然后为每个节点分配一个IP地址,并配置子网掩码和默认网关。

此外,还需要配置局域网内部的DNS服务器和DHCP服务器,以提供IP地址和域名解析服务。

3. 故障排查在实际运行中,局域网可能会出现连接不上互联网、无法访问共享文件夹等故障。

排查故障的方法包括检查物理连接是否正常、检查IP 地址配置是否正确、使用ping命令检查网络连通性等。

实习报告三:网络安全实践1. 简介网络安全是计算机网络中一个极其重要的方面,对于保护数据、防止黑客入侵具有关键作用。

计算机网络专业实习报告范文

计算机网络专业实习报告范文

【导语】络专业主要研究计算机络和络⼯程等⽅⾯基本知识和技能,通过实习可以提⾼我们的实践动⼿能⼒。

以下是整理的计算机络专业实习报告范⽂,欢迎阅读!【篇⼀】计算机络专业实习报告范⽂ ⼀、实习⽬的 实习⽣活是⼀块“试⾦⽯”,是加深对⾃我能⼒认识的重要途径。

⼤学的学习基本上都是理论的接受,⽽缺少能⼒的熟练与加强,我们缺少的并不是知识的储备,⽽是能⼒的积蓄。

但由于⼤学特殊的学习模式和环境,缺少实际情景的见证和实践活动的参与,同学之间缺乏必要的交流和⽐对,使得我们很多时候很难对⾃⾝的能⼒有明晰的认识,能⼒缺陷往往被遮蔽起来。

⽽实习⽣活“前所未有”地考验着我们的知识迁移和运⽤能⼒、适应环境的能⼒、应对突发事件的能⼒以及如何处理⼈际关系等各⽅⾯的能⼒,为我们提供了不可多得的见证的机遇和平台。

通过实习,我们可以新的思考维度有效发现⾃⼰能⼒上的缺陷。

综合运⽤所学理论知识、⽅法和技能,开展实际⼯作,巩固专业技能,培养和强化社会沟通能⼒;树⽴新的发展起点和⽬标,通过实习,认识社会的需要,发现⾃⾝的差距,培养⾯对现实的正确态度和独⽴分析解决问题的基本能⼒;培养良好的职业精神,适应毕业以后的实际⼯作需求。

⼆、要求 要求学⽣通过毕业前有针对性的实习为胜任今后的⼯作打下基础;另⼀⽅⾯,要求学⽣通过实习了解社会,了解企业,培养学⽣主动适应社会上的各种岗位需要的素质和能⼒。

三、实习起⽌时间 xx年xx⽉xx⽇⾄xx年xx⽉xx⽇。

四、实习过程 忙碌⽽充实的⼤学⽣活接近末尾,将以实习⽣活来结束⼤学⽣涯。

我通过在上投简历、到招聘会上投递简历等多种渠道,去寻找我⼈⽣中的第⼀份⼯作。

寻找⼯作的经历是坎坷的,这就是现实⽣活。

每次去参加⾯试的时候,都是满怀信⼼去,然后在着急中等待着结果,最后还是以失望告终。

经历了太多的失败,碰到了太多的拒绝,开始怀疑是不是⾃⼰的综合能⼒有问题还是⾯试官的审⼈能⼒有问题。

⼀次偶然的机会,收到了xx公司的电话,就这样,我开始了我的第⼀份实习⼯作。

计算机网络部门实习总结【三篇】

计算机网络部门实习总结【三篇】

【导语】实习使⼤学⽣增加社会阅历,积累⼯作经验。

社会阅历和⼯作经验是职业场中的决定因素。

只有参加实习,通过实习的检验,才能积累⾃⾝的阅历和经验。

以下是⽆忧考为⼤家整理的计算机络部门实习总结【三篇】,希望对您有所帮助。

【篇⼀】计算机络部门实习总结 ⼀、实习⽬的 学校之所以组织此次实习,主要⽬的不单单是让我们掌握更多的专业知识,⽽是让我们学习到更多的我们在学校⾥学不到的东西。

在这家公司做络管理员可是让我更深⼀步的巩固在学校⾥学习的知识,并可以锻炼我处理应急事件的能⼒。

通过实习使我更多地接触社会,实践于社会,从⽽培养了严谨的⼯作作风、初步的实际⼯作能⼒和基础的专业技能,为将来⾛上⼯作岗位打下良好的基础。

⼆、实习时间 xx年xx⽉xx⽇⾄xx年xx⽉xx⽇。

三、实习部门或岗位 络管理员办公室。

四、实习内容和过程 1、基础设施管理。

(1)确保络通信传输畅通; (2)掌握主⼲设备的配置情况及配置参数变更情况,备份各个设备的配置⽂件; (3)对运⾏关键业务络的主⼲设备配备相应的备份设备,并配置为热后备设备; (4)负责络布线配线架的管理,确保配线的合理有序; (5)掌握⽤户端设备接⼊络的情况,以便发现问题时可迅速定位; (6)采取技术措施,对络内经常出现的⽤户需要变更位置和部门的情况进⾏管理; (7)掌握与外部络的连接配置,监督络通信状况,发现问题后与有关机构及时联系; (8)实时监控整个局域的运转和络通信流量情况; (9)制定、发布络基础设施使⽤管理办法并监督执⾏情况。

2、操作系统管理。

(1)在络操作系统配置完成并投⼊正常运⾏后,为了确保络操作系统⼯作正常,络管理员⾸先应该能够熟练的利⽤系统提供的各种管理⼯具软件,实时监督系统的运转情况,及时发现故障征兆并进⾏处理。

(2)在络运⾏过程中,络管理员应随时掌握络系统配置情况及配置参数变更情况,对配置参数进⾏备份。

络管理员还应该做到随着系统环境的变化、业务发展需要和⽤户需求,动态调整系统配置参数,优化系统性能。

计算机网络技术实习报告8篇

计算机网络技术实习报告8篇

计算机网络技术实习报告8篇计算机网络技术实习报告1一、实习目的和任务学生通过实习,掌握网线制作与测试中常用设备的使用与使用技巧,熟练掌握局域网组建,掌握局域网组建中至少一种网络操作系统软件的安装、设置和维护使用,掌握网络服务的安装与配置。

初步接触网络管理方法及其网络工程技术基本知识,提高运用理论知识解决实际问题的能力。

二、实习基本要求1、掌握网线制作与测试基本知识2、掌握对等网的组建方法3、熟悉局域网的组建及维护4、熟悉网络服务与配置5、熟悉局域网与INTERNET的接入技术三、实习内容:(注:主要写实训相关理论、实习操作等内容)实训虽然只有五天时间,但我们学到了很多内容。

周一,老师讲解一些有关知识,实训的地点时间以及安排,把该交代同学的都交代了。

虽然体检用去了一些时间,不过刚好,体检完了,我们可以首先预习这本实训书。

用灵活清晰的头脑理解书本知识,有了从分的思维,为以后的几天实训做铺垫。

周二,上午,在图书馆看书,查找资料,了解下午所需要进行的实训步骤。

下午,明白了任务是需要动手操作网线制作与测试的基本知识与亲自组建对等网。

关于网线的制作,首先要明白,计算机网络的传输介质,分为两大类,有线传输介质和无线传输介质,有线传输介质包括双绞线(常用的双绞线由四对导线按照一定的密度反时针互相扭绞在一起的,分别用橙、蓝、绿、综4种颜色标出,具体来说是橙、白橙、蓝、白蓝、绿、白绿、棕、白棕八种颜色,也就是有8条铜线。

双绞线可分为屏蔽双绞线和非屏蔽双绞线两大类,常用连接双绞线的硬件有RJ—45水晶头以及信息插座。

),同轴电缆(先由两根同轴心、相互绝缘的圆柱形金属导体构成基本单元(同轴对),再由单个或多个同轴对组成的电缆。

常用的同轴电缆有两类:50Ω和75Ω的同轴电缆。

),光钎(光纤是由石英拉成丝,由纤芯和包层构成双层通信圆柱体组成的)等。

无线传输介质包括无线电波、红外线和激光等。

实训步骤:直通线与交叉线,直通线两端排序方式相同,即都用RJ—45A标准或RJ—45B标准。

计算机网络实习工作总结范文5篇

计算机网络实习工作总结范文5篇

计算机网络实习工作总结范文5篇实习可以提高动手能力,加强社会活动能力,严肃认真的学习态度,为以后专业实习和走上工作岗位打下坚实的基础。

下面是小编为大家整理的关于计算机网络实习工作总结范文,希望对您有所帮助!计算机网络实习工作总结范文1一、实习目的:熟悉网站建设知识以及对网站建设的技术应用.了解网络营销中介平台的相关知识,网络专业中介商的营销手段,商务流程.了解电子商务中介平台的运作流程。

二、实习形式:小组分工合作三、背景分析及建设网站目的随着都市人们生活节奏的加快,已越来越少的上班族有时间与精力到书店选购、查阅充书籍;同时,网络日益普及,电子商务飞速发展,一批批网站书店应运而生,改变了人们的生活方式。

为了迎合社会潮流,实施网络营销是当代企业必然之路。

加之,网络营销的规模经营和零库存的经营模式使经营成本不断降低,企业通过降低成本后把利益转让给消费者,使消费者能在网上买到价廉物美的商品,而商家也在薄利多销中获利,这种双赢效果也是网络营销倍受欢迎核心优势。

在这样的环境下,我们推出“__书屋”网。

以满足消费者的方便、快速、低价实惠的需求。

在我们的调查中发现,目前网上购书网站主要集中在几家知名大型综合网站,如当当网、卓越网等。

专业中介网站目前并不多,这可说还是一个空白市场,可进入性很强,有很好的发展前景。

为此我们把“__书屋网”的目标市场定位为爱书一族,专业营销书籍。

我们的经营理念是,以专业铸造诚信,以诚信树立品牌。

我们的口号是,为读者选好书,为好书找读者。

基于在校学生需要买二手书的找不到卖家,卖二手书的找不到买家的资源不合理配置情况。

我们通过设置买卖平台为商家、读者建立沟通的桥梁;来实现这一需求。

达到资源有效利用为社会可持续发展尽一份力。

四、工作规划及分工情况(一)内容规划1网站定义,之所以取名为“__书屋网”是因为我们的网站要达到的效果是容纳世界上各种书籍,实现应有尽有让消费者购其所需的效果,体现海纳百川的形象;另一方面是因为书籍是智慧知识的载体,自古有“知识的海洋”的说法,这一文化底蕴吸引了我们,因此我们网站名称象征着人类智慧,人类文明聚集在此的意思。

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

计算机网络与通信实习报告设计题目编程模拟ping程序2010 年11月27日一、实验目的编程模拟ping程序,实现Ping程序的基本功能,即接收到一个ping程序数据包后给出回应。

二、实验原理ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。

ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者,这有点象潜水艇声纳系统中使用的发声装置。

想要了解ping 命令的原理必须了解ICMP协议、ICMP报文格式和IP报文格式。

(1)ICMP报文结构ICMP 报文结构: ICMP 报文前四个字节为报文头部分,第一个字节为报文类型,第二个字节未用, 第三四个字节为报文的校验和。

从第四个字节开始为长度可变的数据段,该段的内容取决于ICMP 的类型,本文所要使用的请求报文和请求应答报文的数据段中前四个字节是报文的标识符和顺序号。

对于整个ICMP 报文来说其长度最长不能超过64K字节。

(2)IP报文结构ICMP 报文和其它位于IP 层的报文一样是作为IP 报文的数据段加上IP 报文头组成IP 数据报发出,其中IP 报文头长度一般为20 个字节。

如图2所示。

根据实验题目查找相关资料,熟悉及理解ping的工作原理,从而进一步设计ping程序的功能图和系统流程图。

准备工作做好后就可上机调试,验证其可行性并查找漏洞,完善ping 程序。

1、ping程序的设计包含了4部分:IP、ICMP的头结构,主函数模块,CMP数据包校验和的计算和使用说明模块。

2、系统流程图首先在主函数里定义变量同时进行初始化,然后检查参数的正确性,如果参数不正确或者没有输入参数,则显示用户帮助信息(Usage ),并结束程序;如果参数正确,则对指定目的地执行Ping命令,如果Ping通,则显示Ping结果并释放占用资源,如果没有Ping通,则报告错误信息,并释放占用资源。

如图3所示。

图3 系统流程图3、数据结构设计本程序定义了2个结构体:iphdr、-ihdr,分别用于存放IP报头信息、ICM P报头信息。

4、主函数,使用说明,数据包校验和的计算的相关程序在程序中会有体现。

三、程序设计#include <winsock2.h> //Winsock API头文件#include <stdio.h>#include <stdlib.h>#pragma comment(lib,"ws2_32.lib") //Winsock API连接库文件/*IP头结构*/typedef struct iphdr{BYTE h_len:4; //首部长度指的是IP层头部占32 bit字的数目//(也就是IP层头部包含多少个4字节,实际字节数4*hlen),BYTE version:4; //IP版本号BYTE tos; //服务类型TOSUSHORT total_len; //IP包总长度USHORT ident; //标识USHORT frag_and_flags; //标志位BYTE ttl; //生存时间BYTE proto; //协议USHORT checksum; //IP首部校验和UINT sourceIP; //源IP地址(32位)UINT destIP; //目的IP地址(32位)}IpHeader;/*ICMP头结构*/typedef struct _ihdr{BYTE i_type; //类型发出的ICMP为8(ICMP_ECHO_REQUEST),接受到的ICMP为0 BYTE i_code; //代码USHORT i_cksum; //ICMP包校验和USHORT i_id; //识别号(一般用进程号作为标识号)USHORT i_seq; //报文序列号(一般设置为0)ULONG timestamp;//时间戳}IcmpHeader;USHORT checksum(USHORT *,int); //函数声明:计算ICMP包校验和void usage();//函数声明:使用帮助void main(int argc,char *argv[]){char *ICMP_DEST_IP;//目标主机IPWSADATA wsaData;struct sockaddr_in dest,from;//地址结构int datasize; //ICMP报文大小int ret;//API函数返回值int i;//循环计数器int attachsize=32;//ICMP数据包附加字节数,本程序默认为32字节 int n=4;//发送数据包个数,本程序默认发送4个ICMP数据包int timeout;//延迟DWORD packetrecv=0;//收到的数据包DWORD mintime=0;//用时最短时间DWORD maxtime=0;//用时最长时间DWORD averagetime=0;//平均用时DWORD lostpercent=0;//丢包率DWORD start;//发送ICMP包起始时间char *icmp_data;//ICMP包char *recvbuf;//ICMP应答接收缓冲区int fromlen=sizeof(from);//地址结构体的大小SOCKET sockRaw;//原始套接字char *attachdata;//ICMP包附加数据PHOSTENT hostinfo;//主机信息(域名->IP)//读取命令行参数if(1==argc)//如果仅有一个默认的命令行参数则显示程序说明//默认的第一个命令行参数为本程序的路径{usage();return;//退出程序}else //如果有多个命令行参数{for(i=1;i<=argc-1;i++){if(strstr(argv[i],"-n"))//"-n" 指定发送ICMP数据包个数n=atoi(argv[i+1]);i++;}if(strstr(argv[i],"-l"))//"-l" 指定每个包附加数据的大小{attachsize=atoi(argv[i+1]);i++;}if(strstr(argv[i],"-t"))//"-t" 死亡之Ping{n=999999;}if(strstr(argv[i],"?")){usage();return;//退出程序}}ICMP_DEST_IP=argv[argc-1];}ret=WSAStartup(MAKEWORD(2,2), //Socket版本号&wsaData //指向WSADATA数据结构的指针); //初始化Socket的开始if(ret!=0)//WSAStartup调用成功返回0{printf("初始化Socket出错!\n");return;//退出程序hostinfo=gethostbyname(ICMP_DEST_IP); //域名解析开始if(NULL==hostinfo){printf("无法解析主机%s的IP地址!",ICMP_DEST_IP);WSACleanup(); //中止Windows Sockets DLL的使用,释放资源return;}else{ICMP_DEST_IP=inet_ntoa(*(struct in_addr*)*hostinfo->h_addr_list);}sockRaw=socket(AF_INET,//协议族(AF_INET: TCP_IP)SOCK_RAW,//套接字类型(原始套接字)IPPROTO_ICMP//协议类型(ICMP协议)); //创建原始套接字开始if(INVALID_SOCKET==sockRaw)//socket调用失败返回INVALID_SOCKET,反之返回套接字句柄{printf("创建原始套接字出错!\n");WSACleanup(); //中止Windows Sockets DLL的使用,释放资源return;//退出程序}//设置目的IPmemset(&dest,0,sizeof(dest));dest.sin_addr.S_un.S_addr=inet_addr(ICMP_DEST_IP);dest.sin_family=AF_INET;attachdata=(char*)malloc(attachsize);memset(attachdata,0,attachsize);//ICMP包数据部分填充attachsize字节0datasize=sizeof(IcmpHeader)+attachsize;//ICMP数据包总大小(头+体)icmp_data=(char*)malloc(datasize);//根据上面计算的结果为ICMP包数据分配内存recvbuf=(char*)malloc(200);//memset(icmp_data,0,datasize);//ICMP数据包封装((IcmpHeader *)icmp_data)->i_type=8;((IcmpHeader *)icmp_data)->i_code=0;((IcmpHeader *)icmp_data)->i_id=(USHORT)GetCurrentProcessId();((IcmpHeader *)icmp_data)->timestamp=GetTickCount();((IcmpHeader *)icmp_data)->i_seq=0;memcpy(icmp_data+sizeof(IcmpHeader),attachdata,attachsize);//ICMP包数据部分填充32字节0((IcmpHeader *)icmp_data)->i_cksum=0;//计算ICMP包校验和((IcmpHeader *)icmp_data)->i_cksum=checksum((USHORT *)icmp_data,datasize);timeout=1000;//设置发送延迟setsockopt(sockRaw,SOL_SOCKET,SO_SNDTIMEO,(char *)&timeout,sizeof(timeout));timeout=2000;//设置接受延迟setsockopt(sockRaw,SOL_SOCKET,SO_RCVTIMEO,(char *)&timeout,sizeof(timeout));printf("Pinging %s with %d bytes of data:\n\n",ICMP_DEST_IP,attachsize);for(i=1;i<=n;i++){ start=GetTickCount();//发送第i个ICMP数据包ret=sendto(sockRaw,icmp_data,datasize,0,(struct sockaddr *) &dest,sizeof(dest));if(SOCKET_ERROR==ret){printf("发送ICMP数据包%d出错!\n",i);continue;}//等待接收返回的ICMP数据包while(1){if((GetTickCount()-start)>=1000){printf("Request timed out.\n");break;}memset(recvbuf,0,200);ret=recvfrom(sockRaw,recvbuf,200,0,(struct sockaddr *) &from,&fromlen);if(SOCKET_ERROR==ret){printf("接收数据包%d出错!\n",i);break;}else{//显示返回ICMP包的信息unsigned short iphdrlen;//IP头长度IcmpHeader *icmphdr;DWORD timeuse;//数据包发送到接收用时int attachlen;//返回的ICMP数据包中数据段的大小timeuse=(GetTickCount()-start);if(0==packetrecv){mintime=timeuse;maxtime=timeuse;}if(timeuse>maxtime) maxtime=timeuse;if(timeuse<mintime) mintime=timeuse;averagetime=averagetime+timeuse;iphdrlen=((IpHeader *)recvbuf)->h_len *4;icmphdr=(IcmpHeader *)(recvbuf+iphdrlen);attachlen=ret-iphdrlen-sizeof(IcmpHeader);printf("Reply from %s: bytes=%d time=%d ms TTL=%d\n",ICMP_DEST_IP,attachlen,timeuse,((IpHeader *)recvbuf)->ttl);packetrecv++;break;}}}//显示统计信息lostpercent=100*((float)(n-packetrecv)/(float)n);//计算丢包率averagetime=(float)averagetime/(float)packetrecv;//计算平均用时printf("\nPing statistics for %s:\n",ICMP_DEST_IP);printf(" Packets: Sent = %d, Received = %d, Lost = %d (%d %s loss),\n",n,packetrecv,lostpercent,lostpercent,"%");printf("Approximate round trip times in milli-seconds:\n");printf(" Minimum = %dms, Maximum = %dms, Average = %dms",maxtime,mintime,averagetime);free(recvbuf);free(icmp_data);closesocket(sockRaw);WSACleanup();}USHORT checksum(USHORT *buffer,int size) //计算ICMP数据包校验和{unsigned long cksum=0;while(size>1){cksum+=*buffer++;size-=sizeof(USHORT);}if(size){cksum+=*(UCHAR *)buffer;}cksum=(cksum>>16)+(cksum & 0xffff);cksum+=(cksum>>16);return (USHORT) (~cksum);}void usage() //使用说明{printf("Ping程序模拟\n\n");printf("By RedIce\n");printf("Usage: checknet.exe [-n count] [-l size] target_name \n\n");printf("Options:\n");printf(" -n count 发送ICMP数据包的个数,默认为4个.\n");printf(" -l size 每个ICMP包附加的数据字节数,默认为32字节.\n\n"); }四、运行结果程序运行结果利用计算机里的ping命令所得结果五、实习总结程序设计中出现了很多的问题,例如以前没有认真的研究,导致在设计时不知道IP的结构,幸好有网络和图书馆的帮助才让我们查到了结果,在运行程序时出现两个错误,。

相关文档
最新文档