要测试IP欺骗,请执行以下步骤:
CMD
C:\Windows\System32\drivers\etc
如链接中所述如何在jmeter中设置IP欺骗?并[使用apache- JMeter(IP欺骗)将具有多个ip地址的请求发送到我的应用程序 。4.运行测试,我仅在View Results Tree侦听器中看到红色错误,但我不执行步骤3,所以只有绿色。
View Results Tree
我期望的是“欺骗IP”,即我在主机文件中添加的IP地址应该出现在侦听器的Request选项卡中View Results Tree。
Request
我在这里做错了什么?上面共享的教程还要求编辑IPv4属性,实现我想要的功能真的是强制性的吗?
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
在操作系统级别,您的操作系统将负责将针对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评估交易