最近在忙着部署web性能测试的环境后,对IP欺骗进行设置,特地做个笔记,给自己的学习历程留下点足迹。

一. 什么是IP欺骗?

做什么事首先要问个为什么,如果知道为什么了,即使不知道如何做,简单,google it,答案总会找得到,google.cn不行,google.com总行,来自全球的搜索结果,总会有帮助。

IP spoof即IP 电子欺骗,我们可以说是一台主机设备冒充另外一台主机的IP地址,与其它设备通信,从而达到某种目的技术。 IP是网络层的一个非面向连接的协议, IP数据包的主要内容由源IP地址,目地IP地址,所传数据构成,IP的任务就是根据每个数据报文的目的地址,路由完成报文从源地址到目的地址的传送。至于报文在传送过程中是否丢失或出现差错,IP不会考虑,那是TCP的事。对IP来讲,源设备与目的设备没有什么关系,它们是相互独立的。IP包只是根据数据报文中的目的地址发送,因此借助高层协议的应用程序来伪造IP地址是比较容易实现的。

二. 为什么要设置IP欺骗?

对于某些服务器,是根据IP来分配资源,当某个IP地址访问频繁或者访问量过大时,服务器会拒绝访问,或者让你输入验证码,当然也有可能是来避免搜索引擎robot的任意爬取。

网上还有些言论是说使用更多的IP来模拟较真实的用户使用环境,来测试负载均衡技术的处理能力,但是我始终想不明白这跟那个有什么关系,如果服务器可以接受同一IP大量访问,负载均衡不照样起作用,照样可以被测试到吗?(私人观点,意见可以保留)

三. 设置前的准备工作

1. 要有局域网的环境,因为只能设置局域网内的网段;

2. 本地的IP设置不能为“自动获取”,必须指定一个静态IP。

四. 如何设置

第一步:
运行Mercury LoadRunner- Tools-IP Wizard

第二步:
选择create new setting,点击“下一步”
此时出现的页面是让输入服务器的IP地址,Loadrunner通过该地址更新路由表。
客户端计算机上添加新的IP地址后,服务器需要将该地址添加到路由表,以便能够识别返回到客户端的路由。如果服务器和客户端具有相同的子网掩码、IP 类和网络,则不需要修改服务器的路由表。如果客户端和服务器计算机之间有一个路由器,则服务器需要识别经过该路由器的路径。确保将以下路由添加到服务器路由表:从 Web 服务器到路由器的路由,以及从路由器到负载生成器计算机上的所有 IP 地址的路由。

第三步:
在输入web服务器地址的页面中输入地址后,直接点击“下一步”
进入IP添加页面,点击“add”进行添加

第四步:
在from ip 输入框中输入起始ip,在Number to输入框中输入ip地址的位数,输入正确的子网掩码,选中“verify that new ip addresses are not already used”,点击“ok”,此时IP Wizard会自动按照设置生成IP地址,并且将已经占用的IP列出。

第五步:

确认可用IP地址列表内容后,点击“ok”,此时IP Wizard提示需要重新启动计算机,点击“save as”保存IP列表,点击“ok”,重新启动计算机。

注:当保存IP地址列表后,下次启用IP欺骗时直接选择load previous setting from.....

第六步:

启用IP欺骗

选中Tools下的Expert mode,启动专家模式Expert mode,再点击Tools下的options,在Genearl选项卡中设置以线程方式或进程方式进行性能测试,这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP测试时需要选中线程方式,使用负载生成器使用虚拟IP测试时需要选中进程方式。

在controller中,选择 Scenario-〉Enable IP Spoofer,此项设置允许使用IP欺骗。

第七步:

验证IP欺骗是否有效

方法一
计算机重新启动后,在运行行中输入:CMD,在DOS命令提示符窗口中输入:IPCONFIG,此时便可看到虚拟的IP地址均已经被启用;

方法二

在脚本的Action()部分增加如下代码:

char * ip=lr_get_vuser_ip();

if(ip)

lr_vuser_status_message("The ip address is %s",ip);

else

lr_vuser_status_message("IP spoofing disabled");

然后通过控制器设置并运行场景,日志中可以看到IP地址。

第八步:

这一部很重要,如果不做这一步,很多IP地址就被占用了,可能你们网管跟你闹上了呵呵。打开IP Wizard,选择restore original settings释放所有虚拟IP。

五.误区及答疑

到现在为止,IP spoofer设置就告终了,但是最后有些疑问或者叫误区需要分享一下。

Q/A:

1.自己本地的IP地址不在虚拟IP段内,有影响吗?

答:没有

2.是否需要配置多个load generator来对应不同的虚拟IP呢?

答:不用,这个过程是generator自己完成的。

3.不同的generator是否都需要设置IP spoof呢?

答:Definitely Yes,不然的话不设IP欺骗的那台只会使用一个本地的IP执行。

4.虚拟用户数和虚拟IP数量上有什么关系呢?

答:如果虚拟用户数大于IP数量时,每个用户会得到不同的IP,否则,会有IP重复的现象。

5. 还有别的办法添加虚拟IP吗?

条条大路通罗马,试试这个。

在一台机上虚拟的IP跨网段的处理,可通过在服务器端添加路由来实现。
例:
服务器IP:192.168.0.1
测试机IP:192.168.0.206

测试机上添加的虚拟IP: 192.168.10.1~128

那么在服务器端执行以下命令:
route add 192.168.10.0 mask 255.255.255.0 192.168.0.206

===========================

添加微信“zzzmmmkkk”,可以通过:

1. 请在微信“添加好友”->“搜索公众账号”里查找“zzzmmmkkk”

2. 或者点击本文右上角按钮后选择“关注公众账号”

3. 扫描头像:

zzzmmmkkk,本名赵敏科,6年测试经验,2年项目及团队管理经验,从事过多年功能测试,性能测试及自动化测试,乐于分享。不定期发布有关测试技术文章,测试经验分享,测试思考和问题探讨。

Loadrunner中的IP欺骗的设置以及误区相关推荐

  1. LoadRunner技巧之IP欺骗

    IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因: 1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量 ...

  2. Linux中修改ip地址,并且设置静态的ip

    Linux学习视频来自韩顺平老师 修改ip地址,并且设置为静态的ip Linux系统中输入 cd /etc/sysconfig/network-scripts,之后输入ls可以看到一个文件,每个环境下 ...

  3. linux然后防止ip欺骗,linux – 如何在iptables中防止ip欺骗?

    我在 Linux上的Apache Web服务器被大量不存在文件的请求所困扰.直接影响是访问和访问的快速增长.错误日志.我已经通过不记录这些请求(如果它与特定字符串匹配)来处理这个问题.我们从多个IP地 ...

  4. LoadRunner中IP欺骗功能详解

    应用程序服务器和网络设备使用IP地址来识别客户端.应用程序服务器通常会对来自同一计算机的客户端信息进行高速缓存.网络路由器尝试对原信息和目标信息进行高速缓存 以优化吞吐量.如果多个用户具有相同的IP地 ...

  5. jmeter如何设置IP欺骗

    由于服务器出于安全考虑会对同一IP地址做过滤,所以如果想要达到正常的压测效果,我们需要在发请求时伪造出不同的IP地址.  主要步骤分为以下3步:  第一步:在负载机上绑定IP地址. 第二步:在要欺骗的 ...

  6. 如何对jmeter设置IP欺骗

    由于服务器出于安全考虑会对同一IP地址做过滤,所以如果想要达到正常的压测效果,我们需要在发请求时伪造出不同的IP地址. 主要步骤分为以下3步: 第一步:在负载机上绑定IP地址. 第二步:在要欺骗的ht ...

  7. Jmeter也能IP欺骗!

    之前有小伙伴问到jmeter有没有和loadrunner一样的ip欺骗功能,这篇文章介绍一下什么是ip欺骗,他有什么用,咱们用jmeter的时候,ip欺骗怎么做.   ip欺骗是什么?    ip欺骗 ...

  8. loadrunner利用虚拟IP测试

    LoadRunner 使用虚拟IP测试流程 设置虚拟IP地址 首先,load Generator机器必须使用固定的IP,不能使用动态IP 确定网络中不冲突的IP地址 打开:开始-〉程序-〉loadru ...

  9. LoadRunner 使用虚拟IP测试流程

    LoadRunner 使用虚拟IP测试流程 LoadRunner 使用IP欺骗的原因 1. 当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量 ...

最新文章

  1. 3D人体姿态估计--Coarse-to-Fine Volumetric Prediction for Single-Image 3D Human Pose
  2. LaTeX入门第一集!LaTeX下载资源分享!LaTeX教学资源分享!TeXstudio下载资源分享!
  3. python精彩编程200例百度_Python趣味编程与精彩实例
  4. 大战设计模式【17】—— 建造者模式
  5. PHP 底层的运行机制与原理 --转
  6. 匿名提问:rm -rf了怎么办?
  7. MySql-phpMyAdmin
  8. 怎么能让宝贝快点入睡?
  9. 犯罪分子正在将合法的云监控工具用作后门
  10. html 滑动导航效果,jQuery实现的滑块滑动导航效果示例
  11. 美政府停摆或考验机场安检 携枪旅客曾无障碍登机
  12. illustrator插件--常用功能开发--条码生成--js脚本开发--AI插件
  13. FileZilla Server 中文版使用教程
  14. 【图像处理】记一次粗心:未加载opencv_world300d.dll
  15. 【假设检验】单侧检验时,对拒绝域在左侧还是右侧的理解
  16. 计算机系统集成能够承接哪些,系统集成资质承接范围
  17. 索尼在线商城的产品会不会更便宜?
  18. 毕业这五年走来,这些私藏Redis的最全知识点我贡献出来了
  19. ORA-64203: 目标缓冲区太小, 无法容纳字符集转换之后的 CLOB 数据。
  20. 目录-换热器原理及计算

热门文章

  1. Flask-uploads 简单使用
  2. 第3章 View的事件体系
  3. QCon讲师对对碰——洪小军采访梁宇鹏:就是爱Golang
  4. 解决redhat安装centos yum源的问题
  5. 关于网站更新速度的一点小心得
  6. xilinx vivado烧录s29gl256p-bpi-x8
  7. linux as 4 内核版本,Linux Redhat AS 4中编译内核与以往版本的区别(转载)
  8. qt4如何读oracle,Qt4编程的控制MPlayer
  9. lgg6 android 9,【LGG6评测】18:9奇葩比例没采用骁龙835 LG G6解析_LG G6_手机评测-中关村在线...
  10. C++ 类构造函数初始化列表介绍