Linux下的TCP测试工具

VSole2021-12-08 07:36:31

如何在 Linux 上安装 tcpping

测量到远程主机的网络延迟的一种常用方法是使用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)   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服务器linux系统
本作品采用《CC 协议》,转载必须注明作者和本文链接
"请用root用户执行此脚本!#最近启动时间?#运行时间(天)?#相同ID的用户?#密码过期(天)?#允许root远程登录?#僵尸进程数量?#自启动服务数量?"系统巡检脚本:Version $VERSION"
Linux的应用越来越普遍,且绝大多数嵌入式系统都使用的是Linux系统。但近期,黑客对Linux服务器进行DDoS攻击的次数飙升,受DDoS攻击影响的有70多个国家,其中77%的攻击都发生在中国,最容易受攻击的国家还有法国和荷兰。黑客主要是利用C&C 服务器来集中管理并执行DDoS攻击,Linux服务器便成了其主要的攻击目标。面对如此猖獗的黑客攻击,Linux服务器如何做好预防工作呢?部署
假如你想要搭建一个Linux服务器,并且希望可以长期维护的话,就需要考虑安全性能与速度等众多因素。一份正确的linux基本安全配置手册就显得格外重要。#为删除你系统上的用户,用下面的命令:[root@c1gstudio]# userdel username#批量删除方式#这里删除"adm lp sync shutdown halt mail news uucp operator games gopher ftp "账号#如果你开着ftp等服务可以把ftp账号保留下来。for i in adm lp sync shutdown halt mail news uucp operator games gopher ftp ;do userdel $i ;done
#更改SSH端口,最好改为10000以上,别人扫描到端口的机率也会下降。防火墙要开放配置好的端口号,如果是阿里云服务器,你还需要去阿里云后台配置开发相应的端口才可以,否则登不上哦!如果你觉得麻烦,可以不用改。#禁用版本1协议, 因为其设计缺陷, 很容易使密码被黑掉。关键在于环境变量的不同,su -的环境变量更全面。#禁止空密码登陆。保存,用 uusama 账户登录后,直接获取的就是 root 帐号的权限。
Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要目的是高效处理非交互式进程,响应时间并不是那么重要,相反,能够长时间处理高负载才是最关键的。
当企业发生网络安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,同时还需进一步查找入侵来源,还原入侵事故过程,给出解决方案与防范措施,为企业挽回或减少经济损失。 常见的网络安全事件:
SSH 是一种广泛使用的协议,用于安全地访问 Linux 服务器。但是,不安全的默认配置也会带来各种安全风险。具有开放 SSH 访问权限的服务器的 root 帐户可能存在风险。因此,有必要了解 SSH 安全性。这是在 Linux 上保护 SSH 服务器连接的方法。关闭 root 用户的服务器访问是一种防御策略,可以防止攻击者实现入侵系统的目标。例如,您可以创建一个名为exampleroot的用户,如下所示:useradd?
如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?来看Netflix性能工程团队的这篇博文,看它们通过十条命令在一分钟内对机器性能问题进行诊断。概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解。
VSole
网络安全专家