欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

linux下ping命令使用详解

程序员文章站 2022-09-11 09:30:08
Ping命令通过发送Internet控制消息协议(ICMP)回响请求消息来验证与另一台TCP/IP计算机的IP级连接,很重要的一条命令,今天小编就为大家介绍linux下ping命令使用详解... 14-02-20...

•ping命令一般用于检测网络通与不通,也叫时延,其值越大,速度越慢ping(packetinternetgrope),因特网包探索器,用于测试网络连接量的程序。

•ping发送一个icmp回声请求消息给目的地并报告是否收到所希望的icmp回声应答。它是用来检查网络是否通畅或者网络连接速度的命令。

•原理:网络上的机器都有唯一确定的ip地址,我们给目标ip地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。

二、ping的工作流程

•1、在同一网段内

•ping

•主机a--------------------->主机b

•icmp请求包

•在本机(主机a)查找arp缓存表查找主机b的ip与其对应的mac,

•没有找到主机b的ip与其mac的映射关系,则发送一个arp请求广播,

•主机b接收到arp请求包后,回复一个arp应答包(里面包含本机mac),

•主机a<----------------------主机b

•icmp应答包

•2、不在同一网段

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

三、ping命令的使用

•ping命令的一般格式为:

•ping[-dfnqrrv][-c发送次数][-i间隔秒数][-i(大写i)网络界面][-l(小写l)前置载入][-p范本样式][-s数据包大小][-t存活数值][主机名或ip地址]

参数说明:

【-ccount】指定要被发送(或接收)的回送信号请求的数目,由count变量指出。

【-wtimeout】这个选项仅和-c选项一起才能起作用。它使ping命令以最长的超时时间去等待应答(发送最后一个信息包后)。默认超时时间为4000ms(4s)

【-d】使用socket的so_debug功能。

【-d】这个选项引起icmpecho_reply信息包向标准输出的十六进制转储。

【-f】指定flood-ping选项。-f标志“倾倒”或输出信息包,在它们回来时或每秒100次,选择较快一个。每一次发送echo_request,都打印一个句号,而每接收到一个echo_reply信号,就打印一个退格。这就提供了一种对多少信息包被丢弃的信息的快速显示。仅仅root用户可以使用这个选项。

注:这在网络上将非常困难,必须小心使用。floodping命令仅仅root用户可以使用。-f标志与-iwait标志不兼容.

【-n】只输出数值。

-r】忽略路由表,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。

【-r】记录路由过程。-r标志包括echo_request信息包中的record_route选项,并且显示返回信息包上的路由缓冲。

【-v】详细显示指令的执行过程。

【-iwait】在每个信息包发送之间等待被wait变量指定的时间(秒数)。缺省值是在每个信息包发送之间等待1秒。这个选项与-f标志不兼容。

【-ia.b.c.d】指定被a.b.c.d标明的接口将被用于向外的ipv4多点广播。-i标志是大写的i。

【-lpreload】在进入正常行为模式(每秒1个)前尽快发送preload变量指定数量的信息包。-l标志是小写的l。

【-l】对多点广播ping命令禁用本地回送。

【-ppattern】指定用多达16个“填充”字节去填充你发送的信息包。这有利于诊断网络上依赖数据的问题。例如“-pff”全部用1填充信息包。

【-q】不显示任何传送封包的信息,只显示最后的结果。

【-spacketsize】指定发送的数据字节数,预设值是56,加上8字节的icmp头,一共是64icmp数据字节。

【-shostname/ipaddr】将ip地址用作发出的ping信息包中的源地址。在具有不止一个ip地址的主机上,可以使用-s标志来强制源地址为除了软件包在其上发送的接口的ip地址外的任何地址。如果ip地址不是以下机器接口地址之一,则返回错误并且不进行任何发送。

【-ttll】设置存活数值ttl的大小。

【-ointerface】指出interface将被用于向外的ipv6多点广播。接口以“en0”,“tr0”等的形式指定。

使用举例:

(1)指定要被发送(或接收)的回送信号请求的数目:

#ping-c5172.17.0.254(请求5次)

(2)信息包被丢弃的信息的快速显示:

#ping-f172.17.0.254

(3)在每个信息包发送之间等待被wait变量指定的时间(秒数):

#ping-i2172.17.0.254(间隔2s)

四、ping测试

•1、ping本机ip

•#ping172.17.0.11/127.0.0.1

•(测试:#ifdowneth0之后再ping试试)

•如果ping不通的话则表明网卡安装或配置有问题。将网线断开再次执行此命令,如果显示正常,则说明本机使用的ip地址可能与另一台正在使用的机器ip地址重复了。如果仍然不正常,则表明本机网卡安装或配置有问题,需继续检查相关网络配置。

•ubuntu下配置文件位置:

•[ip]:/etc/network/interfaces

•[dns]:/etc/resolv.conf

•2、ping网关ip

•#ping172.17.0.254

•能正常ping通,则表明局域网中的网关路由器正在正常运行。反之,则说明网关有问题。

•3、ping远程ip

•#pingwww.baidu.com

•这一命令可以检测本机能否正常访问internet。

五、怎样使用ping这命令来测试网络连通呢?

•连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。首先我们讲一下使用ping命令的步骤。

•使用ping检查连通性有六个步骤:

•1.使用ifconfig观察本地网络设置是否正确;

•2.ping127.0.0.1,127.0.0.1回送地址ping回送地址是为了检查本地的tcp/ip协议有没有设置好;

•3.ping本机ip地址,这样是为了检查本机的ip地址是否设置有误;

•4.ping本网网关或本网ip地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)

•5.ping本地dns地址,这样做是为了检查dns是否能够将ip正确解析。

•6.ping远程ip地址,这主要是检查本网或本机与外部的连接是否正常。

原文链接:

如果您喜欢本文请分享给您的好友,谢谢!