前言
大家好,這里是浩道Linux,主要給大家分享Linux、Python、網(wǎng)絡(luò)通信、網(wǎng)絡(luò)安全等相關(guān)的IT知識(shí)平臺(tái)。
今天浩道跟大家分享一個(gè)linux環(huán)境下TCP測試工具!讓大家可以在Linux環(huán)境下快速進(jìn)行TCP測試,這樣遇事就不會(huì)干著急了!
測量到遠(yuǎn)程主機(jī)的網(wǎng)絡(luò)延遲的一種常用方法是使用ping應(yīng)用程序。該ping工具依賴 ICMP ECHO 請(qǐng)求和回復(fù)數(shù)據(jù)包來測量遠(yuǎn)程主機(jī)的往返延遲。但是,在某些情況下,ICMP 流量可能會(huì)被防火墻阻止,這使得該ping應(yīng)用程序?qū)τ谑芟拗频姆阑饓竺娴闹鳈C(jī)毫無用處。在這種情況下,你將需要依賴使用 TCP/UDP 數(shù)據(jù)包的第 3 層測量工具,因?yàn)檫@些第 3 層數(shù)據(jù)包更有可能繞過常見的防火墻規(guī)則。
一種這樣的第 3 層測量工具是tcpping. 為了測量延遲,tcpping利用所謂的半開放連接技術(shù),基于 TCP 三路握手。也就是說,它通過端口號(hào)(默認(rèn)為 80)向遠(yuǎn)程主機(jī)發(fā)送 TCP SYN 數(shù)據(jù)包。如果遠(yuǎn)程主機(jī)正在偵聽該端口,它將以 TCP ACK 數(shù)據(jù)包響應(yīng)。否則,它將以 TCP RST 數(shù)據(jù)包響應(yīng)。無論哪種方式,tcpping都可以通過定時(shí)傳出 SYN 數(shù)據(jù)包和傳入 ACK(或 RST)數(shù)據(jù)包來測量遠(yuǎn)程主機(jī)的往返時(shí)間 (RTT) 延遲。
在 Linux 上安裝tcpping
tcpping作為 shell 腳本實(shí)現(xiàn),該腳本響應(yīng)外部工具來執(zhí)行和報(bào)告 RTT 測量。因此,為了安裝tcpping,你首先需要先安裝這些先決條件。
安裝依賴tcptraceroute
要在 Ubuntu 或 Debian 上安裝tcptraceroute:
$sudoapt-getinstalltcptraceroute
要在 CentOS 或 RHEL 上安裝tcptraceroute,首先在你的系統(tǒng)上設(shè)置 RepoForge,然后運(yùn)行:
$sudoyuminstalltcptraceroute
安裝依賴bc
使用的另一個(gè)工具tcpping是GNUbc,它預(yù)裝在所有主要的 Linux 發(fā)行版上。但是,如果你tcpping在最小 Linux 運(yùn)行時(shí)環(huán)境(例如Docker容器、AWS 最小映像 AMI)中運(yùn)行,則bc可能不會(huì)預(yù)先安裝。在這種情況下,你需要bc自己安裝。
在Debian 的 Linux 上安裝:
$sudoapt-getinstallbc
在 Red Hat 的 Linux 上安裝:
$sudoyuminstallbc
安裝tcpping
安裝這些必備工具后,最后繼續(xù)tcpping從官方源下載。
$wgethttp://www.vdberg.org/~richard/tcpping $cptcpping/usr/bin $chmod755tcpping
使用tcpping來衡量延遲
要使用 測量網(wǎng)絡(luò)延遲tcpping,你可以使用以下格式。
tcpping[-d][-c][-rsec][-xcount]ipaddress[端口]
-d: 在每個(gè)結(jié)果之前打印時(shí)間戳。
-c: 使用分列輸出以便于解析。
-r:連續(xù)探測之間的間隔(以秒為單位)(默認(rèn)為 1 秒)。
-x: 重復(fù) n 次(默認(rèn)無限制)。
[port]: 目標(biāo)端口(默認(rèn)為 80)。
請(qǐng)注意,你需要 root 權(quán)限才能運(yùn)行,tcpping因?yàn)樗枰{(diào)用特權(quán)tcptraceroute命令。
對(duì)于任何開放 80 端口的目標(biāo) Web 服務(wù)器,你可以使用以下方法測量其 RTT 延遲tcpping。
tcppingwww.rumenz.com seq0:tcpresponsefrom42.194.162.109(42.194.162.109)33.822ms traceroutetorumenz.com(42.194.162.109),255hopsmax,60bytepackets seq1:tcpresponsefrom42.194.162.109(42.194.162.109) 33.975ms traceroutetorumenz.com(42.194.162.109),255hopsmax,60bytepackets seq2:tcpresponsefrom42.194.162.109(42.194.162.109) 32.010ms traceroutetorumenz.com(42.194.162.109),255hopsmax,60bytepackets seq3:tcpresponsefrom42.194.162.109(42.194.162.109) 32.209ms traceroutetorumenz.com(42.194.162.109),255hopsmax,60bytepackets seq4:tcpresponsefrom42.194.162.109(42.194.162.109) 30.866ms traceroutetorumenz.com(42.194.162.109),255hopsmax,60bytepackets seq5:tcpresponsefrom42.194.162.109(42.194.162.109) 34.866ms traceroutetorumenz.com(42.194.162.109),255hopsmax,60bytepackets seq6:tcpresponsefrom42.194.162.109(42.194.162.109) 32.604ms traceroutetorumenz.com(42.194.162.109),255hopsmax,60bytepackets seq7:tcpresponsefrom42.194.162.109(42.194.162.109) 30.495ms
對(duì)于任意遠(yuǎn)程主機(jī),在運(yùn)行tcpping. 要檢查遠(yuǎn)程 TCP 端口是否打開,你可以使用nc如下命令。
$nc-vn
-t: 連續(xù) TCPing ,直到使用 Ctrl+C 鍵停止
tcping-t1.1.1.180
-n 5: TCPing 5次后停止
tcping-i51.1.1.180
-w 0.5: 設(shè)置超時(shí)時(shí)間為 0.5秒(1秒=1000毫秒),單位 秒
tcping-w0.51.1.1.180
-d:在每行返回信息中加入時(shí)間信息
tcping-d1.1.1.180
-s: 當(dāng) TCPing 測試成功后(在超時(shí)時(shí)間以內(nèi)返回 TCPing 延遲數(shù)據(jù))自動(dòng)停止 TCPing
tcping-s1.1.1.180
-4: 優(yōu)先 IPv4(如果一個(gè)域名有 IPv4 和 IPv6 解析,那么走 IPv4)
tcping-s1.1.1.180
-6:優(yōu)先 IPv6(如果一個(gè)域名有 IPv4 和 IPv6 解析,那么走 IPv6)
tcping-6www.rumenz.com80
--file: TCPing 將逐行循環(huán)遍歷文件內(nèi)的 服務(wù)器IP/域名 信息(一行一個(gè),支持端口,例如:1.1.1.1 443)
tcping--filerumenz.txt
審核編輯:劉清
-
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
605瀏覽量
28452 -
GNU
+關(guān)注
關(guān)注
0文章
143瀏覽量
17832 -
Shell
+關(guān)注
關(guān)注
1文章
372瀏覽量
24127 -
TCP通信
+關(guān)注
關(guān)注
0文章
146瀏覽量
4514 -
RTThread
+關(guān)注
關(guān)注
8文章
132瀏覽量
41650
原文標(biāo)題:Linux下不會(huì)做TCP測試,遇事只能干著急!
文章出處:【微信號(hào):浩道linux,微信公眾號(hào):浩道linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
linux-arm開發(fā)環(huán)境簡單配置
linux-arm開發(fā)環(huán)境簡單配置
linux-arm開發(fā)環(huán)境簡單配置
Linux中TCP的通信過程以及實(shí)現(xiàn)方法
TCP/UDPDbg測試工具
在linux環(huán)境下搭建java web測試環(huán)境
搭建測試環(huán)境常用linux命令_linux下web測試環(huán)境的搭建

php開發(fā)環(huán)境的搭建和使用

任正非:絕對(duì)不會(huì)做有損任何國家的事情
Linux下網(wǎng)絡(luò)編程TCP并發(fā)服務(wù)器和TCP客戶端程序免費(fèi)下載

ubuntu20.04.1 64位搭建嵌入式linux開發(fā)環(huán)境

評(píng)論