tcping是一款命令行程序,其操作类似于“ping”,但是它通过tcp端口工作,能够监听检测某个端口的状态和延时时间,默认是80端口,也可以指定其它端口。原作者是Eli Fulkerson。

如何安装tcping

1.首先安装homebrew

安装tcping首先需要需要有 homebrew 环境(一款Mac OS平台下的软件包管理工具),如果已经安装则可以跳过本步骤。

按Command+Space 后输入 Terminal 后,按回车启动终端。在终端中输入:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null

之后按回车,如果需要输入密码,则输入密码,输入的密码不会被显示在屏幕上,输入完毕后直接按回车即可,然后等待命令行完成。

2.通过homebrew安装tcping。安装好homebrew 环境后,在终端中输入:

brew install tcping

回车后等待命令完成后tcping即可安装成功。

tcping的用法及参数

名称

tcping - 通过建立到网络主机的连接来模拟tcp上的"ping" .
测量系统达到[SYN],接收目标的[SYN] [ACK]和发送[ACK]的时间。
需要注意的是,最后一个ACK不包括在内-仅包括发送到发送端的时间。

概要

tcping [-tdsvf46] [-i 间隔] [-n 次数] [-w 间隔] [-b n] [-r 次] [-j 深度] [--tee 文件名称] [-f] 目标 [端口]

描述

tcping测量在其自身与远程主机之间执行TCP 3种握手(SYN,SYN/ACK,ACK)所需的时间。
不包括传出最终ACK的传输时间,仅包括将其丢弃所需的(最短)时间线缆在近端。这允许(SYN,SYN/ACK)的请求,响应时间近似于相当于ICMP。

命令参数

-4 建议使用IPv4
-6 优先使用IPv6
-t 连续ping,直到通过control-c停止
-n count
        发送ping,然后停止。默认值4。
-i 间隔
        在两次ping之间等待_interval_秒。默认值1.允许使用小数。
-w 间隔
        等待_interval_秒以获取响应。默认值2。允许使用小数。
-d 在每条回显中显示日期和时间
-f 除了建立连接外,还强制发送至少一个字节。
-g 计数
        在_count_次ping失败后放弃。   
-b 类型
        启用蜂鸣声。
        “ -b 1”将“向下”发出蜂鸣声。如果主机启动了,但现在没有启动,则发出哔声。
        “ -b 2”将“响起”哔声。如果主机掉线了,但现在却掉线了,请发出哔声。
        “ -b 3”将在“更改”时发出蜂鸣声。如果主机是一种方式,但现在是另一种方式,则发出哔声。
        “ -b 4”将“总是”发出哔声。
-c 仅在更改的状态下显示输出  
-r 计数
        每次计数时,我们都会为主机执行新的DNS查找,以防主机更改。
-s 成功后立即退出。        
-v 打印版本并退出。
-j 计算抖动。抖动定义为上次响应时间与历史平均值之间的差。
-j s深度
        与-j一样计算抖动,但指定了可选的_depth_参数。如果指定_depth_ tcping将
        使用先前的_depth_值来计算滚动平均值。
--tee _文件名_
        输出重复到指定的_filename_。Windows仍不能依赖于具有有用的命令行
        环境。* nix伙计们,不要嘲笑我。
- append
        使用--tee时,追加而不是覆盖输出文件。           
- file
        将“目标”选项视为文件名。该文件成为目的地的来源,并在
        逐行 某些选项在此模式下不起作用,并且不会保留统计信息。
destination
        DNS名称,IP地址或(在“ http”模式下)URL。
        不要在“ http”模式下指定协议(“ http://”)。也不要通过“:port”语法指定服务器端口。
        例如:“ tcping http://www.elifulkerson.com:8080/index.html”将失败
        请使用以下样式:“ tcping www.elifulkerson.com/index.html 8080”。                      

port

        一个数字TCP端口,从1到65535。如果未指定,则默认为80。
--header
        包括带有命令行参数和时间戳的标头。如果使用--tee,则暗含标题。

HTTP模式选项

-h    使用“ http”模式。在http模式下,我们将尝试获取指定的文档并返回其他值,包括
        文档的大小,http响应代码,kbit / s。
-u    在“ http”模式下,在每个输出行上包括目标URL。

--post    在http模式下使用POST而不是GET。
--head    在http模式下使用HEAD而不是GET。
--get    为了简化起见,可以调用“ http”模式。

--proxy-server _proxyserver_
        连接到_proxyserver_来请求URL,而不是URL本身所指示的服务器。
--proxy-port _port_
        指定代理服务器的数字TCP端口。默认为3128
--proxy-credentials 用户名:密码
        指定一个用户名:密码对,作为“代理授权:基本”标头发送。

返回值

如果所有ping成功,则tcping返回0;如果ping零成功,则返回1;对于混合结果,返回2。