文档库 最新最全的文档下载
当前位置:文档库 › ping全过程

ping全过程

ping全过程
ping全过程

Ping过程详解(图)

time :2010-06-21 09:15:55

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

先看拓朴图:

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

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

其中ARP报文格式如下:

以太网目的MAC 以太网源MAC

帧类

硬件

类型

46

O

P

发送端以太网

MAC

发送

端IP

地址

目的MAC

目的

IP

FF-FF-FF-FF-F F-FF 00-50-56-C0-0

0-01

080

6

080

1

00-50-56-C0-0

0-01

1.1.1

.1

00-00-00-00-0

0-00

1.1.1

.3

其中OP

1 :表示ARP请求

2:表示ARP应答

3:表示RARP请求

4:表示RARP应答

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

地址是多少,同时学到主机A 的MAC 地址,并按同样的ARP 报文格式返回给主机A,如图:

ARP 报文格式:

以太网目的MAC 以太网源MAC

帧类型 硬件

类型 4 6 O P 发送端以太网

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.1/24的路由表项,得到一个出口指针,去掉原来的MAC头部.加上自己的MAC地址向主机C转发…(如果网关也没有主机C的MAC地址,还是要向前面一个步骤一样,ARP广播一下即可相互学到….路由器2端口能学到主机D的MAC,主机D也能学到路由器2端口的MAC..),报文格式如下:

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

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

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

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

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

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

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命令大全

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|----------->| |

使用Ethereal观察ping命令的工作过程

使用Ethereal观察ping命令的工作过程 实验目的: 了解嗅探器工具Ethereal的下载和安装方法; 掌握Ethereal的简单使用方法; 了解抓包结果的分析方法。 实验步骤: 复习与ping命令相关的因特网控制报文协议ICMP相关的内容,通过搜索引擎了解什么是嗅探器。 1 自己下载安装并启动Ethereal; 2 打开命令提示符窗口,准备输入要运行的ping命令; 3 单击“Capture”菜单中的“Start”菜单项开始抓包; 4 输入要运行的ping命令及要测试的目标主机的ip地址,等到ping命令的结果完全显示出来后,单击软件中的stop按钮,停止包的抓获; 5 在Ethereal的显示过滤器输入栏中输入“icmp”这时界面上将显示所有包含有Icmp协议的报文段。单击选中相应的数据包,在树形视图面板中看它各层协议首部的详细信息。 6 针对运行结果,深入思考icmp协议的重要作用以及连通测试工具ping的实现原理。问题思考:

1 Ethereal是一款什么样的软件,有什么作用? 2试说明连通测试工具ping的实现原理 注: NBNS协议:网络基本输入/输出系统(NetBIOS – Net Basic Input/Output System) 名称服务器。NetBIOS提供三种不同的服务: 名字服务:名字登记和解析 会话服务:可靠的基于连接的通信 数据包服务:不可靠的无连接通信 DNS: DNS 是域名系统(Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。 ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP 协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

PING命令应用(入门必看)

一、Ping 的基础知识 ping 命令相信大家已经再熟悉不过了,但是能把ping 的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping 发挥最大的功能,我也只不过经常用ping 这个工具,也总结了一些小经验,现在和大家分享一下。Ping 是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP工具。它主要的功能是用来检测网络的连通情况和分析网络速度。Ping有好的善的一面也有恶的一面。先说一下善的一面吧。 上面已经说过Ping 的用途就是用来检测网络的连同情况和分析网络速度,但它是通过什么来显示连通呢?这首先要了解Ping的一些参数和返回信息。 二、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 -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命令的步骤。使用Ping 检查连通性有五个步骤: 1.使用ipconfig/all观察本地网络设置是否正确,如图;

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命令可以测试计算机名和计算机的IP地址

1、P i n g的基础知识 ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。 Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping是一个十分好用的TCP/IP工具。它主要的功能是用来检测网络的连通情况和分析网络速度。 Ping有好的善的一面也有恶的一面。先说一下善的一面吧。上面已经说过Ping的用途就是用来检测网络的连同情况和分析网络速度,但它是通过什么来显示连通呢这首先要了解Ping的一些参数和返回信息。 2、Ping命令详解 首先需要打开DOS命令界面,通过点击开始菜单中的“运行”选项,输入“cmd”,回车即可打开(如下图)。 回车后 我们输入ping/例出ping以下是PING的一些参数(如图): 下面我和大家讲解一下,每个参数意思和使用。 ping[-t][-a][-ncount][-llength][-f][-ittl][-vtos][-rcount][-scount][-jcomputer-list]|[-kcomputer-list][-wtimeout]destination-list -tPing指定的计算机直到中断。 -a将地址解析为计算机名。 -ncount发送count指定的ECHO数据包数。默认值为4。 -llength发送包含由length指定的数据量的ECHO数据包。默认为32字节;最大值是65,527。 -f在数据包中发送"不要分段"标志。数据包就不会被路由上的网关分段。 -ittl将"生存时间"字段设置为ttl指定的值。 -vtos将"服务类型"字段设置为tos指定的值。 -rcount在"记录路由"字段中记录传出和返回数据包的路由。count可以指定最少1台,最多9台计算机。 -scount指定count指定的跃点数的时间戳。 -jcomputer-list利用computer-list指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP允许的最大数量为9。 -kcomputer-list利用computer-list指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP允许的最大数量为9。 -wtimeout指定超时间隔,单位为毫秒。 destination-list指定要ping的远程计算机。 3、怎样使用Ping这命令来测试网络连通呢 连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。

课程设计---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命令大全及使用方法

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程序的设计与实现

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

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:*.*

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

计算机网络课程设计报告 姓名:王齐 学号:1105010404 班级:计算机四班 指导老师:张会福 湖南科技大学计算机科学与工程学院 2014年02月

实验一: 一、设计题目 网络聊天程序的设计与实现 二、实验目的 1、加深对计算机网络通信系统工作原理的理解 通过编写计算机程序实现、模拟网络的某些功能,使自己理解并掌握计算机网络基本工作原理及过程。 2、提高网络编程和应用的能力 提高实际编程能力和灵活运用所学知识解决问题的能力。培养调查研究、查阅技术文献、资料、手册及编写技术文档的能力,理论运用于实践的能力。 三、课程设计要求 1、仔细分析每一个实验的具体内容、步骤和要求,按设计要求完成任务。 2、程序设计需要完成的程序流程图、说明文档和源程序清单。 3、提交课程设报告(包含课程设计名称、课程设计题目、课程设计内容、课程设计步骤、调试过程、课程设计结果以及结果分析、心得体会)、程序源文件、可执行文件。 四、程序原理 在计算机通信系统中,有两种通信方式:面向连接的TCP和面向报文的UDP。 TCP:传输控制协议。TCP提供可靠交付的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复、并且按序到达。所以服务器和客户端的通讯使用TCP来完成。确保服务器作为“中转站”能够得到、存储、转发正确的客户信息。 UDP:用户数据报协议。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。因为客户端之间的通讯(聊天)对数据正确性的要求不是太高,偶尔出错也不会有太大的影响。 本课程设计采用TCP方式来实现网络聊天程序。 五、课程设计步骤 1、TCP网络聊天程序 TCP传输控制提供可靠的,有保证的通信质量,是面向连接的通信。因此,在通信之前,通信双方就得采用建立连接。TCP通信采取C/S(客户机/服务器)模式。需要分别编写客户端程序和服务器端程序。 1)服务器端程序编写步骤: a)加载套接字库,创建套接字(WSAStartup()/socket()); b)绑定套接字到一个IP地址和一个端口上(bind());

DOS-PING命令详解

ping和ipconfig命令详解 ping是一个计算机网络工具,用来测试特定主机能否通过IP到达。ping的运作原理是向目标主机传出一个ICMP echo要求封包,等待接收echo回应封包。程序会按时间和反应成功的次数,估计失去封包率(丢包率)和封包来回时间(网络时延)。 1983年12月,Mike Muuss写了这个程序,在IP网络出问题时方便找出其根源。因为这个程序的运作和潜水艇的声纳相似,他便用声纳的声音来为程序取名。David L. Mills曾提出另一个取名:P acket I nter n et Grouper/Gopher(后者指地鼠)。 1.ping 使用ping可以测试计算机名和计算机的ip 地址,验证与远程计算机的连接,通过将icmp 回显数据包发送到计算机并侦听回显回复数据包来验证与一台或多台远程计算机的连接,该命令只有在安装了tcp/ip 协议后才可以使用。现在打开你的ms-dos(开始→程序 →ms-dos),用win2000的朋友打开cmd.exe(这是win2000下的ms-dos,开始→程序→附件→"命令提示符" 或开始→搜索文件或文件夹→"填入cmd.exe",找到后双击运行就可 以了。)下面我们来看看他的命令: 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 指定的计算机直到中断。ctrl+c停止 -a 将地址解析为计算机名。例:c:\>ping -a 127.0.0.1 pinging china-hacker [127.0.0.1] with 32 bytes of data:(china-hacker就是他的计算机名) reply from 127.0.0.1: bytes=32 time<10ms ttl=128reply from 127.0.0.1: bytes=32 time<10ms ttl=128reply from 127.0.0.1: bytes=32 time<10ms ttl=128reply from 127.0.0.1: bytes=32 time<10ms ttl=128 ping statistics for 127.0.0.1:packets: sent = 4, received = 4, lost = 0 (0% loss),approximate round trip times in milli-seconds:minimum = 0ms, maximum = 0ms, average = 0ms -n count 发送count 指定的echo 数据包数。默认值为4。 -l length 发送包含由length 指定的数据量的echo 数据包。默认为32 字节;最大值是65,527。

Ping命令源代码

ping的原理就是首先建立通道,然后发送包,对方接受后返回信息,这个包至少包括以下内容,发送的时候,包的内容包括对方的ip地址和自己的地址,还有序列数,回送的时候包括双方地址,还有时间等,主要是接受方在都是在操作系统内核里做好的,时刻在监听,提供一段c程序的代码,希望对大家有用。 #include #include #include #include #include #include #include #include #include #include #include #include #define PACKET_SIZE 4096 #define MAX_WAIT_TIME 5 #define MAX_NO_PACKETS 3 char sendpacket[PACKET_SIZE]; char recvpacket[PACKET_SIZE]; int sockfd,datalen=56; int nsend=0,nreceived=0; struct sockaddr_in dest_addr; pid_t pid; struct sockaddr_in from; struct timeval tvrecv; void statistics(int signo); unsigned short cal_chksum(unsigned short *addr,int len); int pack(int pack_no); void send_packet(void); void recv_packet(void); int unpack(char *buf,int len);

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 接收,解封处理

ping程序的实现

import https://www.wendangku.net/doc/be5341059.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命令使用方法详解

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”,打开命令行

相关文档