发觉linux下的ping命令花样还挺多的,下面是几个例子

1、ping www.baidu.com,最粗糙的用法,此时主机将不停地向目的地址发送ICMP echo request数据包,直至你按下Ctrl+c

2、ping -I eth0 www.baidu.com 或 ping -I 192.168.8.151 www.baidu.com,即 -I 选项可以指定发送ping包的网卡,-I后接网卡名或者网卡的IP地址都是可以的

3、ping -c 3 www.baidu.com,-c 选项可以指定发送多少个ICMP包,可以看到主机接收到了3个ICMP echo reply包,这是对我发的3个echo request的回应

4、ping -t 20 www.baidu.com,-t 选项可以设置承载ICMP报文的IP数据包的TTL值

从wireshark的抓包,可以看到ttl设为了20

5、ping -s 10 www.baidu.com,-s 选项可以设置ICMP数据部分的大小,可以看到数据部分10个字节,加上8字节的ICMP头,则ICMP包大小为18字节,再加上20字节的IP头,IP包大小为38字节

6、ping -p beef www.baidu.com,-p 选项可以设置icmp报文数据部分的内容,后跟的 beef 即为16进制的填充数据,后面跟的数据最大可为16个字节

从wireshark的抓包可以看到,数据部分的内容即为beef,并且被用来反复填充

以上6个是比较简单的选项,当然还有其他选项,选项基本上可以根据自己的需求叠加使用。

想要进一步了解linux下的ping命令,获取更详细的使用方法,可以man ping,另外ping6命令的使用与此类似,基本上将以上的ping改成ping6就可以了,当然这时候地址也得是IPv6的

ping命令的几个简单使用的更多相关文章

  1. [小菜随笔]python tkinter实现简单的ping命令

    本文主要是介绍python图形界面上的按键与实际功能的对接,其实编程掌握了基础之后的学习应该都是靠自己去挖掘其他的 在网上发现多半教程都是2的,故本文使用的是python3.5,其实也没什么区别,就有 ...

  2. 用ping命令简单的测试 延时、抖动、丢包率

    在DOS命令状态下输入 :ping 202.105.135.211 -t (连续的对该IP地址执行Ping命令,直到被用户以Ctrl+C中断)就会得到下面的结果:Pinging 202.105.135 ...

  3. ping命令执行过程详解

    [TOC] ping命令执行过程详解 机器A ping 机器B 同一网段 ping通知系统建立一个固定格式的ICMP请求数据包 ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运 ...

  4. PING命令入门详解

    转自:http://www.linkwan.com/gb/tech/htm/928.htm 1.Ping的基础知识 ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很 ...

  5. Ping 命令的使用方法总结

    一.Ping 命令 “Ping”命令是我们在判断网络故障常用的命令,但您真正明白这个命令运行后会发生什么,以及出现的各种信息说明了什么吗?其实熟练的掌握 Ping 命令的各种技巧可以帮助你解决很多网络 ...

  6. ping命令的用法大全!

    1)如何查看本机所开端口: 用netstat -an命令查看!再stat下面有一些英文,我来简单说一下这些英文具体都代表什么- LISTEN:侦听来自远方的TCP端口的连接请求 SYN-SENT:再发 ...

  7. PING命令入门详解(转载)

    本文转自http://www.linkwan.com/gb/tech/htm/928.htm 1.Ping的基础知识 ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是 ...

  8. 通过PING命令中的TTL来判断对方操作系统

    ---恢复内容开始--- 通过PING命令中的TTL来判断对方操作系统简单来说,TTL全程Time to Live,意思就是生存周期.首先要说明ping命令是使用的网络层协议ICMP,所以TTL指的是 ...

  9. 脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?

    本文引用了公众号纯洁的微笑作者奎哥的技术文章,感谢原作者的分享. 1.前言   老于网络编程熟手来说,在测试和部署网络通信应用(比如IM聊天.实时音视频等)时,如果发现网络连接超时,第一时间想到的就是 ...

随机推荐

  1. Xamarin.Android 入门之:Xamarin快速入门

    一. 准备工作 1.新建一个项目取名为phoneword 2.在项目创建好之后,让我们展开“Resources”文件夹然后找到并打开该文件夹下的“layout”文件夹,双击main.axml在Andr ...

  2. 2014-9-17二班----9 web project

    http://localhost:8080/rwkj1/indexServlet             跳转                    http://localhost:8080/rwk ...

  3. Android Handler与多线程

    本文首先解释一下handler是用来干嘛的,然后通过例子介绍其在多线程中的应用. 什么是Handler handler通俗一点讲就是用来在各个进程之间发送数据的处理对象.在任何进程中,只要获得了另一个 ...

  4. opencv绘制灰度直方图

    代码之一: #include <cv.h> #include <highgui.h> #pragma comment( lib, "cv.lib" ) #p ...

  5. Hibernate开发之二 映射主键-

    <class name="cn.itcast.e_hbm_id.User" table="user">            <!-- 映射主 ...

  6. 初学者的checklist:对于QTP,你应该知道的9个基本概念

    学习QTP或者其他相关任何工具的方法都是首先把基本的概念过一遍.正所谓砍柴不怕磨刀功,一旦你对这些概念熟悉了,你就可以学习该工具的高级部分了.写这篇文章的目标是列出初学QTP的人应该掌握的所有基本概念 ...

  7. DataGridView控件的使用---添加行

    最简单的方法 可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行. 假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控 ...

  8. C++ STL之迭代器注意事项

    1.两个迭代器组成的区间是前闭后开的 2.如果迭代器的有效性,如果迭代器所指向的元素已经被删除,那么迭代器会失效 http://blog.csdn.net/hsujouchen/article/det ...

  9. javac编译过程

    编译器把一种语言规范转化为另一种语言规范的这个过程需要哪些步骤:

  10. 数据库编程与C#编程互译

    今天有一段代码,先是用程序实现. 闲来无聊,又用存储过程实现了一次. 程序中实现. /// <summary> /// 根据区域和用户名获取可访问的国家 /// </summary& ...