11

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

4

6 回答 6

8

iperf 3 用户文档https://iperf.fr/iperf-doc.php--cport <port>显示您可以使用and-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
于 2016-08-05T15:39:56.120 回答
6

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

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

于 2014-01-30T11:15:14.127 回答
4
-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
于 2013-10-07T08:48:04.530 回答
3
iperf -c <remoteip> --port <remoteport> -B <localbindip>:<localbindport>

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

于 2018-07-30T15:04:16.890 回答
0

这就是我在特定主机(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

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

于 2021-12-20T23:20:59.143 回答
-2

尝试:服务器端-

iperf -s -i1 -fm -w512k -p1

客户端-

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

-p 选项表示端口号。

于 2012-09-02T15:15:36.133 回答