IP欺騙是爲客戶端地址完成的。在您的屏幕截圖中,您正試圖在HOST標頭中查找欺騙IP的值,該標頭通常指向實際的服務器主機名而不是IP。
方案1,沒有分配的IPv4中與現場測試值對myhost.test.com做
Request Headers:
Connection: close
Content-Type: application/json
Content-Length: 162
Host: myhost.test.com
User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_111)
方案2,具有源地址字段設置爲10.1.153.90
Request Headers:
Connection: close
Content-Type: application/json
Content-Length: 162
Host: myhost.test.com
User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_111)
**X-LocalAddress: /10.1.153.90**
對我來說,它看起來像你試圖欺騙你的服務器IP到服務提供商提供的特定IP,所以你只能像Akamai暫存環境那樣。在這種情況下,使用爲您的服務器(而不是客戶端)分配的IP來設置C:\ Windows \ System32 \ drivers \ etc \ hosts文件將在JMeter外部工作,並由OS(而不是JMeter)處理。
1.54.163.146 myhost.test.com
在OS層面,你的操作系統將發送請求的護理解決了myhost.test.com到您在上文C給IP:\ WINDOWS \ SYSTEM32 \ DRIVERS \ ETC \ hosts文件
要看到實際的IP地址,添加預處理器(BeanShell的或同等學歷),並添加以下行
import java.net.InetAddress;
InetAddress address = InetAddress.getByName("myhost.test.com");
log.info("Address=" + address.getHostAddress());
如果要衡量採取這個IP地址您的要求的時候,你可以把它放在一個變量並在採樣器名稱中加上
import java.net.InetAddress;
InetAddress address = InetAddress.getByName("myhost.test.com");
log.info("Address=" + address.getHostAddress());
vars.put("addressused", address.getHostAddress());
然後將$ {addressused}附加到您的採樣器名稱。它會根據samplername + ipaddress來測量交易
嘗試從這裏開始的步驟https://www.blazemeter.com/blog/using-ip-spoofing-simulate-requests-different-ip-addresses-jmeter。是的,您必須將IP地址添加到IPV4屬性(Adavanced選項卡 - >添加按鈕),那麼只有您可以在IP欺騙中指定那些添加的IP –
如果我放置了IP地址(在IPv4中),那麼該機器上的Internet將停止。沒有?爲什麼? – paul
我們不會在配置中保留任何隨機IP地址。IP必須表示相同的子網(如192.168或10.10)。通常情況下,路由器會爲您的機器分配一個IP地址(使用DHCP)。在我們的配置中,我們正在手動分配路由器可用的IP。 –