Linux의 TCP 테스트 도구

WBOY
풀어 주다: 2024-02-11 23:48:28
앞으로
731명이 탐색했습니다.

Linux에 tcpping을 설치하는 방법

원격 호스트에 대한 네트워크 대기 시간을 측정하는 일반적인 방법은 제한된 방화벽 뒤에 있는 호스트에 쓸모가 없는 ping应用程序。该ping工具依赖 ICMP ECHO 请求和回复数据包来测量远程主机的往返延迟。但是,在某些情况下,ICMP 流量可能会被防火墙阻止,这使得该ping 애플리케이션을 사용하는 것입니다. 이 경우 TCP/UDP 패킷을 사용하는 레이어 3 측정 도구에 의존해야 합니다. 이러한 레이어 3 패킷은 일반적인 방화벽 규칙을 우회할 가능성이 더 높기 때문입니다.

Linux의 TCP 테스트 도구

이러한 레이어 3 측정 도구 중 하나는 tcpping. 为了测量延迟,tcpping利用所谓的半开放连接技术,基于 TCP 三路握手。也就是说,它通过端口号(默认为 80)向远程主机发送 TCP SYN 数据包。如果远程主机正在侦听该端口,它将以 TCP ACK 数据包响应。否则,它将以 TCP RST 数据包响应。无论哪种方式,tcpping나가는 SYN 패킷과 들어오는 ACK(또는 RST) 패킷의 시간을 측정하여 원격 호스트의 왕복 시간(RTT) 대기 시간을 측정할 수 있는 것입니다.

Linux에 설치tcpping

tcpping作为 shell 脚本实现,该脚本响应外部工具来执行和报告 RTT 测量。因此,为了安装tcpping 먼저 이러한 필수 구성 요소를 설치해야 합니다.

종속성 설치 tcptraceroute

Ubuntu 또는 Debiantcptraceroute에 설치하려면:

으아악

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:lxlinux.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!