Jmeter也能IP欺骗!

时间:2024-07-18 18:37:50

之前有小伙伴问到jmeter有没有和loadrunner一样的ip欺骗功能,这篇文章介绍一下什么是ip欺骗,他有什么用,咱们用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欺骗都是局域网里面可以随便搞,出口始终是一个,就模拟不了了,这种就是自己欺骗自己咯。
 
Jmeter ip欺骗怎么做?
 
    Jmeter2.5版本以后才有这个功能,之前的版本是没有的,这篇文章用的jmeter是3.0的版本,其他版本ip地址参数化那里可能在别的位置,找找就好了。
    1、先把ip地址设置成手动获取的,自动获取的是不可以的,如下图:
    
Jmeter也能IP欺骗!
    2、ping几个同网段,没有用过的ip地址,加入到ip地址中,如下图:
Jmeter也能IP欺骗!
====分割线
  
Jmeter也能IP欺骗!
    3、把刚才ping的ip地址放到一个参数化文件里面。
        
Jmeter也能IP欺骗!
    4、在jmeter的里面添加一个文件参数化,读取刚才这个参数化文件。
     
Jmeter也能IP欺骗!
    5、在脚本里使用这个参数化变量。
     
Jmeter也能IP欺骗!
====分割线
Jmeter也能IP欺骗!
====分割线
Jmeter也能IP欺骗!
实验!
刚才上面咱们操作的都是在jmeter上操作的,也就是都是客户端发请求的,那咱们就来验证一下我刚才说的两种情况,在局域网下面和外网上面ip的欺骗。
先做准备工作,我先做了两个脚本,一个访问局域网里的web服务,一个脚本访问外网的besttest官网,然后发请求,分别看web服务的日志和besttest官网的日志,看看ip都是什么。
1、脚本准备,把ip参数化4个,这样多个ip更能看出效果
2、调用脚本,看服务端日志。
下面是操作的截图。
脚本截图:
Jmeter也能IP欺骗!
Jmeter也能IP欺骗!
    然后咱们脚本都迭代10次,分别看服务端的日志,看每次访问的ip都是什么。
    
Jmeter也能IP欺骗!
======分割线
Jmeter也能IP欺骗!
从上面的日志截图可以看出来,局域网访问的时候,的确是可以使用ip欺骗里面的模拟多个ip的,但是用外网的时候就没效果了。
从上面的操作大家也可以看出来ip欺骗的实质,具体场景具体应用,希望可以帮助到大家~