JMeter - Установить адрес источника HTTP (он же IP-спуфинг) не работает - PullRequest
1 голос
/ 02 октября 2019

Я хочу отправить HTTP-запрос, используя другую страну IP,

Я попытался назначить адрес источника по IP, также с HTTPClient4, и он не работает:

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.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:339)
    at org.apache.jmeter.protocol.http.sampler.hc.LazyLayeredConnectionSocketFactory.connectSocket(LazyLayeredConnectionSocketFactory.java:92)
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$JMeterDefaultHttpClientConnectionOperator.connect(HTTPHC4Impl.java:336)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:374)
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:843)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:574)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:67)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1231)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1220)
    at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622)
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546)
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253)
    at java.lang.Thread.run(Unknown Source)

Я нашел предыдущее сообщениеи ответ , но это не имеет значения, потому что HttpClient4 не работает

Так что измените «Реализация» на HttpClient4, и она должна начать работать, как и ожидалось.

Я пытался с реализацией Java и, хотя он не потерпел неудачу, он не обновил IP-адрес сервера

Я добавил в файл hosts строку с IP

1.33.213.199 localhost

Могу ли я изменить свой IP-адрес в HTTP-запросе, используя vanilla JMeter?

1 Ответ

1 голос
/ 02 октября 2019

Это работает, вы получаете сообщение об ошибке, потому что IP-адрес (или, по крайней мере, IP-псевдоним ) должен существовать в системе, чтобы Java (и JMeter) могли использоватьэто как адрес источника для установления соединения Socket .

  1. Открыть свойства сетевого подключения

    enter image description here

  2. Открыть свойства IPv4

    enter image description here

  3. Нажмите кнопку «Advanved»

    enter image description here

  4. Добавить IP-адрес (а), который вы хотите смоделировать

    enter image description here

Дополнительная информация: Использование IPПодмена для имитации запросов с разных IP-адресов с помощью JMeter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...