Jmeter之IP欺骗
ip欺骗是什么?
ip欺骗就是模拟ip。什么意思呢,一个电脑就只有一个ip地址,当然如果有多块网卡的话,会有多个ip地址,一般服务器上有个网卡,咱们自己的电脑一般都只有一个ip地址,但是你做压测的时候有的系统为了防止恶意刷请求,服务端会判断每个请求过来的ip是不是同一个,如果同一个ip地址在一段时间内频繁请求的话,就把这个ip给封了。这样的情况下你做压测的时候就会受到影响了,因为你的电脑就只有一个ip地址,所有的请求发过去都只是一个ip地址,这种情况下就需要用到ip欺骗了,这样请求发过去的ip地址就不是同一个了,就能解决这样的问题了。ip欺骗就是在这种情况下使用的。
ip欺骗真的有用吗?
ip欺骗,叫ip欺骗,欺骗那就是假的。分两种情况,一种情况下ip欺骗有用,另一种情况下,ip欺骗没用,就只是欺骗自己罢了。
第一种情况,内网压测:
内网压测的话,ip欺骗是有用的,ip欺骗是在局域网里面找一些没有被使用过的ip地址,然后以这些ip地址发请求过去,这样的话,服务端接收到的ip地址,都是你局域网里面的ip,它的确是模拟了其他ip的。
第二种情况,外网压测:
外网压测,外网压测的话,就是把咱们的系统部署到外网上了,所有的人都可以访问,那这样的话,ip欺骗模拟的ip还是局域网里面的那些ip,你公司里面整个网络的出口都是一样的,比如说你们公司是联通的网络,拉了一条网线,那么整个公司的人,发出去的请求都是一个出口,就是这一个网线的出口出去的,就只有一个外网的ip地址了,那么你再怎么ip欺骗都是局域网里面可以随便搞,出口始终是一个,就模拟不了了,这种就是自己欺骗自己咯。
1.首先获取一些闲置的ip地址,且必须为固定地址,不能是自动获取的地址,方法:可以ping下哪些ip没有用,没有用的可以拿来用
cmd→ping ip地址
2.打开网络共享中心→本地连接→点击链接的网络查看→属性→Internet协议版本4→属性→高级→添加多个IP地址
注意:一定要注意只能在一个局域网上进行设置,如链接vpn等,需另外设置
3.新建txt参数文件,输入不同的IP并保存为ip.txt(文件名字随意),如图:
4.打开jmeter脚本,将step的【逻辑控制器】改为【简单控制器】,避免造成step中的循环次数与线程组中的循环设置产生冲突
5.添加CVS Data Set Config
6.在【CVS Data Set Config】设置参数化信息:
Filename:参数文件的路径(如:E:\jmeter\script\ip.txt)
Variable Names(comma-delimited):参数名称(如:ipadress)
Delimiter(use '\t' for tab):参数的分隔符,用英文逗号即可
7.将所有的【Sampler的Implementation】都修改为【HttpClient4】
8.将HTTP请求页面切换到【Advanced】设置页面,设置【source address】为【IP/Hostname】
9.在后面添加【CVS Data Set Config】设置好的参数名称:${ipadress}
10.添加结果树,推行报告等,运行查看
11.也可以使用【cmd→netstat -an】查看ip的使用情况
如修改ip后链接不上网:请检查是否是同一个局域网,
每天一点点,感受自己存在的意义。