• <dd id="hdgin"><track id="hdgin"></track></dd>
  • <em id="hdgin"><tr id="hdgin"></tr></em>
  • <th id="hdgin"><track id="hdgin"><noframes id="hdgin"></noframes></track></th>
        <rp id="hdgin"><ruby id="hdgin"></ruby></rp>

        <legend id="hdgin"><noscript id="hdgin"><video id="hdgin"></video></noscript></legend>
          <dd id="hdgin"><track id="hdgin"></track></dd>
            首頁 運維干貨Linux下的TCP測試工具

            Linux下的TCP測試工具

            運維派隸屬馬哥教育旗下專業運維社區,是國內成立最早的IT運維技術社區,歡迎關注公眾號:yunweipai
            領取學習更多免費Linux云計算、Python、Docker、K8s教程關注公眾號:馬哥linux運維

            如何在 Linux 上安裝 tcpping

            Linux下的TCP測試工具插圖

            測量到遠程主機的網絡延遲的一種常用方法是使用ping應用程序。該ping工具依賴 ICMP ECHO 請求和回復數據包來測量遠程主機的往返延遲。但是,在某些情況下,ICMP 流量可能會被防火墻阻止,這使得該ping應用程序對于受限制的防火墻后面的主機毫無用處。在這種情況下,你將需要依賴使用 TCP/UDP 數據包的第 3 層測量工具,因為這些第 3 層數據包更有可能繞過常見的防火墻規則。

            一種這樣的第 3 層測量工具是tcpping. 為了測量延遲,tcpping利用所謂的半開放連接技術,基于 TCP 三路握手。也就是說,它通過端口號(默認為 80)向遠程主機發送 TCP SYN 數據包。如果遠程主機正在偵聽該端口,它將以 TCP ACK 數據包響應。否則,它將以 TCP RST 數據包響應。無論哪種方式,tcpping都可以通過定時傳出 SYN 數據包和傳入 ACK(或 RST)數據包來測量遠程主機的往返時間 (RTT) 延遲。

            在 Linux 上安裝tcpping

            tcpping作為 shell 腳本實現,該腳本響應外部工具來執行和報告 RTT 測量。因此,為了安裝tcpping,你首先需要先安裝這些先決條件。

            安裝依賴 tcptraceroute

            要在 Ubuntu 或 Debian 上安裝tcptraceroute:

            $ sudo apt-get install tcptraceroute
            

            要在 CentOS 或 RHEL 上安裝tcptraceroute,首先在你的系統上設置 RepoForge,然后運行:

            $ sudo yum install tcptraceroute 
            

            安裝依賴 bc

            使用的另一個工具tcpping是GNUbc,它預裝在所有主要的 Linux 發行版上。但是,如果你tcpping在最小 Linux 運行時環境(例如Docker容器、AWS 最小映像 AMI)中運行,則bc可能不會預先安裝。在這種情況下,你需要bc自己安裝。

            在Debian 的 Linux 上安裝:

            $ sudo apt-get install bc  
            

            在 Red Hat 的 Linux 上安裝:

            $ sudo yum install bc
            

            安裝 tcpping

            安裝這些必備工具后,最后繼續tcpping從官方源下載。

            $ wget http://www.vdberg.org/~richard/tcpping   
            $ cp tcpping /usr/bin   
            $ chmod 755 tcpping
            

            使用tcpping來衡量延遲

            要使用 測量網絡延遲tcpping,你可以使用以下格式。

            tcpping [-d] [-c] [-r sec] [-x count] ipaddress [端口]  
            
            • -d: 在每個結果之前打印時間戳。
            • -c: 使用分列輸出以便于解析。
            • -r:連續探測之間的間隔(以秒為單位)(默認為 1 秒)。
            • -x: 重復 n 次(默認無限制)。
            • [port]: 目標端口(默認為 80)。

            請注意,你需要 root 權限才能運行,tcpping因為它需要調用特權tcptraceroute命令。

            對于任何開放 80 端口的目標 Web 服務器,你可以使用以下方法測量其 RTT 延遲tcpping。

            tcpping www.rumenz.com  
            seq 0: tcp response from 42.194.162.109 (42.194.162.109) <syn,ack>  33.822 ms  
            traceroute to rumenz.com (42.194.162.109), 255 hops max, 60 byte packets  
            seq 1: tcp response from 42.194.162.109 (42.194.162.109) <syn,ack>  33.975 ms  
            traceroute to rumenz.com (42.194.162.109), 255 hops max, 60 byte packets  
            seq 2: tcp response from 42.194.162.109 (42.194.162.109) <syn,ack>  32.010 ms  
            traceroute to rumenz.com (42.194.162.109), 255 hops max, 60 byte packets  
            seq 3: tcp response from 42.194.162.109 (42.194.162.109) <syn,ack>  32.209 ms  
            traceroute to rumenz.com (42.194.162.109), 255 hops max, 60 byte packets  
            seq 4: tcp response from 42.194.162.109 (42.194.162.109) <syn,ack>  30.866 ms  
            traceroute to rumenz.com (42.194.162.109), 255 hops max, 60 byte packets  
            seq 5: tcp response from 42.194.162.109 (42.194.162.109) <syn,ack>  34.866 ms  
            traceroute to rumenz.com (42.194.162.109), 255 hops max, 60 byte packets  
            seq 6: tcp response from 42.194.162.109 (42.194.162.109) <syn,ack>  32.604 ms  
            traceroute to rumenz.com (42.194.162.109), 255 hops max, 60 byte packets  
            seq 7: tcp response from 42.194.162.109 (42.194.162.109) <syn,ack>  30.495 ms  
            

            對于任意遠程主機,在運行tcpping. 要檢查遠程 TCP 端口是否打開,你可以使用nc如下命令。

            $ nc -vn <ip-address> <port-number> 
            

            -t: 連續 TCPing ,直到使用 Ctrl+C 鍵停止

            tcping -t 1.1.1.1 80 
            

            -n 5: TCPing 5次后停止

            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 -s 1.1.1.1 80 
            

            -6:優先 IPv6(如果一個域名有 IPv4 和 IPv6 解析,那么走 IPv6)

            tcping -6 www.rumenz.com 80
            

            –file: TCPing 將逐行循環遍歷文件內的 服務器IP/域名 信息(一行一個,支持端口,例如:1.1.1.1 443)

            tcping --file rumenz.txt
            

            本文鏈接:http://m.abandonstatusquo.com/40904.html

            網友評論comments

            發表評論

            您的電子郵箱地址不會被公開。

            暫無評論

            Copyright ? 2012-2022 YUNWEIPAI.COM - 運維派 京ICP備16064699號-6
            掃二維碼
            掃二維碼
            返回頂部
            久久久久亚洲国内精品|亚洲一区二区在线观看综合无码|欧洲一区无码精品色|97伊人久久超碰|一级a爱片国产亚洲精品