[导读]:在日常玩服务器过程中,我们经常需要测试一下IP或者域名的延迟,一般直接PING 域名或IP即可~ 这种 PING 实际上走的是ICMP协议,其实我们用的最多的是TCP协议。如果直接测试TC...
在日常玩服务器过程中,我们经常需要测试一下IP或者域名的延迟,一般直接PING 域名或IP即可~
这种 PING 实际上走的是ICMP协议,其实我们用的最多的是TCP协议。如果直接测试TCP协议的网络延迟,应该是更准确的!
下面本文介绍一款工具,TCPing,不仅可以使用TCP协议的延迟,还能检测端口的连通情况。对于一些禁PING的域名或者IP,我可以直接利用TCPing来查看延迟情况!
Windows版
下载地址:https://www.elifulkerson.com/projects/tcping.php
安装步骤:下载 tcping.exe 文件到 C:\Windows\System32\ 即可!
命令介绍:打开CMD命令控制台,输入 tcping
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
NAME
tcping - simulate "ping" over tcp by establishing a connection to network hosts.
Measures the time for your system to [SYN], receive the target's [SYN][ACK] and send [ACK]. Note that the travel time for
the last ACK is not included - only the time it takes to be put on the wire a tthe sending end.
SYNOPSIS
tcping [-tdsvf46] [-i interval] [-n times] [-w interval] [-b n] [-r times][-j depth] [--tee filename] [-f] destination [port]
DESCRIPTION
tcping measures the time it takes to perform a TCP 3-way handshake (SYN, SYN/ACK, ACK) between itself and a remote host.
The travel time of the outgoing final ACK is not included, only the (minimal) amount of time it has taken to drop it on
the wire at the near end. This allows the travel time of the (SYN, SYN/ACK) to approximate the travel time of the
ICMP (request, response) equivalent.
OPTIONS
-4 Prefer using IPv4
-6 Prefer using IPv6
-t ping continuously until stopped via control-c
-n count
send _count_ pings and then stop. Default 4.
-i interval
Wait _interval_ seconds between pings. Default 1. Decimals permitted.
-w interval
Wait _interval_ seconds for a response. Default 2. Decimals permitted.
-d include date and time on every output line
-f Force sending at least one byte in addition to making the connection.
-g count
Give up after _count_ failed pings.
-b type
Enable audible beeps.
'-b 1' will beep "on down". If a host was up, but now its not, beep.
'-b 2' will beep "on up". If a host was down, but now its up, beep.
'-b 3' will beep "on change". If a host was one way, but now its the other, beep.
'-b 4' will beep "always".
-c only show output on a changed state
-r count
Every _count_ pings, we will perform a new DNS lookup for the host in case it changed.
-s Exit immediately upon a success.
-v Print version and exit.
-j Calculate jitter. Jitter is defined as the difference between the last response time and the historical average.
-js depth
Calculate jitter, as with -j but with an optional _depth_ argument specified. If _depth_ is specified tcping will
use the prior _depth_ values to calculate a rolling average.
--tee _filename_
Duplicate output to the _filename_ specified. Windows can still not be depended upon to have a useful command line
environment. Don't tease me, *nix guys.
--append
When using --tee, append to rather than overwrite the output file.
--file
Treat the "destination" option as a filename. That file becomes a source of destinations, looped through on a
line by line basis. Some options don't work in this mode and statistics will not be kept.
destination
A DNS name, an IP address, or (in "http" mode) a URL.
Do not specify the protocol ("http://") in "http" mode. Also do not specify server port via ":port" syntax.
For instance: "tcping http://www.elifulkerson.com:8080/index.html" would fail
Use the style: "tcping www.elifulkerson.com/index.html 8080" instead.
port
A numeric TCP port, 1-65535. If not specified, defaults to 80.
--header
include a header with the command line arguments and timestamp. Header is implied if using --tee.
HTTP MODE OPTIONS
-h Use "http" mode. In http mode we will attempt to GET the specified document and return additional values including
the document's size, http response code, kbit/s.
-u In "http" mode, include the target URL on each output line.
--post Use POST instead of GET in http mode.
--head Use HEAD instead of GET in http mode.
--get Shorthand to invoke "http" mode for consistency's sake.
--proxy-server _proxyserver_
Connect to _proxyserver_ to request the url rather than the server indicated in the url itself.
--proxy-port _port_
Specify the numeric TCP port of the proxy server. Defaults to 3128.
--proxy-credentials username:password
Specify a username:password pair which is sent as a 'Proxy-Authorization: Basic' header.
RETURN VALUE
tcping returns 0 if all pings are successful, 1 if zero pings are successful and 2 for mixed outcome.
BUGS/REQUESTS
Please report bugs and feature requests to the author via contact information on http://www.elifulkerson.com
AVAILABILITY
tcping is available at http://www.elifulkerson.com/projects/tcping.php
Examples:
C:\ tcping www.elifulkerson.com
Probing 64.22.103.201:80/tcp - Port is open - time=25.739ms
Probing 64.22.103.201:80/tcp - Port is open - time=21.842ms
Probing 64.22.103.201:80/tcp - Port is open - time=27.701ms
Probing 64.22.103.201:80/tcp - Port is open - time=27.489ms
Ping statistics for 64.22.103.201:80
4 probes sent.
4 successful, 0 failed.
Approximate trip times in milli-seconds:
Minimum = 21.842ms, Maximum = 27.701ms, Average = 25.693ms
C:\tcping -h www.elifulkerson.com
** Requesting "" from www.elifulkerson.com:
(for various reasons, kbit/s is an approximation)
Probing 64.22.103.201:80/tcp - HTTP is open - time=31.288ms rcv_time=31.951 status=200 bytes=4052 kbit/s=~1014.554
Probing 64.22.103.201:80/tcp - HTTP is open - time=29.553ms rcv_time=30.947 status=200 bytes=4052 kbit/s=~1047.479
Probing 64.22.103.201:80/tcp - HTTP is open - time=29.871ms rcv_time=31.727 status=200 bytes=4052 kbit/s=~1021.728
Probing 64.22.103.201:80/tcp - HTTP is open - time=29.976ms rcv_time=36.002 status=200 bytes=4052 kbit/s=~900.393
Ping statistics for 64.22.103.201:80
4 probes sent.
4 successful, 0 failed.
Approximate trip times in milli-seconds:
Minimum = 29.553ms, Maximum = 31.288ms, Average = 30.172ms
|
使用技巧:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
tcping [命令参数] 服务器地址(IP/域名) [服务器端口]
-t : 连续 TCPing ,直到使用 Ctrl+C 键停止
示例:tcping -t 1.1.1.1 80
-n 5 : TCPing 5次后停止
示例:tcping -n 5 1.1.1.1 80
-i 5 : 每隔 5秒 TCPing 一次
示例:tcping -i 5 1.1.1.1 80
-w 0.5 : 设置超时时间为 0.5秒(1秒=1000毫秒),单位 秒
示例:tcping -w 0.5 1.1.1.1 80
-d : 在每行返回信息中加入时间信息
示例:tcping -d 1.1.1.1 80
-s : 当 TCPing 测试成功后(在超时时间以内返回 TCPing 延迟数据)自动停止 TCPing
示例:tcping -s 1.1.1.1 80
-4 : 优先 IPv4(如果一个域名有 IPv4 和 IPv6 解析,那么走 IPv4)
示例:tcping -4 www.google.com 80
-6 : 优先 IPv6(如果一个域名有 IPv4 和 IPv6 解析,那么走 IPv6)
示例:tcping -6 www.google.com 80
--file : TCPing 将逐行循环遍历文件内的 服务器IP/域名 信息(一行一个,支持端口,例如:1.1.1.1 443)
示例:tcping --file D:\abc\1.txt
-v : 显示版本号
示例:tcping -v
# 如果你没有写服务器地址的端口,那么默认为 80 端口
# 其实还有很多命令参数,只是大都用不上,所以省略了
|
Linux版
Linux平台中类似的工具非常多,比如nping , nc 等~
这里我们介绍一款比较轻量的TCPing工具~~~
1
2
3
4
5
6
7
8
|
先用apt或者yum安装tcptraceroute bc这两个工具,然后执行
yum install -y tcptraceroute
yum install -y bc
cd /usr/bin
wget http://www.vdberg.org/~richard/tcpping
chmod +x tcpping
mv tcpping tcping
|
1
2
3
4
5
6
7
8
9
10
11
12
|
tcpping v1.7 Richard van den Berg <richard@vdberg.org>
Usage: tcping [-d] [-c] [-C] [-w sec] [-q num] [-x count] ipaddress [port]
-d print timestamp before every result
-c print a columned result line
-C print in the same format as fping's -C option
-w wait time in seconds (defaults to 3)
-r repeat every n seconds (defaults to 1)
-x repeat n times (defaults to unlimited)
See also: man tcptraceroute
|
No related posts.
本文来自投稿,不代表微盟圈立场,如若转载,请注明出处:https://www.vm7.com/a/ziyuan/9319.html