前面在《kali主机发现背后的秘密》文章里,介绍了几个*ping的命令。ping可是“可人儿”。瞧,它们都来攀亲戚了,蹭热度来了。今天我们就来认识一下它们。
关系 | 名称 | 功能特点 | 备注 |
本宗 | ping | 网络诊断工具,测试互联网协议网络上主机的可达性 | 自带 |
弟 | fping | 使用 ping类似,但在ping多个主机时性能要好得多 | 自带 |
弟 | tcping | 网络禁ping时用它 | 需安装 |
表哥 | arping | ping MAC 地址,以及找出那些 ip 地址被哪些电脑所用 | 自带 |
堂弟 | hping3 | 用于生成和解析TCPIP协议数据包的开源工具,也是安全审计、防火墙测试等工作的标配工具 | 自带 |
堂弟 | nping | 用于生成网络包、分析响应和测量响应时间的开源工具 | 自带 |
ping命令及“亲友”们对比图
一、ping
Ping是一种计算机网络诊断工具,用于测试互联网协议网络上主机的可达性。它几乎适用于所有具有网络功能的操作系统,包括大多数嵌入式网络管理软件。
Ping测量的是消息从源主机发送到目标计算机并返回到源主机的往返时间。这个名字源于主动声纳的术语,指的是通过发出声音脉冲,并听回声来探测水下物体。
Ping通过向目标主机发送因特网信报控制协议(ICMP)回显请求数据包并等待ICMP回显回复来实现。该程序报告错误、数据包丢失和结果的统计摘要,通常包括往返时间的最小值、最大值、平均值以及平均值的标准差。
ping诊断工具是迈克·穆斯1983年12月在弹道研究实验室(现为美国陆军研究实验室)任职期间写的。迈克·穆斯是将其作为一种诊断网络故障的工具而创建的,他的灵感来自大卫·米尔斯的关于使用ICMP回声数据包进行网络诊断和测量的讨论。应用详见 ping命令的“三板斧” 。
二、Fping
fping是一个向网络主机发送ICMP回声探测的程序,与ping类似,但在ping多个主机时性能要好得多。fping有很长的历史:Roland Schemers在1992年发布了它的第一个版本,从那时起它就成为网络诊断和统计的标准工具。
命令选项
-
-a 显示存活的主机
-
-b ping 数据包的大小。(默认为56)
-
-c ping每个目标的次数 (默认为1)
-
-f 从文件获取目标列表(不能与 -g 同时使用)
-
-l 循环发送ping
-
-g 通过指定开始和结束地址来生成目标列表,可以用网段
-
-u 显示不可到达的目标
三、Arping
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在同一以太网中,通过地址解析协议,源主机可以通过目的主机的IP地址获得目的主机的MAC地址。arping程序就是完成上述过程的程序。
arping,用来向局域网内的其它主机发送ARP请求的指令,它可以用来测试局域网内的某个IP是否已被使用。 只能对单个IP,可用脚本实现对多个IP自动扫描。如果有相同的ip,说明有IP地址冲突,有风险。例:vim arping1.sh
四、tcping
tcp是一种面向连接的、可靠的、基于字节流的传输层通信协议。适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP的正式定义由1981年9月的RFC793 给出。随着时间的推移,已经对其做了许多改进,各种错误和不一致的地方逐渐被修复。tcping可以强ping,解决禁ping的问题。
kali上得先安装:cd /usr/bin/
wget http://pingpros.com/pub/tcpping
chmod 755 tcpping
参数释义:
-t 不停的发送数据包直到按ctrl+c 停止,可以用此命令做小破坏。
-n 5 一次发送 5 个数据包,默认一次发送4个 :
tcpping -n 5 www.baidu.com 会tcpping 百度5次,也可以跟其他数字。
-i 5 5秒发送一个数据包 :
tcpping -i 5 www.baidu.com 每间隔5秒tcping一次百度,也可以跟其他数字,也可以跟小数 :tcping -i 0.5 www.baidu.com 每隔 0.5秒tcping 一次百度。
-w 0.5 tcpping不通的等待时间 tcping通则忽略次参数 :
tcpping -w 0.5 www.baidu.com 如果ping不同会等待0.5秒,默认tcpping不通等2s,tcping 通则忽略此参数。
-d 在每行前面显示详细日期时间。
-b 1-4 ping的时候会响铃,参数4会一直响铃 :
tcping -b 4 www.baidu.com每显示一行内容就会响铃一次,默认会响铃4次
-r 5 每发送5个数据包重新查找主机一次(通过DNS或路由查找)
-s ping通就立即退出
-v 显示版本信息
-j 使用默认的方法求ping的均值减小波动,网络有一定的不稳定性用此参数可以减小波动。
-js 5 用5个实例求平均值减小波动,使用这个参数系统会tcping 5次然后求出平均值作为一次结果显示,减小波动。
–tee 将结果输出到指定位置 :
tcpping –tee d:\test.txt 192.168.0.100 会将ping的结果保存在d盘下的test文件中。
-c 只显示转变的信息(ping时间很短一般不会转变)。
-g 5 失败5次就放弃(注意默认是80端口,端口没开也算失败)
-h 以http 的模式工作,可以测试主机是否提供http服务。具体如下图
–proxy-server 指定代理服务 : 没有代理无法测试
–proxy-port 指定代理服务端口 : 没有代理无法测试
–proxy-credentials 使用代理的安全验证,需要输入 用户名和密码 : 没有代理无法测试
–f 强制ping命令至少发送一个比特(byte)
–file 从文件中获得ping的来源 :
tcpping –file d:\test.txt 我在d盘下新建一个test文件,并输入 我要tcping的所有ip或域名一行一个,然后执行命令,就会依次tcping文件中指定的地址。
五、hping3
hping3命令是用于生成和解析TCPIP协议数据包的开源工具,也是安全审计、防火墙测试等工作的标配工具 。 目前最新版是hping3,支持使用tcl脚本自动化地调用其API。优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致地探测。常被用来做半连接洪水攻击,压力测试。(后面重点介绍)
六、Nping
Nping是一个用于生成网络包、分析响应和测量响应时间的开源工具。Nping可以生成多种协议的网络数据包,可以让用户自由填充协议头的字段。其不仅可以作为简单的ping工具来检测存活主机,还可以作为用于网络栈压力测试的原始报文生成器、ARP攻击、拒绝服务攻击、路由跟踪等。Nping的新颖Echo mode可使用户看到数据包在源主机和目标主机之间传输的过程中的变化情况,其是获悉防火墙规则、检测数据包损坏等的非常好的方法。常被用来做全连接洪水攻击,压力测试。(后面重点介绍)
注:它们都可以做主机发现。详见kali主机发现背后的秘密。