创新路
我们一直在努力

工具分享:tcpping、tcping、psping、hping、paping

ping 命令是一个很好用并且常用的网络测试工具,它是基于 ICMP 协议,但是出于网络安全等因素,大部分网络环境以及云环境可能都会禁止 ICMP 协议,所以在工作中,我们必须掌握一些其他比较流行的网络测试工具,下面分别介绍 tcpping、tcping、psping、hping、paping 等几款网络测试工具。

一、tcpping

1: tcpping 脚本依赖 tcptraceroute 组件,所以必须先安装 tcptraceroute

yum install tcptraceroute

image.png

2:下载tcpping文件

wget http://www.vdberg.org/~richard/tcpping

image.png

3:将 tcpping 文件移动到 /usr/bin 下并授权。

# mv tcpping /usr/bin/

# cd /usr/bin

# chmod 755 tcpping

参数及测试

image.png

参数 参数描述
-d 在每个结果输出前打印时间戳
-c 将结果输出在一列
-C 输出与fping的-C选项相同的打印格式
-w Wait time in seconds (defaults to 3)
-r -r n:每n秒重复一次(默认为1)
-x 重复n次(默认为无限制)

image.png

二、tcping

tcping 与 tcpping 是不同的两款工具

tcping有不同的版本,windows版本的比较好用,功能也很强大,linux版功能相对简单,此处略。

Windows 平台:

下载地址:https://www.elifulkerson.com/projects/tcping.php 放到 C:\Windows\System32 目录下即可。无需安装。

帮助手册:原文

Usage: tcping [-flags] server-address [server-port]

Usage (full): tcping [-t] [-d] [-i interval] [-n times] [-w ms] [-b n] [-r times] [-s] [-v] [-j] [-js size] [-4] [-6] [-c] [-g count] [-S source_address] [–file] [–tee filename] [-h] [-u] [–post] [–head] [–proxy-port port] [–proxy-server server] [–proxy-credentials username:password] [-f] server-address [server-port]

 -t     : ping continuously until stopped via control-c

 -n 5   : for instance, send 5 pings

 -i 5   : for instance, ping every 5 seconds

 -w 0.5 : for instance, wait 0.5 seconds for a response

 -d     : include date and time on each line

 -b 1   : enable beeps (1 for on-down, 2 for on-up,

                        3 for on-change, 4 for always)

 -r 5   : for instance, relookup the hostname every 5 pings

 -s     : automatically exit on a successful ping

 -v     : print version and exit

 -j     : include jitter, using default rolling average

 -js 5  : include jitter, with a rolling average size of (for instance) 5.

 –tee  : mirror output to a filename specified after '–tee'

 –append : Append to the –tee filename rather than overwriting it

 -4     : prefer ipv4

 -6     : prefer ipv6

 -c     : only show an output line on changed state

 –file : treat the "server-address" as a filename instead, loop through file line by line

          Note: –file is incompatible with options such as -j and -c as it is looping through different targets

          Optionally accepts server-port.  For example, "example.org 443" is valid.

          Alternately, use -p to force a port at command line for everything in the file.

 -g 5   : for instance, give up if we fail 5 times in a row

 -S _X_ : Specify source address _X_.  Source must be a valid IP for the client computer.

 -p _X_ : Alternate method to specify port

 –fqdn : Print domain name on each line if available

 –ansi : Use ANSI color sequences (cygwin)

 –color: Use Windows color sequences

HTTP Options:

 -h     : HTTP mode (use url without http:// for server-address)

 -u     : include target URL on each line

 –post : use POST rather than GET (may avoid caching)

 –head : use HEAD rather than GET

 –proxy-server : specify a proxy server 

 –proxy-port   : specify a proxy port 

 –proxy-credentials : specify 'Proxy-Authorization: Basic' header in format username:password

Debug Options:

 -f     : force tcping to send at least one byte

 –header : include a header with original args and date.  Implied if using –tee.

 –block  : use a 'blocking' socket to connect.  This prevents -w from working and uses the

            default timeout (as long as 20 seconds in my case).  However it can detect an actively

            refused connection vs a timeout.

If you don't pass server-port, it defaults to 80.

百度翻译:

用法:tcping[-flags]服务器地址[服务器端口]

用法(完整):tcping[-t][-d][-i间隔][-n次][-w ms][-b n][-r次][-s][-v][-j][-js大小][-4][-6][-c][-g计数][-s源地址][-s文件][-tee文件名][-h][-u][-post][-head][-proxy port端口][-proxy server服务器][-proxy credentials用户名:密码][-f]se服务器地址[服务器端口]

-t:Ping通过Control-C持续直到停止

-例如,发送5个ping

-例如,每5秒ping一次

-W 0.5:例如,等待0.5秒以获得响应

-D:包括每行的日期和时间

-B 1:启用蜂鸣音(1表示开向下,2表示开向上,

3换1,4换1)

-例如,每隔5次ping就重新配置主机名

-S:成功ping时自动退出

-v:打印版本并退出

-J:包括抖动,使用默认滚动平均值

-JS5:包括抖动,滚动平均大小为(例如)5。

–tee:将输出镜像到“–tee”后面指定的文件名

–附加:附加到–tee文件名,而不是覆盖它

-4:首选IPv4

-6:首选IPv6

-C:仅在更改状态下显示输出行

–文件:将“服务器地址”视为文件名,逐行遍历文件

注意:–文件与-j和-c等选项不兼容,因为它正在通过不同的目标循环

可选接受服务器端口。例如,“example.org 443”是有效的。

或者,使用-p为文件中的所有内容强制命令行上的端口。

-例如,如果我们连续失败5次就放弃

-指定源地址。源必须是客户端计算机的有效IP。

-指定端口的替代方法

–fqdn:在每行上打印域名(如果可用)

–ansi:使用ansi颜色序列(cygwin)

–颜色:使用Windows颜色序列

HTTP选项:

-h:http模式(使用不带http://的URL作为服务器地址)

-u:在每行中包含目标URL

–post:使用post而不是get(可以避免缓存)

–头部:使用头部而不是获取

–代理服务器:指定代理服务器

–代理端口:指定代理端口

–代理凭据:以用户名:密码格式指定“代理授权:基本”头段

调试选项:

-F:强制tcping发送至少一个字节

–header:包括一个带有原始参数和日期的header。暗示如果使用–tee。

–阻塞:使用“阻塞”插座进行连接。这将阻止-w工作并使用

默认超时(在我的情况下,最长为20秒)。但是它可以主动检测

拒绝连接与超时。

如果不通过服务器端口,则默认为80。

三、PsPing

下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psping

psping 的安装和tcping(win下)一样

参数

参数 参数说明
-h 输出直方图(默认步长数量为20)
-i 指定ping包的间隔秒数,快ping则设置为0
-l 指定ping包大小,默认单位是byte。使用 k为单位代表kilobytes(KB),使用m为单位代表megabytes(MB)
-n 指定测试次数。还可以指定测试的时间长度,以秒为单位,使用时在数字后加上s,例如“10s”
-q 测试过程中不输出结果,结束后显示统计结果
-t 类似于 ICMP 的长 ping 测试,直到按下 Ctrl+C 停止测试,并显示统计结果
-w 热身次数,默认为 1 次
-4 强制使用 IPv4
-6 强制使用 IPv6

 image.png

image.png

四、paping 安装测试

下载地址:https://code.google.com/archive/p/paping/downloads

tar -xvf paping_1.5.5_x86-64_linux.tar.gz

解压到任意目录,就可以直接执行。另外 paping 命令对比 psping 命令,功能更简单、单一。它只有简单的4个参数。

-p, –port N 指定被测试服务的 TCP 端口(必须);

–nocolor 屏蔽彩色输出;

-t, –timeout 指定超时时长,单位为毫秒,默认值为 1000;

-c, –count N 指定测试次数。

五、Hping

Hping 是一个命令行下使用的 TCP/IP 数据包组装/分析工具,其命令模式很像 Unix 下的 ping 命令,但是它不仅能发送 ICMP 回应请求,它还可以支持 TCP、UDP、ICMP 和 RAW-IP 协议,它有一个路由跟踪模式,能够在两个相互包含的通道之间传送文件。Hping 常被用于检测网络和主机,其功能非常强大,可在多种操作系统下运行,如 Linux,FreeBSD,NetBSD,OpenBSD,Solaris,MacOs X,Windows。

Hping 的官方网址为http://www.hping.org/

简单安装,使用yum安装:

yum install hping3

Hping 的主要功能有:

1、防火墙测试

2、高级端口扫描

3、网络检测,可以用不同的协议、服务类型(TOS)、IP分片

4、手工探测MTU(最大传输单元)路径

5、先进的路由跟踪,支持所有的协议

6、远程操作系统探测

7、远程的运行时间探测

8、TCP/IP堆栈审计

image.png

image.png

image.png

好的工具很多,但是需要灵活使用才行,今天就BB到这里。


未经允许不得转载:天府数据港官方信息博客 » 工具分享:tcpping、tcping、psping、hping、paping

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机