ping的过程及原理

ping的过程及原理
ping的过程及原理

同一网段的两台PC 经一台交换机的数据流分析过程

(2010-04-01 16:08:19) 转载

标签: it

分类: 计算机网络

1. A 发“ARP 请求”请求IP 地址为19

2.168.2.7的设备的MAC 地址(广播) 2. A 的为请求经过交换机C, C 学习,记录A 的MAC 地址,再泛洪

3. B 对C(还是A ?)进行ARP 应答(单播)

4. C 学习,记录B 的MAC 地址,并把B 的MAC 地址转发给A

5 A

封装数据帧并发给C

6. C 接收,查MAC 表,解封数据帧,查出目的MAC(B)所对应的端口,重新封装,再转发给B //在这里

交换机不会解封装数据帧和重新封装数据帧,它读出目的MAC 后就直接查找MAC 表转发数据了!! 7. B 接收,解封装

8. B

封装另一数据帧(收到确认信息)发送给C

9. C 接收,解封装,查出目的MAC (A )所对应的端口,重新封装,转发给A

//在这里交换机不会解封装数据帧和重新封装数据帧,它读出目的MAC 后就直接查找MAC 表转发数据了!! 10. A 接收,解封装。

疑问:1)此分析中第3步B 是对C 还是A 进行ARP 应答?这里只有A 发了ARP 请求,“请求”与”应答”

应该是对应的吧,

回答:ARP 是谁发的,就对谁应答。所以说肯定是B 对A 应答咯~

两台不同网段的PC 经一路由的数据流分析过程

(2010-04-01 16:25:41) 转载

标签: it

分类: 计算机网络

1. A 发ARP 请求(广播),请求IP 地址为19

2.168.2.5(?是怎么知道C 的MAC 地址的,A 的网关?)

的MAC 地址//就是通过ARP 知道的啊,你不是自己写了么?

2. 路由器发ARP 应答给A,并更新自己的ARP 表项(记录A 的MAC 地址)

3. A

封装数据帧发送给C

4. 路由器接收,解封装,目标IP 非己,查找路由表,无目标信息

5. 路由器发ARP 请求(广播),请求IP 地址为192.168.3.7的MAC 地址

6. B 发ARP 应答给路由器(单播),并存下路由器端口D 的MAC 地址,更新自己的ARP 缓存

7. 路由器重新封装数据帧发送给B

8. B 接收并解封装处理

9. B 封装另一数据帧(收到确认信息)发送给端口D

10. 路由器接收,解封装,目标IP 非己,查找自己的ARP 表项,找到目标所对应的端口号及MAC 地址

11. 路由器重新封装数据帧发送给A

12. A 接收,解封处理

疑问:1)路由器中没有MAC表,起记录MAC作用的是ARP表项吗?PC中就是ARP缓存咯? 2)路由器只有一个MAC地址,还是每个端口都有MAC地址?

回答:1)回答正确!!!变聪明了哦!哈哈!

2)每个端口都有MAC地址!

连接在同一台交换机上的两台主机为什么IP配在不同网段就ping不通?

2007-12-06 18:52

实验步骤:

1.将dslam配好。两台pc配同一网段,ping可通。

2.修改一台PC的ip在不同网段,ping不通。

在发出ping包的PC上抓包,没有任何报文。也就是此时PC发不出arp请求。

3.给主动ping的PC添加静态路由,目的IP是对端PC,网关是自己的网卡。在此PC上抓包,有arp请求,并且可以收到arp应答,发出ping包,收不到回包。

4.给对端PC也添加静态路由,目的IP是主动ping的PC,网关是自己的网卡,可以ping通。

结论:对于用二层设备连接的两台主机(都是基于windows os。linux可能不同?),IP在不同网段,只要在PC上配置正确路由或默认路由,也是可以ping 通的。

之所以在没有配置路由的情况不通,是因为ping不同网段的包,他不知要从本机的哪个端口扔出去。

PS.我总是浅尝辄止了,细想还是有很多可以深究的地方。

唉。

Ping过程详解(图)

安全中国网吧管理

更新时间:2010-06-20 01:01:53责任编辑:池天

https://www.360docs.net/doc/2011344938.html,/wangba

热点:

如果你想了解PING的原理,就看我的文章,不要去网上找,找不到什么好的内容。看了我文章,也许你会从对网络一窍不通,开朗。

先看拓朴图:

我在这里讲拼的两情况,一种是同一网段内,一种是跨网段的ping ….

首先,如果主机A,要去拼主机B,那么主机A,就要封装二层报文,他会先查自己的MAC地址表,如果没有B的MAC地址,就发送一个ARP广播包,如图:

其中ARP报文格式如下:

OP发送端以太网MAC发送端IP地址目的MAC目的IP

以太网目的MAC以太网源MAC帧类型硬件类型

46

FF-FF-FF-FF-FF-FF00-50-56-C0-00-0108060800100-50-56-C0-00-01 1.1.1.100-00-00-00-00-00 1.1.1.3其中OP

1 :表示ARP请求

2:表示ARP应答

3:表示RARP请求

4:表示RARP应答

首先,交换机会收到这个报文后,交换机有学习MAC地址的功能,所以他会检索自己有没有保存主机B有MAC,如果有,就返机A,如果没有,就会向所有端口发送ARP广播,其它主机收到后,发现不是在找自己,就纷纷丢弃了该报文,不去理会。。直到收到了报文后,就立即相应,我的MAC地址是多少,同时学到主机A的MAC地址,并按同样的ARP报文格式返回给主机A,如图:

ARP 报文格式:

以太网目的MAC 以太网源MAC

帧类型 硬件类型

4

6

OP

发送端以太网MAC 发送端IP 地址 目的MAC

目的IP

00-50-56-C0-00-01 00-50-56-C0-00-03 0806

0800

2

00-50-56-C0-00-03 1.1.1.3

00-50-56-C0-00-01 1.1.1.1

这时候主机A 学到了主机B 的MAC ,就把这个MAC 封装到ICMP 协议的二层报文中向主机B 发送,报文格式如下:

目的地址 源地址

源IP

目的IP

ICMP 报文

00-50-56-C0-00-03

00-50-56-C0-00-01

1.1.1.1

1.1.1.3

Echo request

当主机B 收到了这个报文后,发现是主机A 的ICPM 回显请求,就按同样的格式,返回一个值给主机A ,这样就完成了同一网

ping 过程…

我讲了这

的局域网内的PING,实际过程的发生不到1毫秒….

再继续…

如果主机A 要ping 主机C,那么主机A 发现主机C 的IP 和自己不是同一网段,他就去找网关转发,但是他也不知道网关的MAC 情他就会向之前那个步骤一样先发送一个ARP 广播,学到网关的MAC,再发封装ICMP 报文给网关路由器. 报文格式如下:

目的地址 源地址

源IP

目的IP

ICMP 报文

00-50-56-C0-00-01

00-50-56-C0-00-03

1.1.1.3

1.1.1.1

Echo answer

当路由器收到主机A发过来的ICMP报文,发现自己的目的地址是其本身MAC地址,根据目的的IP2.1.1.1,查路由表,发现2.1.1路由表项,得到一个出口指针,去掉原来的MAC头部.加上自己的MAC地址向主机C转发…(如果网关也没有主机C的MAC地址,还是面一个步骤一样,ARP广播一下即可相互学到….路由器2端口能学到主机D的MAC,主机D也能学到路由器2端口的MAC..),报文格

最后,在主机C已学到路由器2端口MAC,路由器2端口转发给路由器1端口,路由1端口学到主机A的MAC的情况下,他们就再做ARP解析,就将ICMP的回显请求回复过来..报文格式大致如下:

?Ping过程的完全解析(1)

?https://www.360docs.net/doc/2011344938.html, 2007-08-05 17:29 杨华网管员世界我要评论(1)

“Ping”命令是我们在判断网络故障常用的命令,这个命令运行后会发生什么,以及出现的各种信息又说明什么?本文将详细地介绍给大家。

“Ping”的幕后过程

我们以下面一个网络为例:有A、B、C、D四台机子,一台路由RA,子网掩码均为255.255.255.0,默认路由为192.168.0.1

1.在同一网段内

在主机A上运行“Ping 192.168.0.5”后,都发生了些什么呢? 首先,Ping命令会构建一个固定格式的ICMP 请求数据包,然后由ICMP协议将这个数据包连同地址“192.168.0.5”一起交给IP层协议(和ICMP一样,实际上是一组后台运行的进程),IP层协议将以地址“192.168.0.5”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包,并想办法得到192.168.0.5的MAC地址(物理地址,这是数据链路层协议构建数据链路层的传输单元——帧所必需的),以便交给数据链路层构建一个数据帧。关键就在这里,IP层协议通过机器B的IP地址和自己的子网掩码,发现它跟自己属同一网络,就直接在本网络内查找这台机器的MAC,如果以前两机有过通信,在A机的ARP缓存表应该有B机IP与其MAC的映射关系,如果没有,就发一个ARP请求广播,得到B机的MAC,一并交给数据链路层。后者构建一个数据帧,目的地址是IP层传过来的物理地址,源地址则是本机的物理地址,还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送出去。

主机B收到这个数据帧后,先检查它的目的地址,并和本机的物理地址对比,如符合,则接收;否则丢弃。接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层协议。同样,IP层检查后,将有用的信息提取后交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A

发送ICMP请求包到主机B一模一样。

2.不在同一网段内

在主机A上运行“Ping 192.168.1.4”后,开始跟上面一样,到了怎样得到MAC地址时,IP协议通过计算发现D机与自己不在同一网段内,就直接将交由路由处理,也就是将路由的MAC取过来,至于怎样得到路由的MAC,跟上面一样,先在ARP缓存表找,找不到就广播吧。路由得到这个数据帧后,再跟主机D进行联系,如果找不到,就向主机A返回一个超时的信息。

图1 网络示意图

对Ping后返回信息的分析

1.Request timed out

这是大家经常碰到的提示信息,很多文章中说这是对方机器置了过滤ICMP数据包,从上面工作过程来看,这是不完全正确的,至少有下几种情况。

(1)对方已关机,或者网络上根本没有这个地址:比如在上图中主机A中PING 192.168.0.7 ,或者主机B关机了,在主机A中PING 192.168.0.5 都会得到超时的信息。

?Ping过程的完全解析(2)

?https://www.360docs.net/doc/2011344938.html, 2007-08-05 17:29 杨华网管员世界我要评论(1)

“Ping”命令是我们在判断网络故障常用的命令,这个命令运行后会发生什么,以及出现的各种信息又说明什么?本文将详细地介绍给大家。

(2)对方与自己不在同一网段内,通过路由也无法找到对方,但有时对方确实是存在的,当然不存在也是返回超时的信息。

(3)对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)。

怎样知道对方是存在,还是不存在呢,可以用带参数-a 的Ping命令探测对方,如果能得到对方的NETBIOS 名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。

(4)错误设置IP地址

正常情况下,一台主机应该有一个网卡,一个IP地址,或多个网卡,多个IP地址(这些地址一定要处于不同的IP子网)。但如果一台电脑的“拨号网络适配器”(相当于一块软网卡)的TCP/IP设置中,设置了一个与网卡IP地址处于同一子网的IP地址,这样,在IP层协议看来,这台主机就有两个不同的接口处于同一网段内。当从这台主机Ping其他的机器时,会存在这样的问题:

A.主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段。

B.主机不知道用哪个地址作为数据包的源地址。因此,从这台主机去Ping其他机器,IP层协议会无法处理,超时后,Ping 就会给出一个“超时无应答”的错误信息提示。但从其他主机Ping这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP应答包能顺利发出,其他主机也就能成功Ping通这台机器了。

2.Destination host Unreachable

(1)对方与自己不在同一网段内,而自己又未设置默认的路由,比如上例中A机中不设定默认的路由,运行Ping 192.168.0.1.4就会出现“Destination host Unreachable”。

(2)网线出了故障

这里要说明一下“destination host unreachable”和“time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。

3.Bad IP address

这个信息表示您可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。

4.Source quench received

这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。

5.Unknown host——不知名主机

这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。

?Ping过程的完全解析(3)

?https://www.360docs.net/doc/2011344938.html, 2007-08-05 17:29 杨华网管员世界我要评论(1)“Ping”命令是我们在判断网络故障常用的命令,这个命令运行后会发生什么,以及出现的各种信息又说明什么?本文将详细地介绍给大家。

6.No answer——无响应

这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;

通信线路有故障;中心主机存在路由选择问题。

7.Ping 127.0.0.1:127.0.0.1是本地循环地址

如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。

8.no rout to host:网卡工作不正常。

9.transmit failed,error code:10043网卡驱动不正常。

10.unknown host name:DNS配置不正确。

以上是我在“拼”(Ping)的过程中,得到一些经验技巧,希望与广大爱“拼“的朋友共同交流。

【相关文章】

?Ping命令的幕后过程及其返回信息的分析

?小命令大作用通过Ping排除路由器故障

?巧妙使用ping命令检查网络故障所在

?四个Ping命令判断网络的故障

1、ping命令使用详解

1、ping命令使用详解 以上就是怎么ping网速的相关介绍,你可以通过上面的说明了解怎么通过ping命令来检测网速,当然如果你想了解更多ping命令的使用方法,你可以输入ping /?,这时会显示所有有关ping命令的参数,具体如下: 用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name 选项: -t Ping 指定的主机,直到停止。 若要查看统计信息并继续操作 - 请键入 Control-Break; 若要停止 - 请键入 Control-C。 -a 将地址解析成主机名。 -n count 要发送的回显请求数。 -l size 发送缓冲区大小。 -f 在数据包中设置“不分段”标志(仅适用于 IPv4)。 -i TTL 生存时间。 -v TOS 服务类型(仅适用于 IPv4。该设置已不赞成使用,且 对 IP 标头中的服务字段类型没有任何影响)。 -r count 记录计数跃点的路由(仅适用于 IPv4)。 -s count 计数跃点的时间戳(仅适用于 IPv4)。 -j host-list 与主机列表一起的松散源路由(仅适用于 IPv4)。 -k host-list 与主机列表一起的严格源路由(仅适用于 IPv4)。 -w timeout 等待每次回复的超时时间(毫秒)。 -R 同样使用路由标头测试反向路由(仅适用于 IPv6)。 -S srcaddr 要使用的源地址。 -4 强制使用 IPv4。 -6 强制使用 IPv6。

计算机网络实验之Ping程序的设计与实现

计算机网络实验之Ping程序的设计与 实现

课程名称计算机网络 实验序号实验五 实验项目 Ping程序的设计与实现 03月 25 日

实验报告要求 1、实验报告封面填表说明(每份实验报告必须附上封面) (1)课程名称:要求与实验大纲和实验指导书中的课程名称一致。 (2)实验序号:指该课程的第几个实验。 (3)实验项目:要求与实验大纲和实验指导书中的实验项目一致。 (4)实验地点:填写完成该实验项目所在的实验室名称。 (5)实验学时:要求与实验大纲和实验指导书中完成该实验项目所需学时一致。 (6)实验类型:是指演示性、操作性、验证性、综合性、设计性。 演示性:教师操作,学生观察,验证理论、说明原理和方法。 操作性:学生按要求动手拆装、调试实验装置或上机操作,掌握其基本原理和方法。 验证性:按实验指导书(教材)要求,由学生经过操作验证所学理论,加深对理论、知识的理解,掌握基本实验知识、方法、技能、数据处理等。 综合性:实验内容涉及本课程的综合知识或相关课程的知识,运用多的知识、多种方法,按要求或自拟实验方案进行实验。主要培养学生综合运用所学知识、实验方法和实验技能,以培养其分析、解决问题的

设计性:给定实验目的、要求和实验条件,学生自己设计实验方案并加以实现的实验。学生独立完成从查阅资料、拟定实验方案、实验方法和步骤(或系统分析和设计)、选择仪器设备(或自行设计缺制作)进行实验并完成实验全过程,形成实验报告,培养学生自主实验的能力。 2、实验报告的格式 3、教师批改学生实验报告要求 (1)批改:全部批改及更正错误。 (2)评分:按百分制评分,不能评分为“优、良、中、差”或“A、B、C”。 (3)签名及批改日期:任课教师必须在每份学生实验报告中签名和写上批改日期。 (4)成绩:填写学生实验成绩表,实验成绩作为考试成绩评定的依据。 (4)评语:任课教师批改学生实验报告时,应给出简明扼要的评

ping命令大全

1.Ping命令详解 首先需要打开DOS命令界面,通过点击开始菜单中的“运行”选项,输“cmd”。 ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list -t Ping 指定的计算机直到中断。 -a 将地址解析为计算机名。 -n count 发送 count 指定的 ECHO 数据包数。默认值为 4。 -l length 发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是65,527。 -f 在数据包中发送"不要分段"标志。数据包就不会被路由上的网关分段。 -i ttl 将"生存时间"字段设置为 ttl 指定的值。 -v tos 将"服务类型"字段设置为 tos 指定的值。 -r count 在"记录路由"字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 9 台计算机。 -s count 指定 count 指定的跃点数的时间戳。

-j computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。 -k computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。 -w timeout 指定超时间隔,单位为毫秒。 destination-list 指定要 ping 的远程计算机。 2怎样使用Ping这命令来测试网络连通呢? 连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。 首先我们讲一下使用Ping命令的步骤。 使用Ping检查连通性: 1. 使用ipconfig /all观察本地网络设置是否正确, 2. Ping 127.0.0.1,127.0.0.1 回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设置好; 3. Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误;

UCOS一个简单Ping的实现

一个简单Ping的实现 作者 2002/12/10 Ping(Packet Internet Gopher分组网间网探测器)利用了ICMP(Internet Control Message Protocol互联网控制报文协议)协议的“回响”功能来实现主机/服务器是否有应答的测试。ICMP为路由器和主机提供了正常情况以外的通信,它是IP的一个完整的组成部分。ICMP 包括降低传送速率的源站抑制报文、请求主机改变选路表的重定向报文以及主机可用来决定目的站是否可达的回送请求/回答报文。ICMP报文在IP数据报的数据区中传送。当主机/服务器接收到具有回响类型的ICMP报文时,就响应1个“回响应答”报文。本地机器收到该报文并确认之后即可认为该主机/服务器处于活动状态,从而本机与远程主机/服务器之间能够连通,也可以互相通信。 仿照DOS下的ping命令并根据51单片机资源现状,我实现了一个简单的ping功能。它的使用方法如下: (1)单片机-->PC机在Shell里使用“ping XXX.XXX.XXX.XXX”,如果连通,显示“Reply from XXX.XXX.XXX.XXX: bytes=32 TTL=XXX”,否则,显示“Request timed out.(XXX.XXX.XXX.XXX)”。 (2)PC机-->单片机按照DOS里的常规操作即可 每个ping命令重复测试8次,即显示8次信息。 注意到显示内容与PC机上稍有不同,这是由于此处ping工作在多任务单窗口环境下,为了区分响应发送源,有必要增加源IP地址信息。另外,由于51资源限制,取消了time 参数(time是本机与对方主机往返一次所用时间)显示。具体简化内容如下: (1)只支持“ping+IP地址”命令格式,域名方式和其他可选项均不可用 (2)固定32字节测试包 (3)不计算本机与对方主机往返一次所用时间,测试用时为1到2秒 总之,经过简化的ping能够完成最基本的连通测试功能。 0 8 16 31 ------------------------------------------------ | 类型(8或0) | 代码(0) | 校验和| ------------------------------------------------ | 标识符| 序号| ------------------------------------------------ | 可选数据| ------------------------------------------------ | 。。。| ------------------------------------------------ 图1 ICMP回送请求或回答报文格式 PingCycle | 定时操作 V PingCmd ---------------- -------------- -------->| PingRequest|----------->| |

Ping命令大全及使用方法

Ping命令大全及使用方法 2006-12-10 21:24 -- Ping命令大全及使用方法 Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP 工具。它主要的功能是用来检测网络的连通情况和分析网络速度。 Ping有好的善的一面也有恶的一面。先说一下善的一面吧。上面已经说过Ping的用途就是用来检测网络的连同情况和分析网络速度,但它是通过什么来显示连通呢?这首先要了解Ping的一些参数和返回信息。 以下是PING的一些参数: ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list -t Ping 指定的计算机直到中断。 -a 将地址解析为计算机名。 -n count 发送 count 指定的 ECHO 数据包数。默认值为 4。 -l length 发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是65,527。 -f 在数据包中发送"不要分段"标志。数据包就不会被路由上的网关分段。 -i ttl 将"生存时间"字段设置为 ttl 指定的值。 -v tos 将"服务类型"字段设置为 tos 指定的值。 -r count 在"记录路由"字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 9 台计算机。 -s count 指定 count 指定的跃点数的时间戳。 -j computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。 -k computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由

Ping命令大全

Ping命令大全 如何加强班级管理 dos命令大全 2010-05-11 17:12:50| 分类:技术文摘| 标签:|字号大中小订阅 一、DIR 命令的格式: dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted][/s][/b][/l][/c[h] (1)dir /a:attrib 缺省包含所有文件(系统文件.隐含文件) attrib[:][h/-h]只显示隐含文件或非隐含文件. [r/-r]只显示只读文件或非只读文件 [s/-s]只显示系统文件或非系统文件 [a/-a]只显示要归档文件或非归档文件 (2)/o[:]sorted:缺省完全按字母顺序,子目录显示在文件之前 /o[n/-n]:按字母顺序或按文件名顺序/反向显示 [e/-e]:按扩展名字母顺序/反向显示 [d/-d]:按时间顺序/反向显示 [s/-s]:按大小从大到小或/反向显示 [g/-g]:按子目录先于文件或文件先于子目录 (3)/s 参数:对当前目录及其子目录中所有文件进行列表 列名:dir /s/a/o:n c:\>PRN 将c盘上的所有子目录和文件按隶属关系并根据子目录和文件字母顺序打印输出 (4)/B 参数:将只显示文件名与扩展名 (5)/L 参数:将全部用小写字母对文件或子目录进行列表 训练: dir /a 列当前目录所有文件(含隐含及系统文件) dir /ah 列隐含文件(包含子目录(隐含的) dir /a-h dir /as 列系统文件dir /a-s dir /ad 列子目录dir /a-d dir /o 按字母顺序 dir /B 只显示文件名与扩展名 二、attrib [+r|-r] [+a|-a] [+s|-s] [+h|-h] [d: ] [name] [/s] 缺省attrib name 显示文件的(文件)属性 attrib io.sys (或子目录) shr c:\ io.sys 指定为系统(s) 隐含(h) 只读(r)文件 也可以attrib *.sys 显示扩展名为sys的文件属性 参数[+r|-r] 将文件属性设置或解除只读属性 [+a|-a] 将文件属性设置或解除归档属性 [+h|-h] 将文件属性设置或解除隐含属性(尤其对子目录也起作用) /s 参数将当前及当前子目录下的所有文件均起作用 可以用来查找文件 例子: attrib news86 列news86的文档属性 attrib +r report.txt 设置为只读attrib -s -h record.txt attrib +a a:*.*

Ping程序的实现

湖南工业大学 课程设计 资料袋 计算机与通信学院学院(系、部)2011 ~ 2012 学年第 1 学期课程名称计算机网络原理指导教师李建设职称副教授 学生姓名专业班级学号 题目 成绩起止日期2011 年11 月24 日~2011 年12 月4 日 目录清单

课程设计任务书 2010 —2011学年第 2 学期 学院(系、部) 计算机与通信学院 专业 软件工程 班级 091-3 课程名称: 计算机网络原理 学生姓名: 自己填写 设计题目: Ping 程序的实现 指导教师: 李建设 完成期限:自 2011 年 11 月 24 日至 2011 年 12 月 4 日 共 2 周 内 容 及 任 务 一、设计内容 实现ping 功能。程序能实现基本的ping 操作,发送ICMP 回显请求报文,接收显应答报文。 1. 能记录路由。程序提供了“-r ”选项,用以记录从源主机到目的主机的路由。 2. 能输出指定条数的记录。程序提供了“-n ”选项,用以输出指定条数的记录。 3. 能按照指定大小输出每条记录。程序提供了“datasize ”选项,用以指定输出的数据报的大小。 4. 能输出用户帮助。程序提供了用户帮助,显示程序提供的选项以及选项格式等。 5. 以图形显示输出结果。 二、设计任务 课程设计说明书(纸质+电子版),内容包括:设计内容、系统分析(包括可行性分析、需求分析等)及功能分析;系统设计(要求画出系统整体功能框图、流程图、并给出相应地关键的代码且对所使用的主要数据结构进行说明等。)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。 三、设计要求 1. 按功能要求开发系统,能正确运行。程序代码书写规范,有充足的注释。 2. 课程设计所使用的编程语言任选,但建议使用C 或C++; 3. 绿色软件:程序运行不需安装,避免写系统和注册表; 进 度 安 排 起止日期 工作内容 2011-11-24~2011-11-27 选题 2011-11-28~2011-11-29 系统分析和设计; 2011-11-30~2011-12-3 熟悉软件开发工具、编码系统、系统测试 2011-12-04~2011-12-05 撰写并提交课程设计说明书 (含电子文档)、源程序等。 主 要 参 考 资 料 [1] (美) Larry Peterson 著,薛静锋等译. 《计算机网络:系统方法》 (第4版) ,机械工业出版社,2009 [2] (荷) Andrew S.Tanenbaum 著,潘爱民译. 《计算机网络》(第4版),清华大学出版社, 2004 [3] 谢希仁著.《计算机网络》((第5版) ,电子工业出版社, 2008.1 [4] 吴功宜等著.《计算机网络课程设计》,机械工业出版社,2005 指导教师(签字): 年 月 日 系(教研室)主任(签字): 年 月 日

PING命令使用方法详解

PING命令使用方法详解 PING命令的功能是验证本地计算机与远程计算机(或者是局域网内的计算机)的连接。该命令只有在安装了TCP/IP协议后才可以使用。 依次单击“开始”→“运行”,弹出“运行”对话框,在窗口中输入“CMD”,打开命令行窗口,在命令中输入“ping /?”得到PING命令用法帮助如下: Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS][-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] target_name Options: -t Ping the specified host until stopped. To see statistics and continue - type Control-Break; To stop - type Control-C. -a Resolve addresses to hostnames. -n count Number of echo requests to send. -l size Send buffer size. -f Set Don't Fragment flag in packet. -i TTL Time To Live. -v TOS Type Of Service. -r count Record route for count hops. -s count Timestamp for count hops. -j host-list Loose source route along host-list. -k host-list Strict source route along host-list. -w timeout Timeout in milliseconds to wait for each reply. Ping命令参数中文含义如下: -t Ping 指定的计算机直到中断。 -a 将地址解析为计算机名。 -n count 发送count指定的ECHO数据包数。默认值为4。 -l size 发送包含由size指定的数据量的ECHO数据包。默认为32字节,可选值为65,527 -f 在数据包中发送“不要分段”标志。数据包就不会被路由上的网关分段 -i TTL 将“生存时间”字段设置为TTL指定的值。 -v TOS 将“服务类型”字段设置为TOS指定的值。 -r count 在“记录路由”字段中记录传出和返回数据包的路由。Count可以指定最少1台,最多9台计算机。 -s count 指定count指定的跃点的时间戳。 -j host-list 利用host-list指定的计算机列表路由数据包。连续计算机可以被中间网关分隔IP允许的最大数量为9。 -k host-list 利用host-list指定的计算机列表路由数据包。连续计算机不能被中间网关分隔IP允许的最大数量为9。 -w timeout 指定超时间隔,单位为毫秒。 Ping命令用法举例: 1、Ping IP址 依次单击“开始”→“运行”,弹出“运行”对话框,在窗口中输入“CMD”,打开命令行

课程设计---Ping程序设计与实现

课程设计 课程名称____计算机网络_____ 题目名称_Ping程序设计与实现 学生学院____计算机学院____ 专业班级____08计科4班___ 学号_______ 2011年 1 月8 日

一、课程设计目的 本次课程设计的目的旨在通过网络相关程序的编写,使我们能深入理解TCP/IP协议机制,以及初步掌握基于Winsocket的网络编程技术。同时巩固相关的理论知识,为以后程序开发打下良好而又坚实的基础。 二、知识准备 1、ICMP协议 互联网控制信息协议(Internet CONTROL Message Protocol),用于错误报告和调试。该协议是TCP/IP协议集中的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。我们可以通过Ping命令发送ICMP回应请求消息并记录收到ICMP回应回复消息,通过这些消息来对网络或主机的故障提供参考依据。 常见ICMP报文有响应请求报文,目标不可到达、源抑制和超时报文,此外还有时间戳报文。2、Ping工作原理 Ping的原理就是首先建立通道,然后发送包,对方接受后返回信息,这个包至少包括以下内容:发送的时候,包的内容包括对方的ip地址和自己的地址,还有序列数;回送的时候包括双方地址,还有时间等,主要是接受方在都是在操作系统内核里做好的,时刻在监听。Ping程序生成一个icmp“回送请求”,将其发送给目的主机。通过检测是否可以收到目标主机的应答,便可以知道网络的连通性。 (3) Tracert 工作原理 透过向目标发送不同 IP 生存时间 (TTL) 值的ICMP回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP已超时”的消息发回源系统。Tracert 先发送 TTL 为 1 的响应数据包,并在随后的每次发送过程将 TTL 递增1,直到目标响应或 TTL 达到最大值,从而确定路由。透过检查中间路由器发回的“ICMP已超时”的消息确定路由。 三、界面设计及数据结构的说明 1 、MFC界面设计建立流程 步骤一:打开VC6.0,点击文件选项,在project选项卡中选择MFC Appwizard(exe),项目名称为ping。

ping命令详解图文

p i n g命令详解图文集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

Ping 1、P ing的基础知识 Ping 是一个十分好用的TCP/IP工具。 [功能] 用来检测网络的连通情况和分析网络速度 2、P ing命令详解 参数意思和使用。 -t Ping指定的计算机直到中断。 -a 将地址解析为计算机名。 -n count 发送 count 指定的 ECHO 数据包数。默认值为 4。 -l length 发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是65,527。

-f 在数据包中发送"不要分段"标志。数据包就不会被路由上 的网关分段。 -i ttl 将"生存时间"字段设置为 ttl 指定的值。 -v tos 将"服务类型"字段设置为 tos 指定的值。 -r count 在"记录路由"字段中记录传出和返回数据包的路由。 count 可以指定最少 1 台,最多 9 台计算机。 -s count 指定 count 指定的跃点数的时间戳。 -j computer-list 利用 computer-list 指定的计算机列表路由数据包。连 续计算机可以被中间网关分隔(路由稀疏源)IP 允许的 最大数量为 9。 -k computer-list 利用 computer-list 指定的计算机列表路由数据包。连 续计算机不能被中间网关分隔(路由严格源)IP 允许的 最大数量为 9。 -w timeout 指定超时间隔,单位为毫秒。 destination-list 指定要 ping 的远程计算机

计算机网络实验之Ping程序的设计和实现

课程名称计算机网络 实验序号实验五 实验项目Ping程序的设计与实现

2017年03月25 日 实验报告要求 1、实验报告封面填表说明(每份实验报告必须附上封面) (1)课程名称:要求与实验大纲和实验指导书中的课程名称一致。 (2)实验序号:指该课程的第几个实验。 (3)实验项目:要求与实验大纲和实验指导书中的实验项目一致。 (4)实验地点:填写完成该实验项目所在的实验室名称。 (5)实验学时:要求与实验大纲和实验指导书中完成该实验项目所需学时一致。 (6)实验类型:是指演示性、操作性、验证性、综合性、设计性。 演示性:教师操作,学生观察,验证理论、说明原理和方法。 操作性:学生按要求动手拆装、调试实验装置或上机操作,掌握其基本原理和方法。 验证性:按实验指导书(教材)要求,由学生通过操作验证所学理论,加深对理论、知识的理解,掌握基本实验知识、方法、技能、数据处理等。 综合性:实验内容涉及本课程的综合知识或相关课程的知识,运用多的知识、多种方法,按要求或自拟实验方案进行实验。主要培养学生综合运用所学知识、实验方法和实验技能,以培养其分析、解决问题的能力。 设计性:给定实验目的、要求和实验条件,学生自己设计实验方案并加以实现的实验。学生独立完成从查阅资料、拟定实验方案、实验方法和步骤(或系统分析和设计)、选择仪器设备(或自行设计缺制作)进行实验并完成实验全过程,形成实验报告,培养学生自主实验的能力。 3、教师批改学生实验报告要求 (1)批改:全部批改及更正错误。 (2)评分:按百分制评分,不能评分为“优、良、中、差”或“A、B、C”。 (3)签名及批改日期:任课教师必须在每份学生实验报告中签名和写上批改日期。 (4)成绩:填写学生实验成绩表,实验成绩作为考试成绩评定的依据。

ping命令的用法大全

ping命令的用法大全! 1)如何查看本机所开端口: 用netstat -an命令查看!再stat下面有一些英文,我来简单说一下这些英文具体都代表什么~ LISTEN:侦听来自远方的TCP端口的连接请求 SYN-SENT:再发送连接请求后等待匹配的连接请求 SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认 ESTABLISHED:代表一个打开的连接 FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认 FIN-WAIT-2:从远程TCP等待连接中断请求 CLOSE-WAIT:等待从本地用户发来的连接中断请求 CLOSING:等待远程TCP对连接中断的确认 LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认 TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认 CLOSED:没有任何连接状态 ××××××××××××××××××××××××××××××××××××××××××××× 2)如何获得一个IP地址的主机名? 利用ping -a ip 命令查看!再第一行的pinging后面的『ip』前面的英文就是对方主机名! 同样道理,利用ping machine_name也可以得到对方的ip 获得一个网站的ip地址的方法是:ping https://www.360docs.net/doc/2011344938.html, 比如想知道sohu的ip,就用ping https://www.360docs.net/doc/2011344938.html,来查看就可以了~ 顺便说一句:如果返回:Reply from *.*.*.*: TTL expired in transit的话,呵呵,代表TTL(生命周期)在传输过程中过期 什么意思呢?我来解释一下! 导致这个问题出现的原因有两个:1)TTL值太小!TTL值小于你和对方主机之间经过的路由器数目。2)路由器数量太多,经过路由器的数量大于TTL值! 呵呵,其实这两点是一个意思!只不过说法不同而已! ××××××××××××××××××××××××××××××××××××××××××××× 3)如何查看本机的ip地址? 用ipconfig来查看就可以! 也可以再Windows中的开始菜单,运行中输入winipcfg,同样可以看到自己的ip

Windows 中ping命令详解

Windows 中ping命令详解 1、Ping的基础知识 ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。 Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP工具。它主要的功能是用来检测网络的连通情况和分析网络速度。 Ping有好的善的一面也有恶的一面。先说一下善的一面吧。上面已经说过Ping 的用途就是用来检测网络的连同情况和分析网络速度,但它是通过什么来显示连通呢?这首先要了解Ping的一些参数和返回信息。 2、Ping命令详解 首先需要打开DOS命令界面,通过点击开始菜单中的“运行”选项,输入“cmd”,回车即可打开(如下图)。 回车后

我们输入 ping /? 例出ping 以下是PING的一些参数(如图): 下面我对其中经常使用的参数讲解一下 ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list

1. -t Ping 指定的计算机直到按CTRL+C中断,一般情况下ping命令只发关4个数据包,如果要发送多个包可用t参数,如ping 19 2.168.168.12 –t -n count 发送 count 指定的数据包数。默认值为 4,如ping 192.168.168.12 –n 10 -l length 发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节,如 ping 192.168.168.12 -t -l 1024表示一直ping,包的大小为1024

ping程序的实现

import https://www.360docs.net/doc/2011344938.html,.*;//java的网络包 import java.io.*;//java的io包 public class Ping {//定义类Ping private int timeOut;//定义私有整型变量timeout private Timer t;//声明一个Timer类的对象t,但未分配内存 public Ping(int timeOut){//构造方法进行初始化 this.timeOut=timeOut; t=new Timer();//给对象t分配内存。 } public String pingRang(String from,String to){ //确定ping地址的范围 int [] ipFrom=stringArToIntAr(from.split("\\."));//整形数组变量用来接收起始ip地址 int [] ipTo=stringArToIntAr(to.split("\\."));//接收终止的ip地址 String output="";//定义字符串型变量output用来接收结果 ipTo[3]=ipTo[3]+1;//ipTo 数组里的地址的第四个元素加1 while(!matchIP(ipFrom,ipTo)){// output+="Pinging:"+printIP(ipFrom);// output变量用来接收printIP (ipFrom)的返回结果 output+="("+ping(printIP(ipFrom))+") Response Time:"+responseTime()+"\n";//再接收ping(printIP(ipFrom))的结果 increaseIPrange(ipFrom,ipFrom.length-1);//调用increaseIPrange(),传入的参数为ipFrom起始地址、ipFrom数组长度-1,即为3 } return output; } private void increaseIPrange(int[] ipFrom,int curBit){//逐渐增加IP 地址的范围,curBit表示ip地址的最后一位 ipFrom[curBit]+=1;//ipFrom[3],即表示最后一位每次加1 if (ipFrom[curBit]>255){ //如果最后一位大于255 ipFrom[curBit]=0; //则重新置为0 if(curBit>0) //如果大于0 increaseIPrange(ipFrom,curBit-1);//则再次调用本方法,将增加位置改为ip地址的第三位 } } private boolean matchIP(int[] from,int[] to){//判断起始ip地址和终止ip地址是否在同一个网段中 for(int c=0;c

PING命令参数详解

CD-----PING命令参数详解 前2天有个朋友在网问我关于ping命令ping完后参数代表什么?刚好今天有时间,我就整理了一下,发了出来,希望对大家有帮助!! PING命令参数详解 -a 将目标的机器标识转换为ip地址 -t 若使用者不人为中断会不断的ping下去 -c count 要求ping命令连续发送数据包,直到发出并接收到count个请求 -d 为使用的套接字打开调试状态 -f 是一种快速方式ping。使得ping输出数据包的速度和数据包从远程主机返回一样快,或者更快,达 到每秒100次。在这种方式下,每个请求用一个句点表示。对于每一个响应打印一个空格键。 -i seconds 在两次数据包发送之间间隔一定的秒数。不能同-f一起使用。 -n只使用数字方式。在一般情况下ping会试图把IP地址转换成主机名。这个选项要求ping打印IP地址 而不去查找用符号表示的名字。如果由于某种原因无法使用本地DNS服务器这个选项就很重要了。 -p pattern 拥护可以通过这个选项标识16 pad字节,把这些字节加入数据包中。当在网络中诊断与数据有关的错误时这个选项就非常有用。 -q 使ping只在开始和结束时打印一些概要信息。 -R 把ICMP RECORD-ROUTE选项加入到ECHO_REQUEST数据包中,要求在数据包中记录路由,这样当数据返回时 ping就可以把路由信息打印出来。每个数据包只能记录9个路由节点。许多主机忽略或者放弃这个选项。 -r 使ping命令旁路掉用于发送数据包的正常路由表。 -s packetsize 使用户能够标识出要发送数据的字节数。缺省是56个字符,再加上8个字节的ICMP 数据头,共64个ICMP数据字节。 -v 使ping处于verbose方式。它要ping命令除了打印ECHO-RESPONSE数据包之外,还打印其它所有 返回的ICMP数据包。 使用Ping 使用Ping测量丢包的最佳方法是向一个IP地址发送大量的Ping命令,然后你可以检查没有没有应答的次数,并把没有应答的次数作为丢包。没有应答的次数超过5%可能就值得担心了。 例:在一台Windows计算机上,在命令提示符后面输入如下命令就可以完成这个任务: Ping -n 6(IP地址或者域名,如https://www.360docs.net/doc/2011344938.html,)这个命令中的“-n”开关告诉发送ping命令的次数,

ping程序的设计与实现

滁州学院 课程设计报告 课程名称:计算机网络课程设计 设计题目:ping程序的设计与实现 系别:计算机与信息工程学院 专业:计算科学与技术 组别:第五小组 起止日期:2011年12月1日~2011年12月8日指导教师: 计算机科学与技术系二○一一年制

课程设计任务书 一.Ping 程序运行原理 在网络层,除了IP协议之外,还有一些控制协议,如ICMP,ARP, DHCP等。 1.ping的基础知识 原始套接字 原始套接字是允许访问底层传输协议的一种套接字类型。使用原始套接字操作IP数据报,可以进行路由跟踪,Ping等。另外,使用原始套接字需要知道许多下层协议结构的知识,所以下面讨论ICMP,IP, UDP, TCP格式。 原始套接字有两种类型,第一种类型是在IP头种使用预定义的协议,如ICMP;第二种类型是在IP头种使用自定义的协议。下面使用创建原始套接字的方法。 创建套接字的函数是socket()或者WSASocket(),只不过要将套接字类型指定为SOCK_RAW,代码如下: SOCKET sraw = ::socket(AF_INET, SOCK_RAW, IPPROTO_ICMP); 创建原始套接字时socket函数的第三个参数protocol值将成为IP头中得协议域的值。IPPROTO_ICMP指定要使用ICMP。 原始套解释提供管理下层传输的能力。他们可能会被恶意利用,因此,仅Administrator 组的成员能够创建SOCK_RAW类型的套接字。任何人在Windows NT下都可以创建原始套接字,但是没有Administrator权限的人不能用它来做任何事情,因为bind函数将会失败,出错码WSAEACCES.. 在上面的套接字创建代码种,我们使用ICMP,也可以使用IIGMP, UDP, IP或者原始IP,对应的宏定义分别是IPPROTO_IGMP, IPROTO_UDP, IPPROTO_IP或者IPPROTO_RAW。其中协议标志IPPROTO_UDP, IPPROTO_IP, 和IPPROTO_RAW 需要启动IP_HDRINCL选项。 使用恰当的协议标志创建原始套接字之后,便可以在发送和接受调用种使用此套接字句柄了。无论IP_HDRINCL选项是否设置,在原始套接字上接收到的数据种都会将包含IP 头。 2.ICMP协议与校验和的计算 互联网上得操作由路由器紧紧地监控着。当有异常饭送时候,具体事件通过ICMP报道,如目的不可到达,TTL超时等。这个协议也用来测试互联网。 每个ICMP消息都封装在IP封包中,所以使用IP寻址,

Ping命令详解

Ping (Packet Internet Gopher) 網路封包測試相關資料 可用來測試遠端的主機是否存在,判斷網路是否正常 測試方法: 啟動DOS模式> 輸入PING 210.70.11.249 指令名稱ping 使用權限任何有效之使用者 使用方式ping [-dfnqrRv] [-c <完成次數>] [-ig<間隔秒數>] [-I <網路介面>][-l <前置載入>] [-p <筥本樣式>] [-s <封包大小>] [-t <存活數值>] [主機名稱或IP位址] 說明使用ICMP(Internet Control Message Protocol) 傳輸協定,偵測遠端主機的網路功能是否正常,而給予回應訊息。 參數 -c 設定完成要求回應的次數。此指令會反覆發出訊息,直到完成的次數為止。 -q 不顯示指令執行過程,除開始和結束之相關訊息外。 -s 設定封包大小。 -v 顯示指令執行詳細過程,包括非回應訊息的資訊皆會被列出。 筥例1.偵測192.168.1.1的網路功能是否正常: * ping 192.168.1.1 Windows網路管理 -------------------------------------------------------------------------------- 作者:李忠憲mailto:shane@https://www.360docs.net/doc/2011344938.html,.tw -------------------------------------------------------------------------------- 前言 過去系統管理師主要負責業務是校務行政系統的管理、訓練,有些學校系統管理師尚且兼管電腦教室,TANet到中小學後,系統管理師又兼網路管理師,部分教室電腦試行學校,系統管理師另須負責教室電腦的管理維護之責。簡單的說,目前系統管理師一人所負責的業務,幾近於一家社區電腦公司的工作量,這當然不是一般人能夠做的事。因此除非有濃厚的興趣,否則系統管理師通常都做不長久,在這樣的環境中,系統管理師還必須努力求新知,以免被工作淘汰。 筆者也當過系統管理師,所以能夠體認系統管理師的辛苦,希望此文能對系統管理師微有幫助! 網路規劃

Ping程序设计(c语言课程设计)

07网络工程本 制作人:北-624寝室 负责人:赖文斌 第四篇网络编程 第九章ping程序设计 ping命令是使用频率极高的一个网络测试命令,用以测试从一个主机到另一个主机间的网络上否可达。windows自带的ping命令具有强大的功能,它有很多选项用于实现不同的测试目的。本章模仿windows的ping命令,用c语言实现了一个简单的命令。本章着重讲述ping命令的实现原理和c语言的网络编程方法。读者可以在本章的基础上,对本章实现的ping命令进行扩展,开发出功能更强大、更完善的ping命令,并进一步掌握网络编程的方法。 9.1 设计目的 本章通过设计Ping程序,讲解Ping程序的实现原理,并初步讲解了c语言网络编程技术。本章涉及很多网络编程函数和编程技巧。包括库文件的导入;winsock的初始化、注销;socket 的创建、关闭;设置socket选项;根据主机名获取IP地址;从堆中分配一定数量的空间、释放从堆中分配的空间;获取当前进程ID号;数据报的发送;数据报的接等。 通过本程序的训练,使读者对网络编程有一定的了解,掌握Ping程序的设计方法,掌握网络编程的方法和技巧,从而编写出功能更强大的程序。 9.2功能描述 本章用 c 语言实现的ping命令,能用于测试一个主机到另一个主机间的联通情况,程序还提供了几个选项以实现不同的功能。 (1)实现ping功能。程序能实现基本的ping操作,发送ICMP回显请求报文,接收显应答报文。 (2)能记录路由。程序提供了“-r”选项,用以记录从源主机到目的主机的路由。 (3)能输出指定条数的记录。程序提供了“-n”选项,用以输出指定条数的记录。 (4)能按照指定大小输出每条记录。程序提供了“datasize”选项,用以指定输出的数据报的大小。 (5)能输出用户帮助。程序提供了用户帮助,显示程序提供的选项以及选项格式等。 9.3 总体设计 9.3.1 功能模块设计 1. 功能模块图 本系统共有 4 个模块,分别是初始化模块、功能控制模块、数据控制模块、数据报解读模块和ping测试模块,如图9.1所示。各模块功能描述如下。

Ping命令的使用大全

Ping命令的使用大全 “Ping”命令是我们在判断网络故障常用的命令,但您真正明白这个命令运行后会发生什么,以及出现的各种信息说明了什么吗?其实熟练的掌握Ping命令的各种技巧可以帮助你解决很多网络故障。下面我们就来详细的了解一下Ping命令。 工具/原料 windows 自带 步骤/方法 1.它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活 在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命 令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在 DOS窗口中键入:ping /? 回车,出现如图1所示的帮助画面。 图1 在此,我们只掌握一些基本的很有用的参数就可以了. -t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简 单的实现了。 -l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。

-n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。说明一下,如果-t 参数和 -n 参数一起使用,ping命令就以放在后面的参数为标准,比如“ping IP -t -n 3”,虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。 下面我们举个例子来说明具体用法,如图2。 这里 time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小。从TTL的返回值可以初步判断被ping 主机的操作系统,之所以说“初步判断”是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。 2.ping命令使用举例 ①ping 自己机器的例子 ping本机的IP地址,此例中本机的IP地址为:“10.1.1.253” 图3上图是ping通的情况 ②ping网关/路由器的例子(图4) ping网关/路由器的IP地址,此例中网关/路由器的IP地址为: “10.1.1.254”

相关文档
最新文档