無論是服務器/客戶機 最常用的就是ping命令,但ping命令只能檢測ICMP協議,若對方禁止ping協議了,自然ping命令也就無法檢測了,此時,我們可以通過tcping工具以tcp/udp協議方式來代替ping命令檢測網絡延遲狀況,於此同時,我們還可以監聽對方開放了哪些端口等信息;
windos下:
1、安裝tcping工具
去官網下載tcping工具(根據自身系統選擇32位/64位)https://elifulkerson.com/projects/tcping.php
注:下載對應32位或64位的exe文件,后將文件放到 c:\windows\system32\ 目錄下面(如果下載的是64位的要把文件名改為tcping.exe 反之使用的時候要輸入 tcping64 )然后在命令下輸入tcping 如果出現幫助文檔說明安裝命令成功。
測試:檢測某服務器rsync服務端口是否通暢
tcping -d -t 192.168.43.117 873
windos--tcping 參數如下:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-4,優先使用IPv4
-6,優先使用IPv6
-h,使用http模式
-t,讓命令持續運行,直到使用ctrl + c指令退出
-n 數字,發送命令的次數,默認4次,tecping -n 6 www.baidu.com 會tcping 百度6次,也可以跟其他數字。
-i 數字,發送ping命令的時間間隔,默認1s,可以為小數
-w 數字,等待響應的時間間隔,默認2s,可以為小數
-d 使輸出的每一行顯示時間和日期
-f 強制ping命令至少發送一個比特(byte)
-g 數字,失敗指定次就放棄(注意默認是80端口,若其他端口沒開也算失敗)
-b 數字,開啟蜂鳴器,參數4會一直響鈴,tcping -b 4 www.baidu.com
-c 只顯示改變的信息(ping時間很短一般不會改變)
-r 數字,每發送指定個數據包,就重新查找主機一次(通過DNS或路由查找)
-s ping通就立即退出
-u 與-h命令連用,每一行輸出目標的url
-v 顯示版本信息
-j 使用默認的方法,求ping的均值減小波動,網絡有一定的不穩定性時,用此參數可以減小波動
-js 數字,用指定個實例求平均值減小波動,使用這個參數,系統會tcping 指定次,然后求出平均值作為一次結果顯示,減小波動
–tee file_path,將結果輸出到指定位置,tcping –tee /data/test.txt192.168.0.100,會把ping的結果保存在/data下的test文件中
–file 從文件中獲得ping的來源;在/data下新建一個test.txt文件,並輸入要tcping的所有ip或域名,一行一個,然后執行命令tcping –file /data/test.txt,就會依次tcping文件中指定的地址
destination 可以是DNS地址、IP地址、URL(需要使用-h,http模式)。使用http模式時,不要加https//或:port,例如:tcping http://www.jd.com:80l就會失敗,使用tcping www.jd.com 8080就會成功
port 數字 指定tcp端口(1-65535),如果不指定,默認是80
–header 在頭部顯示時間和日期,與–tee顯示的格式差不多
–block tcping不通的等待時間,默認是20秒(很長)。–block可以把-w參數沖突掉 ,例如tcping --block www.baiu.com網址不正確,顯然tcpping不通,默認會等待20s 。 tcping -w 0.5 –block www.baiu.com還是會等20s,而不是0.5s,因為–block選項會把-w選項沖突掉。
-------------------
HTTP模式參數
–post 在http模式中,使用post方法
–head 在http模式中,使用head方法
–get Shorthand to invoke “http” mode for consistency’s sake.
–proxy-server 指定代理服務
–proxy-port 指定代理服務端口
–proxy-credentials username:password 使用代理的安全驗證,需要輸入用戶名和密碼
------------
返回值
如果所有的pings是成功的,返回0;如果所有ping都失敗,返回1;混合結果,返回2
詳情見官網: http://www.elifulkerson.com/projects/tcping.php
----------------------------------------------------------------------------------------------------------
linux系統下tcping介紹:
tcpping 工具工作在 TCP 層,通過發送偽造的 TCP SYN 包並偵聽來自服務器或中間設備返回的 SYN/ACK 或 RST 。代碼100多行,源代碼在此鏈接http://www.vdberg.org/~richard/tcpping,tcpping需要調用tcptraceroute。打印與ping近乎相同測試結果,tcping的介
紹參考鏈接http://www.vdberg.org/~richard/tcpping.html,這個是Richard van den Berg在2002年編寫的,作者當時需要測量TCP往返時間。所以寫了這個腳本。tcpping只支持Linux。
語法:
Usage: tcping [-q] [-t timeout_sec] [-u timeout_usec] <host> <port>
參數:
-d 在每個結果輸出前打印時間戳
-c 將結果輸出在一列
-C 輸出與fping的-C選項相同的打印格式
-w Wait time in seconds (defaults to 3)
-r -r n:每n秒重復一次(默認1)
-x 重復n次(默認無限)
安裝:
wget https://sources.voidlinux.eu/tcping-1.3.5/tcping-1.3.5.tar.gz
tar zxvf tcping-1.3.5.tar.gz
cd tcping-1.3.5/
#如果沒有安裝gcc,安裝一下gcc
yum install gcc
gcc -o tcping tcping.c
cp tcping /usr/bin
#使用一下
tcping www.baidu.com 80