当前位置:   article > 正文

ping命令常用参数_ping -s

ping -s

简述ping命令原理和作用

参考: https://www.zhihu.com/question/266846392

ping命令是主机向目标主机发送一个icmp协议的回显报文请求,请求中附带有请求方主机的时间戳T1,目标主机收到请求后会记录时间戳T2

# 计算过程
方案一:本地记录时间戳
客户端发出Ping包1,本地记录时间戳T1,当ping 包1返回时,记录时间戳T2,那么

RTT = T2-T1

就得到这个RTT。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

方案二:Ping包的Payload里记录发出时间戳T1

当Ping包1被弹回时,记录当前时间T2,则

RTT = T2-T1

也可以得到这个RTT( Round Trip Time)[计算机网络]各种时延的计算
发送时延=数据帧长度(b) /信道带宽(b/s) [信道带宽就是数据率]
传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s)
总时延=发送时延+传播时延+处理时延+排队时延
# ping命令的作用
ping命令可以获取网络质量,例如网络时延为多少毫秒!假定ping值高于100ms,则网络质量不太好。
可以获取操作系统版本.
例如:通过返回的ttl值识别主机操作系统
	ttl=255
		Unix
	ttl=64
		Linux
	ttl=128
		Windows2000以上
	ttl=32
		Windows95
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

Linux下ping常用参数

参考 https://zhuanlan.zhihu.com/p/23973587

  • -d:使用Socket的SO_DEBUG功能;
  • -c<完成次数>:设置完成要求回应的次数;
  • -f:极限检测;
  • -i<间隔秒数>:指定收发信息的间隔时间;
  • -I<网络界面>:使用指定的网络界面送出数据包;
  • – l<前置载入>:设置在送出要求信息之前,先行发出的数据包;
  • -n:只输出数值;
  • -p<范本样式>:设置填满数据包的范本样式;
  • -q:不显示指令执行过程,开头和结尾的相关信息除外;
  • -r:忽略普通的Routing Table,直接将数据包送到远端主机上;
  • -R:记录路由过程;
  • -s<数据包大小>:设置数据包的大小;
  • -t<存活数值>:设置存活数值TTL的大小;
  • -v:详细显示指令的执行过程。
## -s 指定size
## -i interval 指定收发信息的间隔时间
## -c 指定发送报文的次数
ping -s 4096 -i 1 -c 1000 130.10.0.77

# ping -i 3 发送周期为 3秒 -s 设置发送包的大小为1024 -t 设置TTL值为 255
ping -i 3 -s 1024 -t 255 192.168.120.206
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Ubuntu安装ping命令

# Ubuntu安装ping命令
apt install iputils-ping -y
  • 1
  • 2

指定来源ip

## -l 指定来源ip(必须是本机绑定的一个ip)
ping -l 192.168.1.10 8.8.8.8
  • 1
  • 2

ping指定次数 -c

# ping -c 次数 主机
ping -c 10 114.114.114.114
  • 1
  • 2

间隔秒数-i

设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

# ping -i 0.1秒发送一次 主机
ping -i 0.1 10.147.17.80
  • 1
  • 2

指定发包字节数-s

指定发送的数据字节数,预设值是56,加上8字节ICMP头,默认值一共是64ICMP数据字节。

#ping -s 发送1024字节数 主机 
ping -s 1024 10.147.17.80
  • 1
  • 2

存活数值-t

设置存活数值TTL的大小。

# ping -t 设置ttl为255 主机
ping -t 255 114.114.114.114
  • 1
  • 2

ping域名很久才解析到ip

参考: https://blog.woofoo.cn/2021/01/10/linux-ping域名很慢的其中一个原因/
https://www.xiaoz.me/note/225.html


Linux下ping域名时很久才解析到ip,解析到ip后时延又不高

ping域名时,ping结果返回很慢,但ping这个域名的ip,返回结果却很快。
原因: https://www.cnblogs.com/276815076/p/6374298.html
当每次ping完得到响应之后,ping程序会尝试一次反向dns查询(reverse dns lookup)来获取“64 bytes from”后面的域名,如果查询速度很慢的话,就会给人似乎延迟很大的感觉,其实这也是ping感觉慢,但是每次ping的响应时间却并不慢的原因。

解决办法: 使用-n参数禁止反向DNS查询

# 禁用反向解析-n
ping -n 域名
  • 1
  • 2

ping域名慢解决办法

/etc/nsswitch.conf文件的作用是控制系统如何查找和解析各种不同类型的名称。通过编辑该文件,您可以控制系统如何查找用户主机服务等信息。

vi /etc/nsswitch.conf

# 注释这一行
## 系统将首先从/etc/hosts文件中查找主机名,
## 然后使用mdns4_minimal(一种用于本地网络的mDNS协议)查找主机名,## 如果找不到,则返回,如果仍然找不到,则使用DNS协议进行查找。
#hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

# 修改成files dns
## 系统将首先从/etc/hosts文件中查找主机名,
## 然后使用DNS协议进行查找
hosts:          files dns
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/210705
推荐阅读
相关标签
  

闽ICP备14008679号