如何指定 iperf 客户端端口



有没有办法强制iperf客户端使用特定的端口号作为其传出端口,而不是让iperf

选择随机端口使用?

iperf 3 用户文档 https://iperf.fr/iperf-doc.php 显示您可以使用--cport <port>-B --bind选项分配特定的客户端端口。查看 iperf3 用户文档以获取更多详细信息。下面是使用客户端端口号 5500 的示例。

服务器在 10.0.0.2 上运行:

> iperf3 -s 

客户端在 10.0.0.1 上运行:

> iperf3 -c 10.0.0.2 -B 10.0.0.1 --cport 5500
-p, --port #    $IPERF_PORT The server port for the server to listen on and the client to connect to. This should be the same in both client and server. Default is 5001, the same as ttcp.

-p 选项表示要在客户端或服务器中使用的端口 #。然后,您需要将相同的端口设置为服务器端和客户端站点。

例如服务器

iperf -s -p 10000

客户

iperf -c SERVER_IP -p 10000 -t60

实际上,这两个答案都不正确:它们指定了目标端口,而不是客户端端口。似乎客户端端口是随机的(但在一次运行中是一致的),没有办法指定它

更新 2019:最新版本 --cport 选项以指定客户端端口

iperf -c <remoteip> --port <remoteport> -B <localbindip>:<localbindport>

我已经能够使用上述方法做到这一点。

这是我在特定主机(224.25.7.0)和端口(25700)上为我解决它的方式:

每台计算机上的sudo apt install perf

在侦听端 (10.14.17.14):

iperf -s -u -B 224.25.7.0%eno1 -i 1 -p 25700

eno1 是接口名称(可以替换为机器的 IP 地址)

在发送端 (10.14.17.13):

iperf -c 224.25.7.0 -u --ttl 5 -t 5 -B 10.14.17.13 -p 25700

码头工人

要在 docker 容器或 k8s pod 中进行测试,您可以使用 bagoulla/iperf 映像:

sudo docker run --net=host --rm bagoulla/iperf:2.0 -s -u -B 224.25.7.0%eno1 -i 1 -p 25700

您可以将参数替换为您需要的任何内容

尝试:服务器端-

iperf -s -i1 -fm -w512k -p1

客户端-

iperf -c <ipadr> -i1 -fm -w512k -p1

-p 选项指示端口号。

相关内容

  • 没有找到相关文章

最新更新