Linux での TCP テスト ツール

WBOY
リリース: 2024-02-11 23:48:28
転載
731 人が閲覧しました

Linux に tcpping をインストールする方法

リモート ホストへのネットワーク遅延を測定する一般的な方法は、ping アプリケーションを使用することです。 ping ツールは、ICMP ECHO 要求および応答パケットに依存して、リモート ホストの往復遅延を測定します。ただし、場合によっては、ICMP トラフィックがファイアウォールによってブロックされ、制限されたファイアウォールの背後にあるホストでは ping アプリケーションが役に立たなくなることがあります。この場合、これらのレイヤー 3 パケットは一般的なファイアウォール ルールをバイパスする可能性が高いため、TCP/UDP パケットを使用するレイヤー 3 測定ツールに依存する必要があります。

Linux での TCP テスト ツール

そのようなレイヤー 3 測定ツールの 1 つが tcpping です。レイテンシを測定するために、tcpping は、いわゆる セミオープン接続テクノロジ を利用します。 TCP スリーウェイ ハンドシェイクについて。つまり、ポート番号 (デフォルトは 80) を介して TCP SYN パケットをリモート ホストに送信します。リモート ホストがそのポートでリッスンしている場合、TCP ACK パケットで応答します。それ以外の場合は、TCP RST パケットで応答します。いずれの場合でも、tcpping は、送信 SYN パケットと受信 ACK (または RST) パケットのタイミングを計ることにより、リモート ホストのラウンドトリップ時間 (RTT) 遅延を測定できます。

Linux へのインストールtcpping

tcpping外部ツールに応答して RTT 測定を実行および報告するシェル スクリプトとして実装されます。したがって、tcpping をインストールするには、まずこれらの前提条件をインストールする必要があります。

インストールの依存関係 tcptraceroute

Ubuntu または Debian にインストールするには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)   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  
ログイン後にコピー

对于任意远程主机,在运行tcpping. 要检查远程 TCP 端口是否打开,你可以使用nc如下命令。

$ nc -vn   
ログイン後にコピー

-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
ログイン後にコピー

以上がLinux での TCP テスト ツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lxlinux.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!