测试IP Spoofing我遵循以下步骤:
CMD
并执行nslookup www.xyz.com.asdfg-staging.net C:\Windows\System32\drivers\etc
在链接How to setup IP spoofing in jmeter?和send requests with multiple ip address to my application using apache-JMeter(IP Spoofing)中被描述为
4.运行测试,我只看到View Results Tree
监听器中的红色错误,但我没有遵循步骤#3,那么只有绿色。
我期待的是“欺骗性IP”,即我在主机文件中添加的IP地址应该出现在Request
听众的View Results Tree
标签中。
我在这里做错了什么?上面分享的教程也要求编辑IPv4属性,这对于实现我想要的东西真的是强制性的吗?
答案 0 :(得分:2)
为客户端地址执行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外部工作,并由操作系统(而非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。它将根据samplername + ipaddress
测量事务