Ping命令的模拟实现课程设计

课程设计IV课程设计设计说明书Ping命令模拟实现学生姓名学号班级成绩指导教师计算机科学与技术系2011年9月9日课程设计IV课程设计评阅书题目Ping命令模拟实现学生姓名学号指导教师评语及成绩成绩:教师签名:年月日答辩教师评语及成绩成绩:教师签名:年月日教研室意见总成绩:室主任签名:年月日注:指导教师成绩60%,答辩成绩40%,总成绩合成后按五级制记入。

课程设计任务书2011—2012学年第一学期专业:学号:姓名:课程设计名称:课程设计IV课程设计设计题目:Ping命令模拟实现完成期限:自2011 年8 月29 日至2011 年9 月9 日共 2 周设计依据、要求及主要内容(可另加附页):1. 了解并掌握ICMP协议。

2. 了解Ping命令的使用,其常用格式为Ping XXX.XXX.XXX.XXX。

3. Ping命令执行原理及实现步骤。

4. 模拟ping命令的实现过程。

5. 对此次课程设计的总结指导教师(签字):教研室主任(签字):批准日期:年月日摘要随着计算机技术及网络技术的迅速发展,个人、家庭或宿舍中拥有多台计算机已变得十分的普遍,将多台计算机组建成网络可以提高资源的利用率和协同工作的效率,所以网络技术无论在教学还是在现实生活中都变得异常的重要。

在实际学习中,由于资源设备的限制,提供完善的实验环境存在一定的难度,所以提供一种模拟的组建网络的平台具有很强的现实意义。

根据Ping命令的运行的运行原理,对他进行的模拟实现,相应的其他网检查网络状态命令。

关键词:计算机;网络;Ping目录一.课题内容 (5)1.1课程设计目的 (5)1.2课程设计要求 (5)1.3 实验步骤和注意事项 (5)二. Ping命令及ICMP协议简介 (6)2.1. Ping命令简介 (6)2.2.ICMP协议简介 (6)三.实现原理和步骤 (10)3.1.实现原理 (10)3.2.实现步骤 (10)3.3.注意事项 (13)总结 (14)参考文献: (15)1.课题内容1.1课程设计目的PING程序是我们使用的比较多的用于测试网络连通性的程序。

PING程序基于ICMP,使用ICMP的回送请求和回送应答来工作。

由计算机网络课程知道,ICMP是基于IP的一个协议,ICMP包通IP的装之后传递。

课程设计中选取PING程序的设计,其目的是希望同学们通过PING程序的设计能初TCP/IP网络协议的基本实现方法,对网络的实现机制有进一步的认识。

1.2课程设计要求1) 定义数据结构需要定义好IP数据报、ICMP包等相关的数据结构。

2) 程序实现在WINDOWS环境下实现PING程序。

3) 程序要求在命令提示符下输入:PING ΧΧΧ.ΧΧΧ.ΧΧΧ.ΧΧΧ其中ΧΧΧ为目的主机的IP地址,不要求支持域名,对是否带有开关变量也不做要求。

不带开关变量时,要求返回响应。

返回信息的格式:REPLY FROM ΧΧΧ.ΧΧΧ.ΧΧΧ.ΧΧΧ或REQUEST TimeOut (无法PING通的情况)1.3 实验步骤和注意事项1)熟悉IP以及ICMP协议的工作机制2)编写PING的实现程序3)在模拟实现环境下调试并运行自己编写的PIN程序2. Ping命令及ICMP协议简介2.1.Ping命令简介ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。

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

例如,在Linux终端上执行ping localhost命令将会看到以下结果:PING localhost.localdomain (127.0.0.1) from 127.0.0.1 : 56(84) bytes of data.64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=0 ttl=255 time=112 usec64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=255 time=79 usec64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=255 time=78 usec64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=3 ttl=255 time=82 usec--- localhost.localdomain ping statistics ---4 packets transmitted, 4 packets received, 0% packet lossround-trip min/avg/max/mdev = 0.078/0.087/0.112/0.018 ms 由上面的执行结果可以看到,ping命令执行后显示出被测试系统主机名和相应IP地址、返回给当前主机的ICMP报文顺序号、ttl生存时间和往返时间rtt(单位是毫秒,即千分之一秒)。

要写一个模拟ping 命令,这些信息有启示作用。

要真正了解ping命令实现原理,就要了解ping命令所使用到的TCP/IP协议。

2.2.ICMP协议简介ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方。

ICMP协议是IP层的一个协议,但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所以ICMP 报文需通过IP协议来发送。

ICMP数据报的数据发送前需要两级封装:首先添加ICMP报头形成ICMP 报文,再添加IP报头形成IP数据报。

(1)IP报头格式(2)由于IP层协议是一种点对点的协议,而非端对端的协议,它提供无连接的数据报服务,没有端口的概念,因此很少使用bind()和connect()函数,若有使用也只是用于设置IP地址。

发送数据使用sendto()函数,接收数据使用recvfrom()函数IP报头格式如下:在Linux中,IP报头格式数据结构()定义如下:struct ip{#if __BYTE_ORDER == __LITTLE_ENDIANunsigned int ip_hl:4; /* header length */unsigned int ip_v:4; /* version */#endif#if __BYTE_ORDER == __BIG_ENDIANunsigned int ip_v:4; /* version */unsigned int ip_hl:4; /* header length */#endifu_int8_t ip_tos; /* type of service */u_short ip_len; /* total length */u_short ip_id; /* identification */u_short ip_off; /* fragment offset field */#define IP_RF 0x8000 /* reserved fragment flag*/#define IP_DF 0x4000 /* dont fragment flag*/#define IP_MF 0x2000 /* more fragments flag */#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */u_int8_t ip_ttl; /* time to live */u_int8_t ip_p; /* protocol */u_short ip_sum; /* checksum */struct in_addrip_src, ip_dst;/* source and dest address *};其中ping程序只使用以下数据:IP报头长度IHL(Internet Header Length)――以4字节为一个单位来记录IP报头的长度,是上述IP数据结构的ip_hl变量。

生存时间TTL(Time To Live)――以秒为单位,指出Ip 数据报能在网络上停留的最长时间,其值由发送方设定,并在经过路由的每一个节点时减一,当该值为0时,数据报将被丢弃,是上述IP数据结构的ip_ttl变量。

(2)ICMP报头格式ICMP报文分为两种,一是错误报告报文,二是查询报文。

每个ICMP报头均包含类型、编码和校验和这三项内容,长度为8位,8位和16位,其余选项则随ICMP的功能不同而不同。

Ping命令只使用众多ICMP报文中的两种:"请求回送"(ICMP_ECHO)和"请求回应"(ICMP_ECHOREPLY)。

在Linux中定义如下:#define ICMP_ECHO 0#define ICMP_ECHOREPLY 8这两种ICMP类型报头格式如下:在Linux中ICMP数据结构()定义如下:struct icmp{u_int8_t icmp_type; /* type of message, see below */u_int8_t icmp_code; /* type sub code */u_int16_t icmp_cksum; /* ones complement checksum of struct */union{u_char ih_pptr; /* ICMP_PARAMPROB */struct in_addr ih_gwaddr; /* gateway address */struct ih_idseq /* echo datagram */{u_int16_t icd_id;u_int16_t icd_seq;} ih_idseq;u_int32_t ih_void;/* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */ struct ih_pmtu{u_int16_t ipm_void;u_int16_t ipm_nextmtu;} ih_pmtu;struct ih_rtradv{u_int8_t irt_num_addrs;u_int8_t irt_wpa;u_int16_t irt_lifetime;} ih_rtradv;} icmp_hun;#define icmp_pptr icmp_hun.ih_pptr#define icmp_gwaddr icmp_hun.ih_gwaddr#define icmp_id icmp_hun.ih_idseq.icd_id#define icmp_seq icmp_hun.ih_idseq.icd_seq#define icmp_void icmp_hun.ih_void#define icmp_pmvoid icmp_hun.ih_pmtu.ipm_void#define icmp_nextmtu icmp_hun.ih_pmtu.ipm_nextmtu#define icmp_num_addrs icmp_hun.ih_rtradv.irt_num_addrs#define icmp_wpa icmp_hun.ih_rtradv.irt_wpa#define icmp_lifetime icmp_hun.ih_rtradv.irt_lifetimeunion{struct{u_int32_t its_otime;u_int32_t its_rtime;u_int32_t its_ttime;} id_ts;struct{struct ip idi_ip;/* options and then 64 bits of data */} id_ip;struct icmp_ra_addr id_radv;u_int32_t id_mask;u_int8_t id_data[1];} icmp_dun;#define icmp_otime icmp_dun.id_ts.its_otime#define icmp_rtime icmp_dun.id_ts.its_rtime#define icmp_ttime icmp_dun.id_ts.its_ttime#define icmp_ip icmp_dun.id_ip.idi_ip#define icmp_radv icmp_dun.id_radv#define icmp_mask icmp_dun.id_mask#define icmp_data icmp_dun.id_data};使用宏定义令表达更简洁,其中ICMP报头为8字节,数据报长度最大为64K字节。

合集下载

计算机网络实验报告(Ping命令)

计算机网络实验报告(Ping命令)

〖实验项目名称〗:计算机网络基础〖实验目的〗:1、熟悉网卡、掌握如何在Windows下如何察看网卡的型号、MAC地址、IP地址等参数。

2、熟悉Windows中的网络组建及各参数的设置和基本意义。

3、网络测试命令PING的用法。

〖实验任务与要求〗:1、网卡是网络中不可缺少的网络设备,掌握其使用情况,及如何设置其参数对网络的正常使用非常重要。

本部分要完成以下任务:(1)利用Windows下ipconfig 命令查看网卡的基本参数。

(2)如何设置网卡的IP地址。

2、Ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。

根据返回的信息,就可以推断TCP/IP参数是否设置得正确以及运行是否正常。

(1)Ping 本机IP(Ping 本机机器名;Ping 127.0.0.1)。

(2)Ping 邻近计算机的IP(或者是对方计算机的机器名)。

(3)Ping 网站(前题是能接入Internet)。

〖实验过程〗:(实验步骤、记录、数据、分析)1.Ipconfig的使用(1)、开始-运行,在弹出的对框框中,输入CMD将进入黑白屏幕的DOS界面。

(2)、在“命令提示符”下输入ipconfig/all查看本机网卡的基本参数。

(2)利用“网上邻居”修改网络参数。

(3)PING命令的使用ping 127.0.0.1ping 本机IPping localhostping 局域网内其他IP PING命令参数:-n:发送count指定的ECHO数据包数,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助。

能够测试发送数据包的返回平均时间,及时间的快慢程度。

默认值为 4。

-r:在“记录路由”字段中记录传出和返回数据包的路由。

通常情况下,发送的数据包是通过一系列路由才到达目标地址的,通过此参数可以设定,想探测经过路由的个数。

限定能跟踪到9个路由。

一般情况下,通过ping目标地址,可让对方返回TTL值的大小,通过TTL值可以粗略判断目标主机的系统类型是Windows还是UNIX/Linux,一般情况下Windows系统返回的TTL值在100-130之间,而UNIX/Linux系统返回的TTL值在240-255之间。

计算机网络课程设计(ping)

计算机网络课程设计(ping)

计算机网络课程设计Ping程序设计(后附源码)四川大学黄昊1143041195一.设计目标二.ICMP包结构三.校验和计算四.代码实现a)ICMP封包b)ICMP包转换成字节数组c)域名解析、选择IPv4地址d)原始套接口e)计算校验和五.运行结果六.总结一、设计目标本程序设计实现基本的ping程序功能,包括域名解析,ICMPv4回显包发送,统计丢失率等功能。

二、ICMP包结构ICMP包包含在IP包结构之内,是去除IP包头的部分,C#提供的Raw Socket功能可以实现包装ICMP结构,但自动包含IP包头等结构。

ICMP包由1Byte类型、1Byte SubCode、2字节校验和、2字节标示符、2字节序号,若干字节数据组成。

其结构图如下:4Byte类型号8 、子代码表示ICMP回显功能,默认标示符45、序号0、Data小节可填充数据,本程序填充了ASCII码‘a’十六进制61,填充24字节,所以整个包大小共32字节。

三、校验和计算对于ICMP包中的校验和,首先将校验和填0之后再整体计算。

计算时,按照2字节为一个单位累加,最后将所有溢出结果再次做加法,最后整体取反,返回一个2字节长的校验和。

具体计算方法伪代码如下:Int32 cksum = 0;for (int i = 0; i < 16; i++){cksum += ConvertToUInt16(packet, i * 2);}cksum = (cksum >> 16) + (cksum & 0xffff);cksum += (cksum >> 16);return (ushort)(~cksum);四、代码实现a)实现难度1:封装ICMP包。

为了方便操作与计算,在C#中,创建了一个ICMP包的结构体。

为了使包的逻辑结构与实际发送的结构一样,借助了C#提供的一个机制,叫非托管内存布局,使用StructLayoutAttribute属性,其中参数LayoutKind.Sequential指定了整个结构体的数据堆放方式为顺序堆放,保证内存中数据的连续性。

ping的简单实现课程设计

ping的简单实现课程设计

ping的简单实现课程设计一、教学目标本课程的教学目标是使学生掌握ping命令的基本使用方法,理解其工作原理,能够通过ping命令诊断网络连接问题。

具体包括:1.了解ping命令的作用和基本语法。

2.掌握如何使用ping命令检测网络连接。

3.理解ping命令的响应结果的含义。

4.能够独立操作计算机,运行ping命令。

5.能够分析ping命令的输出结果,判断网络连接状态。

6.能够根据实际情况,选择合适的ping命令参数。

情感态度价值观目标:1.培养学生对网络通信技术的兴趣和好奇心。

2.培养学生解决问题的能力和团队合作精神。

二、教学内容本课程的教学内容主要包括以下几个部分:1.ping命令的基本概念和语法。

2.ping命令的使用方法,包括如何检测网络连接。

3.ping命令的响应结果的解读。

4.如何在实际情况下,选择合适的ping命令参数。

三、教学方法本课程的教学方法包括:1.讲授法:讲解ping命令的基本概念、语法和原理。

2.实验法:引导学生实际操作ping命令,检测网络连接。

3.讨论法:分组讨论ping命令的输出结果,培养学生解决问题的能力。

四、教学资源本课程的教学资源包括:1.教材:《计算机网络基础》相关章节。

2.多媒体资料:PPT课件,网络连接检测的实验视频。

3.实验设备:计算机、网络环境。

以上是本课程的教学设计,希望能够帮助学生更好地掌握ping命令的使用,提高网络故障排除的能力。

五、教学评估本课程的教学评估将采用多元化的评估方式,以全面、客观、公正地评价学生的学习成果。

评估方式包括:1.平时表现:通过观察学生在课堂上的参与度、提问回答、小组讨论等表现,评估学生的学习态度和理解能力。

2.作业:布置相关的ping命令练习题,要求学生独立完成,通过作业的质量和完成时间评估学生的掌握程度。

3.实验报告:学生在实验过程中,需要撰写实验报告,描述实验过程、结果和收获,通过实验报告评估学生的实际操作能力和问题解决能力。

计算机网络基础课程设计Ping程序实现

计算机网络基础课程设计Ping程序实现

计算机网络基础课程设计Ping程序实现计算机网络工程课程设计报告题目:Ping程序的实现学生姓名:学号:专业班级:计科专业班同组姓名: 指导教师:设计时间:2022年下学期第某周指导老师意见:评定成绩:签名:日期:年月日目录一、课程设计的目的和意义2二、课程设计的内容和要求21.内容:22.要求:2三、课程设计的相关技术2四、课程设计过程21.Ping主模块22.功能控制模块43.数据报解析模块5五、课程设计小结6六、参考文献7七、附录(程序清单)7八、心得体会11一、课程设计的目的和意义利用ICMP数据包、C语言实现Ping命令程序,能实现基本的Ping操作,发送ICMP回显请求报文,用于测试—个主机到只一个主机之间的连通情况。

通过本程序的训练,使学生熟悉ICMP报文结构,使学生对ICMP有更深的理解,掌握Ping程序的设计方法,掌握网络编程的方法和技巧,从而编写出功能更强大的程序。

二、课程设计的内容和要求1.内容:用C语言实现Ping命令程序,能实现基本的Ping操作,发送ICMP回显请求报文,用于测试—个主机到只一个主机之间的连通情况。

2.要求:1)独立完成程序的设计、编码和调试。

2)系统利用C语言实现,程序调试环境为TurboC或VC;3)按照课程设计规范书写课程设计报告。

4)采用VC环境进行调试运行。

三、课程设计的相关技术由于Ping程序是面向用户的应用程序,该程序使用ICMP的封装机制,通过IP协议来工作。

为了实现直接对IP和ICMP包进行操作,实验中使用RAW模式的ocket编程。

首先定义IP数据报首部,在IP数据报的基础上定义ICMP数据报首部,并初始化一些全局变量。

接着自定义填充ICMP数据报字段函数FillICMPData()、校验和函数checkum()、解读ICMP报首部函数DecodeICMPHeader()、释放资源函Cleanup()。

最后主函数通过调用这些函数来实现Ping命令功能。

ping程序设计与实现课程设计

ping程序设计与实现课程设计

ping程序设计与实现课程设计一、课程目标知识目标:1. 学生能理解ping程序的工作原理,掌握网络诊断的基本方法。

2. 学生能描述IP协议、ICMP协议的基本概念及其在ping程序中的应用。

3. 学生了解计算机网络的通信原理,掌握如何利用ping程序检测网络连通性。

技能目标:1. 学生能运用所学知识,独立编写简单的ping程序。

2. 学生通过实践操作,提高问题分析及解决能力,具备基本的网络诊断技巧。

3. 学生掌握使用编程工具(如:IDE、编译器等)进行代码编写、调试和优化。

情感态度价值观目标:1. 学生培养对计算机网络的兴趣,激发学习编程的热情。

2. 学生在学习过程中,培养团队协作、沟通表达的能力,增强自信心。

3. 学生通过本课程的学习,认识到网络技术在实际应用中的重要性,培养对网络安全的责任感。

分析课程性质、学生特点和教学要求,本课程旨在让学生掌握ping程序的设计与实现,结合实际操作,提高学生的编程能力和网络诊断技巧。

课程目标具体、可衡量,有助于教师进行教学设计和评估。

通过本课程的学习,学生将具备基本的网络编程知识和技能,为今后的学习和工作打下坚实基础。

二、教学内容1. 网络基础知识回顾:IP协议、ICMP协议、网络层通信原理。

2. ping程序工作原理:发送ICMP请求、接收ICMP回复、计算往返时间(RTT)。

3. 编程语言基础:C语言或Python语言的基本语法,重点掌握数据类型、控制结构、函数定义。

4. ping程序设计与实现:- 环境搭建:安装编程工具、配置网络环境。

- 代码编写:根据ping程序工作原理,编写发送和接收ICMP请求的代码。

- 调试与优化:调试代码,处理异常情况,优化程序性能。

5. 实践操作:分组进行实际操作,组内讨论、分析问题,相互协作完成ping 程序编写。

6. 网络诊断技巧:运用ping程序检测网络连通性,分析网络延迟、丢包等问题。

教学内容安排和进度:第一课时:网络基础知识回顾,介绍ping程序工作原理。

ping命令的设计与实现

ping命令的设计与实现

设计报告课程计算机网络设计名称《ping命令的设计与实现》专业班级计科094 同组人姓名同组人学号实验日期2013-04-10 指导教师成绩2013 年 04 月 10 日设计目的和要求1、实验目的:Ping命令向目的主机发送ICMP ECHO—REQUEST请求并接收目的主机返回的响应报文,用来检验本地主机和远程的主机是否连接。

2.实验要求:利用ICMP数据包,测试主机的连通性,通过课程设计,使学生熟悉ICMP报文结构,使学生对ICMP有更深的理解。

要求:输出参考系统自带ping程序,命令行运行:ping ip二、设计说明设计分析:使用原始套接字可以读写ICMP分组,利用原始套接字发送ICMP回显请求,并接收ICMP 回显应答,通过icmp_send()发送ICMP回显示请求包,icmp_recv()接收ping目的主机的回复,并使用终端信号处理函数SIGINT处理信号,建立两个线程,一个用于发送数据,另一个用于接收响应数据,主程序等待两个线程运行完毕后再进行下一步动作。

最后,主程序讲发送数据和接收的数据进行统计,并将结果打印出来。

系统运行环境:虚拟机:Fedora14(linux操作系统) gcc设计中的重点和难点:ICMP数据包的打包和解包,以及从CRC16校验算法的分析实现输入和输出条件:在linux系统下运行ping 在出现4个响应包后按Ctrl+c键停止发送。

三、系统详细设计《Ping命令的设计与实现》Ping命令向目的主机发送ICMP ECHO—REQUEST请求并接收目的主机返回的响应报文,用来检验本地主机和远程的主机是否连接。

协议格式图1.1中已经对ICMP协议的报文格式进行了说明。

Ping 的客户端方式的类型为8,代码值为0,表示ICMP的回显请求。

类型为0,代码为0是,是ICMP回显应答。

检验和为16为的crc16 的算法。

0 7 8 15 16 31图1.1 ICMP报文的数据格式图1.2所示为ping所使用的类型和代码格式。

编程模拟ping程序

一、实验题目编程模拟ping程序,实现Ping程序的基本功能,即接收到一个ping程序数据包后给出回应。

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

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

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

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

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

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

ICMP 报文结构如图1 所示。

0 7 8 15 16 31 32 47 48 63 64(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通,则报告错误信息,并释放占用资源。

实训5_ping

实训5 ping【实训目的】1. 了解ping命令功能。

2. 了解ping命令参数。

3. 掌握使用ping命令检查网络连通性的方法。

【实训内容】1. ping命令功能ping命令的全称是Packet Internet Grope,即因特网包探索器,简单地说,就是一个测试程序,一般用来测试源主机到目的主机的网络连通性。

当网络不通时,可以使用该命令来检查和判断网络出现故障的原因:如果ping命令运行结果正常(ping通),基本可以排除两端之间网络中网卡、MODEM、传输介质和路由器等存在的故障;如果ping命令运行结果不正常,则需要运行多个ping命令进行多项检查,通过命令运行结果查找问题所在。

在Windows上执行ping命令,系统按照缺省设置向目的主机发送4个ICMP(Internet Control Message Protocol,Internet控制报文协议)数据包,该数据包向目的主机提出本地主机“请求回显”的要求,目的主机就要返回一个“回显应答”,根据数据包的往返信息,我们就可以推断网络参数是否设置正确以及网络运行情况。

2. ping命令及参数(1)ping/?或者ping首先使用ping/?或ping命令来查看ping命令的帮助信息,如图5.1图5.1 “ping”命令(2)ping 目标地址使用ping命令查看网络运行情况或检查网络问题,需要使用多次ping命令进行多项检查,如果所有检测结果均正常,则可以相信基本的配置参数和连通性没有问题;如果某些ping命令运行出现错误信息,它也可以指明问题所在。

下面使用该命令逐步检查网络的连通情况。

<步骤1> ping 127.0.0.1127.0.0.1是回送地址,指本地主机。

使用该地址时,不进行任何网络传输,仅验证本机TCP/IP协议是否正确安装。

如果运行出错,则表示TCP/IP安装或运行存在某些问题。

出现如图5.2所示的结果,则表示本机TCP/IP协议安装完好。

题目8:Ping程序的实现报告

计算机网络课程设计报告题目:Ping程序的实现姓名:学号:班级:指导老师:湖南科技大学计算机科学与工程学院二零一四年六月目录1、课程设计任务描述 (1)2、设计原理及相关知识 (1)2.1设计原理 (1)2.2相关知识 (2)3、需求分析 (2)3.1功能需求 (2)3.2性能需求 (3)3.3界面需求 (3)4系统设计及实现 (3)4.1系统设计 (3)4.2系统实现 (4)5、设计总结 (13)5.1 完成的工作及评价 (14)5.2 遇到的问题及解决过程 (14)5.3 心得体会及建议 (14)6、使用说明 (15)参考文献 (15)1、课程设计任务描述另写一个程序,取代windows下的Ping程序命令,可以Ping指定主机、一批主机,并显示输出结果。

2、设计原理及相关知识2.1设计原理ping命令的工作原理[1] 是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者,通过返回的信息来判断网络的连接状况。

要实现直接对IP和ICMP包进行操作,设计采用RAW 模式的SOCKET编程,实现网络的连通性测试,探测主机到主机之间是否可以通信,如果不能ping到某台主机,表明不能和这台主机建立连接。

Ping程序是面向向用户的应用程序,该程序使用ICMP的封装机制,通过IP协议来工作。

2.2相关知识了解ping命令实现原理[2] ,就要了解ping命令所使用到的TCP/IP协议。

PING利用ICMP协议包来测试另一个主机是否可达。

原理是用类型码为0的ICMP 发送请求,收到请求主机则用类型码为8 的ICMP回应。

Ping程序来计算时间间隔,并计算有多少个包被送达。

用户就可以判断网络的大致情况。

ICMP协议是IP层的一个协议,但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所以ICMP报文需通过IP 协议来发送。

ICMP数据报的数据发送前需要两级封装:首先添加ICMP报头形成ICMP报文,再添加IP报头形成IP数据报。

ping程序课程设计设计背景

ping程序课程设计设计背景一、教学目标本章节的教学目标包括以下三个方面:1.知识目标:学生能够理解ping程序的基本概念,掌握使用ping程序进行网络诊断的方法和技巧。

2.技能目标:学生能够独立操作计算机,使用ping程序对网络进行诊断,并能根据诊断结果分析网络状况。

3.情感态度价值观目标:学生通过学习ping程序的使用,增强对网络技术的兴趣和好奇心,培养解决问题的能力,提高对网络技术的应用意识和信息素养。

二、教学内容本章节的教学内容主要包括以下几个部分:1.ping程序的基本概念和作用。

2.ping程序的使用方法,包括命令的输入、参数的含义和如何解读ping结果。

3.ping程序在网络诊断中的应用,如何通过ping程序检测网络的连接性、延迟和数据包丢失情况。

4.实际操作演练,让学生通过实际操作,掌握ping程序的使用技巧。

三、教学方法为了实现本章节的教学目标,我们将采用以下几种教学方法:1.讲授法:通过讲解ping程序的基本概念、使用方法和网络诊断中的应用,让学生掌握相关知识。

2.案例分析法:通过分析实际案例,让学生了解ping程序在网络诊断中的实际应用,提高解决问题的能力。

3.实验法:让学生亲自动手操作,进行网络诊断实验,培养实际操作能力和动手能力。

四、教学资源为了支持本章节的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《网络技术基础》2.参考书:《计算机网络与应用》3.多媒体资料:网络诊断实验演示视频4.实验设备:计算机、网络设备(如路由器、交换机等)五、教学评估本章节的教学评估主要包括以下几个方面:1.平时表现:通过观察学生在课堂上的参与程度、提问回答情况等,评估学生的学习态度和积极性。

2.作业:通过学生提交的作业,评估学生对ping程序的理解和掌握程度。

3.考试:通过期末考试,全面测试学生对ping程序的知识掌握和实际操作能力。

评估方式应客观、公正,能够全面反映学生的学习成果。

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