Tcping:揭秘!禁ping设备如何巧妙测试网络延迟
|
admin
2025年1月17日 22:10
本文热度 57
|
当设备被禁止 icmp 协议通过时,可以使用 tcp 来测试网络的连通性以及延迟
TCPing
tcping 是一个类似于ping 的工具,但它用于测试 TCP 连接的可达性,而不仅仅是 ICMP(传统的 ping)连接。它通过尝试与远程主机上的指定端口建立 TCP 连接,来判断目标主机的端口是否开放且可访问。
使用方法
下载 EXE 文件
将下载的exe
文件拷贝至 C:\Windows\System32
目录下,打开 cmd
即可使用
PS:需要注意,tcping 默认使用的目标 80 端口来模拟 ping 测试,如目标未启用 80 端口则会请求失败。
也可手动指定端口测试
PS:还有一些其它的使用方法,这里就不一 一列举了,可通过tcping /? 获取详细参数。
参数解释:
NAME
tcping - 通过与网络主机建立连接来模拟“ping”操作。
测量你的系统发送 [SYN],接收目标的 [SYN][ACK] 并发送 [ACK] 所需的时间。请注意,最后一个 ACK 的传输时间不包括在内 - 只计算它在发送端被放入线路上所需的最短时间。
SYNOPSIS
tcping [-tdsvf46] [-i interval] [-n times] [-w interval] [-b n] [-r times][-j depth] [--tee filename] [-f] destination [port]
DESCRIPTION
tcping 测量执行 TCP 三次握手(SYN, SYN/ACK, ACK)与远程主机之间所需的时间。
发出最终 ACK 的传输时间不包括在内,仅包括(最小)将数据包从发送端放置到线路上所花费的时间。这使得(SYN, SYN/ACK)的往返时间可以近似于 ICMP 请求和响应的等效时间。
选项
-4 使用 IPv4
-6 使用 IPv6
-t 持续 ping 直到通过 ctrl+c 停止
-n 发送 count次 ping 后停止。默认为 4。
-i 在 pings 之间等待 _interval_ 秒。默认为 1。
-w 等待 _interval_ 秒以获得响应。默认为 2。允许小数。
-d 在每个输出行中包含日期和时间
-f 强制发送至少一个字节的数据,除了建立连接外。
-g 超过 _count_ 次失败的 ping 后放弃。
-b type
启用声音提示。
'-b 1' 将在“down”时发出提示音。如果主机之前是 up 状态,但现在不是,则发出提示音。
'-b 2' 将在“up”时发出提示音。如果主机之前是 down 状态,但现在不是,则发出提示音。
'-b 3' 将在状态改变时发出提示音。如果主机的状态发生了变化,则发出提示音。
'-b 4' 总是发出提示音。
-c 仅在状态改变时显示输出
-r 每 _count_ 次 ping 后,将执行新的 DNS 查找以应对主机可能发生变化的情况。
-s 成功后立即退出
-v 打印版本信息并退出。
-j 计算抖动。抖动定义为最后一次响应时间与历史平均值之间的差异。
-js depth
计算抖动,类似于 -j 但带有可选的 _depth_ 参数。如果指定了 _depth_, tcping 将使用之前的 _depth_ 值计算滚动平均值。
--tee _filename_
将输出复制到指定的 _filename_。Windows 仍不能依赖有用的命令行环境。不要嘲笑我,*nix 用户们。
--append
使用 --tee 时,追加到而不是覆盖输出文件。
--file
将 "destination" 选项视为文件名。该文件成为目的地的来源,并按行循环遍历。某些选项在此模式下不起作用且不会保持统计信息。
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 MODE OPTIONS
-h 使用 “http” 模式。在 http 模式下,我们会尝试获取指定文档并返回包括文档大小、http 响应代码、kbps 在内的附加值。
-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 username:password
指定作为 'Proxy-Authorization: Basic' 头发送的用户名:密码对。
RETURN VALUE
如果所有 ping 都成功,tcping 返回 0;如果零个 ping 成功,返回 1;对于混合结果返回 2。
下载地址
https://elifulkerson.com/projects/tcping.php
阅读原文:原文链接
该文章在 2025/1/18 11:08:23 编辑过