将 JMETER 请求发送到 IP 地址错误

时间:2021-02-22 03:02:44

标签: http jmeter ip

我正在 Windows 机器上运行我的 JMETER 测试,并希望将请求发送到另一个 IP 地址。

在 JMETER 中,高级选项下的 Http 请求,我选择了“IP/主机名”并添加了 IP 地址。 我还将目标 IP 添加到我机器的“高级 TCP/IP 设置”中,但仍然出现此错误:

java.net.BindException: Cannot assign requested address: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.Socket.bind(Unknown Source)
at 

org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:72) 在 org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) 在 org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$JMeterDefaultHttpClientConnectionOperator.connect(HTTPHC4Impl.java:331) 在 org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:373) 在 org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:394) 在 org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237) 在 org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185) 在 org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) 在 org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) 在 org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) 在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) 在 org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:832) 在 org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:570) 在 org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:67) 在 org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1231) 在 org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1220) 在 org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622) 在 org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546) 在 org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486) 在 org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253) 在 java.lang.Thread.run(Unknown Source)

是否有人可以帮助解决此问题,以及可能导致此错误的原因。

谢谢。

1 个答案:

答案 0 :(得分:0)

根据 BindException 描述:

<块引用>

尝试将套接字绑定到本地地址和端口时发生错误的信号。通常,端口正在使用中,或者无法分配请求的本地地址

您所做的是更改源 IP 地址(又名 IP spoofing),这种技术将您的 IP 地址替换为另一个(或别名),允许 JMeter 模拟来自不同的IP地址,默认情况下它只会使用一个IP

如果您想向 IP 地址发送请求 - 您不需要在 JMeter 或操作系统配置中更改任何内容,只需将 IP 地址放入 HTTP 请求采样器的“服务器名称或 IP”字段(或HTTP Request Defaults) 就是这样:

enter image description here