IP欺骗是针对客户端地址完成的。在屏幕快照中,您试图在HOST标头中查找欺骗IP的值,该标头通常指向实际服务器主机名而不是IP。
方案1,未对IPv4字段分配任何值,并且针对myhost.test.com进行了测试
Request Headers:Connection: closeContent-Type: application/jsonContent-Length: 162Host: myhost.test.comUser-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_111)
方案2的“源地址”字段设置为10.1.153.90
Request Headers:Connection: closeContent-Type: application/jsonContent-Length: 162Host: myhost.test.comUser-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
在操作系统级别,您的操作系统将负责将针对myhost.test.com的请求发送到上面在C: Windows System32 drivers
etc hosts文件中提供的IP
要查看实际的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评估交易



