linux ping指令学习

最近测试ios的双网卡是否可以同时使用,因为对linux工具不熟悉,导致浪费了很多时间。

 

记录一下最近学习到的指令:

//ios和linux的ping指令参数有区别,考虑到自己以后主要是在linux上做开发,所以这里就只写linux下的ping指令;

 

Linux manpage

Ping的参数集:

ping [ -LRUbdfnqrvVaAB] [ -c count] [ -iinterval] [ -l preload] [ -p pattern] [ -s packetsize] [ -t ttl] [ -w deadline][ -F flowlabel] [ -I interface] [ -M hint] [ -Q tos] [ -S sndbuf] [ -Ttimestamp option] [ -W timeout] [ hop ...] destination

 

参数很多,我先讲一下我这次用到的参数:

-c cout/number 该参数用于指定ping指令发送多少个包之后退出;

//ios上ping指令不像linux,ios的ping如果不指定-c,则只发送3个包就结束ping;

 

-i interval 包与包之间的发送间隔,单位是秒,默认是1秒;

 

-I interface 用于指定通过哪个网卡发送

//本来有这个参数我就可以轻松的测试ios是否支持双网卡同时工作,但是ios上的ping居然没有这个参数,最后不得不通过修改route表来测试(其实心情还算是很愉悦,接触到了新东西);

 

 

Ping原理学习:

根据Linux man page的解释,ping使用的是ICMP协议(Internet Control Message Protocol, internet控制报文协议);

 

ICMP协议简介:

ICMP协议是TCP/IP协议协议簇的一个子协议,属于网络层协议,主要用于主机和路由器之间传递控制信息,包括报告错误、交换受限控制盒状态信息等;

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息,可以称为是“错误侦测与回报机制”;

ICMP协议主要功能包括:

         侦测远端主机是否存在;

         建立及维护路由资料;

         重导资料传送路径;

         资料流量控制;

 

ICMP的包大小以前有要求小于64bit,因为这样很容易被溢出攻击(即黑客故意发送大于64bit的ICMP包,导致主机栈溢出而运行不正常),因此目前的操作系统基本都取消了其大小限制;

 

Ping指令可以通过 –s参数设置ICMP包大小,大小默认是56bit;

 

具体的细节参数可以参考Linux man page;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值