是否存在一个 Linux 命令/工具可以提供本地和外部主机之间的端到端带宽信息?

是否存在一个 Linux 命令/工具可以提供本地和外部主机之间的端到端带宽信息?

CentOS 5.x

有时,我想知道我的服务器和我无法控制的外部服务器之间存在哪些一般带宽限制。是否有可以提供此信息的 Linux 命令/工具?

过去,我曾使用wget和等工具scp从传输速度摘要中获取粗略估计值(在远程服务器提供可公开访问文件的情况下)。还有其他吗?我认为没有,因为自由披露该信息可能会产生安全影响。

答案1

查看 iperf (http://iperf.sf.net)它具有客户端/服务器架构。

基本思路是,在网络路径的一侧有一台服务器,有一个或多个客户端尝试连接它。它有多种选择,如 TCP 或 UDP、单流与多流、守护进程模式等。我一直用它来测试缓冲区膨胀、持续带宽、MTU 大小、网络丢失和其他一些事情。

它还支持巨型帧和 IPv6。

当然,这假设您在两边都拥有 root 访问权限。如果不是这样,您能否向我们提供有关您的设置的更多信息?

你应该可以从以下位置获取适用于 CentOS 5 的软件包http://pkgs.org/centos-5-rhel-5/epel-x86_64/iperf-2.0.5-1.el5.x86_64.rpm.html例如,我认为它们来自 Fedora。

答案2

本身不是直接的带宽监视器,但你可以提供

traceroute

尝试一下。它将生成一个列表,列出您的数据包到达目的地所经过的位置,并且您不需要访问中间的任何跃点。它生成的列表中的 Ping 值通常表明瓶颈或问题所在。

[user@host ~]$ traceroute www.google.com
traceroute to www.google.com (173.194.78.99), 30 hops max, 60 byte packets
 1  209.85.254.92 (209.85.254.92)  74.644 ms 209.85.255.70 (209.85.255.70)  113.783 ms  113.753 ms
 2  209.85.240.221 (209.85.240.221)  118.487 ms  118.437 ms  118.395 ms
 3  72.14.236.191 (72.14.236.191)  115.771 ms 216.239.49.45 (216.239.49.45)  116.268 ms 209.85.251.231 (209.85.251.231)  161.010 ms
 4  * * 72.14.236.191 (72.14.236.191)  114.160 ms
 5  wg-in-f99.1e100.net (173.194.78.99)  160.352 ms  162.327 ms  163.890 ms

Windows 系统上存在相同的命令:

tracert

我知道这不是你真正想要的,但是,你要求的,即了解每个跳跃之间的带宽值,是无法做到的。至少是因为隐私问题。

相关内容