<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Linux下的TCP測試工具

          共 3182字,需瀏覽 7分鐘

           ·

          2022-03-03 09:33

          如何在 Linux 上安裝 tcpping

          測量到遠(yuǎn)程主機的網(wǎng)絡(luò)延遲的一種常用方法是使用ping應(yīng)用程序。該ping工具依賴 ICMP ECHO 請求和回復(fù)數(shù)據(jù)包來測量遠(yuǎn)程主機的往返延遲。但是,在某些情況下,ICMP 流量可能會被防火墻阻止,這使得該ping應(yīng)用程序?qū)τ谑芟拗频姆阑饓竺娴闹鳈C毫無用處。在這種情況下,你將需要依賴使用 TCP/UDP 數(shù)據(jù)包的第 3 層測量工具,因為這些第 3 層數(shù)據(jù)包更有可能繞過常見的防火墻規(guī)則。

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

          在 Linux 上安裝tcpping

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

          安裝依賴 tcptraceroute

          要在 Ubuntu 或 Debian 上安裝tcptraceroute

          $?sudo?apt-get?install?tcptraceroute

          要在 CentOS 或 RHEL 上安裝tcptraceroute,首先在你的系統(tǒng)上設(shè)置 RepoForge,然后運行:

          $?sudo?yum?install?tcptraceroute?

          安裝依賴 bc

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

          在Debian 的 Linux 上安裝:

          $?sudo?apt-get?install?bc??

          在 Red Hat 的 Linux 上安裝:

          $?sudo?yum?install?bc

          安裝 tcpping

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

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

          使用tcpping來衡量延遲

          要使用 測量網(wǎng)絡(luò)延遲tcpping,你可以使用以下格式。

          tcpping?[-d]?[-c]?[-r?sec]?[-x?count]?ipaddress?[端口]??
          • -d: 在每個結(jié)果之前打印時間戳。

          • -c: 使用分列輸出以便于解析。

          • -r:連續(xù)探測之間的間隔(以秒為單位)(默認(rèn)為 1 秒)。

          • -x: 重復(fù) n 次(默認(rèn)無限制)。

          • [port]: 目標(biāo)端口(默認(rèn)為 80)。

          請注意,你需要 root 權(quán)限才能運行,tcpping因為它需要調(diào)用特權(quán)tcptraceroute命令。

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

          tcpping?www.rumenz.com??
          seq?0:?tcp?response?from?42.194.162.109?(42.194.162.109)???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)???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)???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)???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)???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)???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)???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)???30.495?ms??

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

          $?nc?-vn???

          -t: 連續(xù) 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: 設(shè)置超時時間為 0.5秒(1秒=1000毫秒),單位 秒

          tcping?-w?0.5?1.1.1.1?80??

          -d:在每行返回信息中加入時間信息

          tcping?-d?1.1.1.1?80

          -s: 當(dāng) TCPing 測試成功后(在超時時間以內(nèi)返回 TCPing 延遲數(shù)據(jù))自動停止 TCPing

          tcping?-s?1.1.1.1?80

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

          tcping?-s?1.1.1.1?80?

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

          tcping?-6?www.rumenz.com?80

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

          tcping?--file?rumenz.txt

          文章轉(zhuǎn)載:入門小站
          (版權(quán)歸原作者所有,侵刪)

          Linux學(xué)習(xí)指南

          有收獲,點個在看?

          瀏覽 42
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  人人妻人人操裸贷 | 欧美日韩国产中文在线 | 国产美女艹逼 | 欧美精品第一页 | 91av影院在线观看 |