mfktafd 发表于 2006-4-7 21:25:51

回答关于IP欺骗的问题:[请大家共同参与讨论研究]

前一阵子做测试要用到IP欺骗,因为跑不通,所以就来上网找了相关的资料,但是,按步骤做是不行的!
因为说句不太好听的,有部分存在误导性的,这里就不说了,也看到了很多朋友问了相关很多发问题,
也是我在测试中遇到的,
经过查阅,LR的官方文档,已解决了,为了不让更多的朋友走弯路,特把部分我知道的问题在这里回答给大家
希望给大家有所帮助,少走更多的弯路,因为我为些郁闷了快一个月,呵呵!!sdlkfj

原帖由 lucky520 于 2006-2-22 23:41 发表
设置多个虚拟用户,使用IP欺骗,要在Loda Generators进行所有的IP地址进行连接吗?
如果1000个虚拟用户,在Loda Generators中要添加1000个IP地址吗?然后进行连接,,有快捷方式吗?
原帖由 zhangfh 于 2005-7-7 11:35 发表
有点不明白,该ip欺骗流程中使用ip时,有提到在controller中添加了5个虚拟ip地址,是否就是指有5个虚拟用户参与并发?如果真是这样的化,那么要虚拟成千上万个用户怎么办?如果load generator 用localhost,在ad ...
设置多个IP不要在loda generators中添加的,因只要你是固定IP,添加虚拟IP后.只接启用IP欺骗就可以,
[前提是你的虚拟IP必须与服务器的IP在同一网段的.服务器和客户端具有相同的子网掩码、IP 类和网络如果不一样的话,还有其它步骤的后面再说!]

原帖由 jian0318 于 2005-8-4 18:21 发表
我现在正在学习使用Loadrunner,文章非常有用,非常感谢楼主,同时也希望能有高手能帮忙答疑解惑,谢谢了。
问题:
1、是否一个并发就要建立一个虚拟IP?
2、是否一个虚拟IP就要建立一个连接,那假如虚拟IP非 ...
3、在新建虚拟IP的步骤2时,需要输入服务器IP,是否是确认测试的CPU、内存等性能指标是服务器的呢?

这个我回答第三个,输入的IP就是要测试的IP地址,你输入IP以后,在所有的IP完成前,你会在你的临时目录TEMP里生成两个文件,一个是用于UNIX的SH后缀的,一个是用于WINDOWS的BAT后缀的文件,你手动修改后用于做服务的路由更新,,个人观点:我用LR生成的UNIX的文件我在我们公司的机子{LINUX}上没有运行起来,不过你可以手动更新,这里的问题也是很多朋友遇到运行脚本时超时的原因吧[非同一网段]!因为我不手动更新服务器路由表的话,跟本跑不通LR,


原帖由 惜缘 于 2005-8-15 11:42 发表
设置多个虚拟用户,使用IP欺骗,在Loda Generators进行所有的IP地址进行连接,
如果1000个虚拟用户,在Loda Generators中要添加1000个IP地址吗?然后进行连接,
难道把1000个IP地址一个一个添加在Loda Generators中吗 ...
只要启动IP欺骗就可以,不要手工添加的,

[ 本帖最后由 mfktafd 于 2006-4-12 20:30 编辑 ]

mfktafd 发表于 2006-4-7 21:38:54

在这里我再讲一下路由的问题,仅是我经验,请大家共同研究,
如果我们增加的同一网段的,就不要说什么了,一定很顺利的跑下去了,,呵呵!sdlkfj

当我们要很多IP时呢!就要用到不同网段的了!所以有时我们多看看LR的文档也是没有坏处的,要仔细的看,一定会有解决问题的关键,
更新路由表

文档上的东东
客户端计算机有了新的 IP 地址以后,服务器需要将该地址添加到路由表,以识别返回到客户端的路由。如果服务器和客户端具有相同的子网掩码、IP 类和网络,则不需要修改服务器的路由表。

注意: 如果在客户端和服务器计算机之间有路由器,则服务器需要识别经过该路由器的路径。确保向服务器路由表中添加了以下内容:从 Web 服务器到路由器的路径以及从路由器到负载生成器计算机上所有 IP 地址的路径。

要更新 Web 服务器路由表,请执行下列操作:

1编辑“IP 向导摘要”屏幕中显示的批处理文件。以下为一个 .bat 文件示例。
route ADD 10.0.0.2 MASK 255.255.255.255 METRIC 1
route ADD 10.0.0.3 MASK 255.255.255.255 METRIC 1
route ADD 10.0.0.4 MASK 255.255.255.255 METRIC 1
route ADD 10.0.0.5 MASK 255.255.255.255 METRIC 1
route ADD 10.0.0.6 MASK 255.255.255.255 METRIC 1
route ADD 10.0.0.7 MASK 255.255.255.255 METRIC 1
route ADD 10.0.0.8 MASK 255.255.255.255 METRIC 1
route ADD 10.0.0.9 MASK 255.255.255.255 METRIC 1
2每次出现 ,请在括号中输入您的 IP 地址来替换。
3在服务器计算机上执行该批处理文件

不同的网段,例如:服务器的IP为192.168.0.2,我LR的机子是192.168.0.118[固定IP]
我增加的IP是10.0.0.1~~~10.0.0.200
就要更新服务器的路由表了,
LR会为你在TMEP目录里生成一个BAT和SH的文件,[前提是你使用IP欺骗时在服务器的地址里填写IP]
所以这里我要到服务器的机子上执行脚本.

.BAT
route ADD 10.0.0.2 MASK 255.255.255.255 192.168.1.118 METRIC 1
route ADD 10.0.0.3 MASK 255.255.255.255 192.168.1.118 METRIC 1
route ADD 10.0.0.4 MASK 255.255.255.255 192.168.1.118 METRIC 1
route ADD 10.0.0.5 MASK 255.255.255.255 192.168.1.118 METRIC 1
route ADD 10.0.0.6 MASK 255.255.255.255 192.168.1.118 METRIC 1
route ADD 10.0.0.7 MASK 255.255.255.255 192.168.1.118 METRIC 1
route ADD 10.0.0.8 MASK 255.255.255.255 192.168.1.118 METRIC 1
route ADD 10.0.0.9 MASK 255.255.255.255 192.168.1.118 METRIC 1
.....................................................................................
.SH
不好意思,LR生成的SH在LINUX上我不能更新路由
不过大家可以试一下,我手动写的是如下:也可以做为参考:
route add -net 10.0.0.1 netmask 255.255.255.255 dev eth0
route add -net 10.0.0.2 netmask 255.255.255.255 dev eth0
route add -net 10.0.0.3 netmask 255.255.255.255 dev eth0
route add -net 10.0.0.4 netmask 255.255.255.255 dev eth0
route add -net 10.0.0.5 netmask 255.255.255.255 dev eth0
route add -net 10.0.0.6 netmask 255.255.255.255 dev eth0
route add -net 10.0.0.7 netmask 255.255.255.255 dev eth0
route add -net 10.0.0.8 netmask 255.255.255.255 dev eth0
route add -net 10.0.0.9 netmask 255.255.255.255 dev eth0

这样的一个一个增加的的是很烦啊!如果成千上万的要添加那不是风了,呵呵,不过LR公司生成的更新路由器的脚本就是这样的,不过我也改了一下一下增加一个网段的,路由不知道对测试有没有影响,有心的朋友可以试一下,
我把命令写上!:
WINDOWS:
route ADD 10.0.0.0 MASK 255.255.255.0 192.168.1.118 METRIC 1
LINUX:
route add -net 10.0.0.0 netmask 255.255.255.0 dev eth0

在路由器上更新了路由以后,就可以运行W试一下了,只启用IP欺骗,运行X个用户
我用WEB临时服务器做的测试,运行完以后,去WEB临时服务器的程序上查看IP羰,是X个IP,呵呵,不同网段的IP脚本总算过去了
因为我也是刚接触LR,有理解错误的地方,希望在这里也大家共同论坛,我期望与大家共同进步!.

[有一个问题漏了,做完测试后可以把服务器的路由手动删改的
命令如下:可以写进脚本执行的
route delete 10.0.0.1
.....................(windows)
route del -net 10.0.0.1 netmask 255.255.255.255 dev eth0
......................................(linux)]

[ 本帖最后由 mfktafd 于 2006-4-7 22:17 编辑 ]

Zee 发表于 2006-4-9 00:55:01

顶一下楼主的解释
真希望有很多人把经验写出来
一起分享就会少走很多错路

sunshine_luo 发表于 2006-4-12 12:22:25

既然是大家讨论,那么我也来说几句,如果有什么不对的,请大家指出来~
1。lz说“前一阵子做测试要用到IP欺骗,因为跑不通,所以就来上网找了相关的资料,但是,按步骤做是不行的!
因为说句不太好听的,有部分存在误导性的”
我按照controller文档中Appendixes中的第5部分“Configuring Multiple IP Address”进行一步一步操作,在windows平台下是可以完成添加IP地址和进行IP地址欺骗的。Lz能否把操作步骤中具体哪些地方不对详细说出来,这样初学者才能更加看明白。

2。 lz说“设置多个IP不要在loda generators中添加的,因只要你是固定IP,添加虚拟IP后.只接启用IP欺骗就可以”
对这一部分,我觉得有些地方可能有些不妥,添加的多个ip是要在load generator的机器上进行的,而不是添加到controller运行的机器上(当然如果load generator和controller运行在同一台机器上,那就另当别论了),因为Vuser 是由load generator产生而不是由controller中产生,这点要明确。要成功的进行ip欺骗,不但要在运行load generator的机器上添加多个虚拟的ip地址,而且同时在运行controller时需要选中“Enable IP Spoofer”

3。QUOTE:
原帖由 惜缘 于 2005-8-15 11:42 发表
设置多个虚拟用户,使用IP欺骗,在Loda Generators进行所有的IP地址进行连接,
如果1000个虚拟用户,在Loda Generators中要添加1000个IP地址吗?然后进行连接,
难道把1000个IP地址一个一个添加在Loda Generators中吗 ...

对这个问题,我觉得这里有个概念没有明确,为什么要使用IP欺骗?其目的是为了更真实的模拟实际的环境,当多个Vuser使用同一个ip地址去访问server的时,那么server和中间可能通过的路由器都会进行优化处理,这样就无法反映实际的真实情况。当明白了这点就可以知道,需要欺骗的ip地址的个数和Vuser的个数是没有关联的。Vuser会循环反复的使用这些虚拟的ip

4。关于当添加的虚拟ip地址和server不在同一个网段时:
每个网卡上允许的欺骗的ip地址的个数是有限制的,所以这个也不会是成千上万没有限制。
因为每次添加的虚拟ip不一定是连续的,或者都是一个网段的,所以我想这样一条一条添加也不是什么麻烦事情,而且ld会自动产生这个.bat的文件(不过我只是在windows平台下测试过,在unix平台下没有试过这这个.sh的文件是否可用)。至于一下子添加一个网段,我没有测试过,也不知道是否可行,不过只是觉得没有必要,呵呵。

mfktafd 发表于 2006-4-12 20:26:47

原帖由 sunshine_luo 于 2006-4-12 12:22 发表
既然是大家讨论,那么我也来说几句,如果有什么不对的,请大家指出来~
1。lz说“前一阵子做测试要用到IP欺骗,因为跑不通,所以就来上网找了相关的资料,但是,按步骤做是不行的!
因为说句不太好听的,有部分存在误 ...

答1.如果增加的IP不在同一网段,比如说你的固定IP为C类,你增加的IP为A类,[被测试的服务器的IP也是C类]
更新服务器的路由信息,启用IP欺骗,
然后跑脚本,就能实现IP欺骗的效果,不要在负载生成器列表里一个一个把A类的IP都加进去的,我是这样认为的
也是我所说的对大家可能产生误导的地方.
答2.我们的机子所有的东东都一块装起来了,在一台机器上产生,只启用localhost就可以了,具体你说的那种情况我不太明白,sdlkfj,俺也是新手.
答3.说的很有道理,
应用程序服务器使用 IP 地址来标识客户端。应用程序服务器经常缓存来自同一台计算机上的客户端信息。网络路由器则缓存源信息和目标信息,以提高处理能力。如果许多用户使用同一个 IP 地址,服务器和路由器都会进行优化处理。由于同一台负载生成器计算机上的 Vuser 具有相同的 IP 地址,服务器和路由器将进行优化处理,因而无法反映真实的情况。

LoadRunner 的多 IP 地址功能可以使用许多 IP 地址来标识在一台计算机上运行的多个 Vuser。这样,服务器和路由器认为 Vuser 来自不同的计算机,因此测试环境更加真实。
注意: 在 Windows NT SP3 中,每张网卡上可以欺骗的最大 IP 地址数为 35 个,Solaris(2.5.1 版)最多为 255 个,而 Solaris(2.6 或更高版本)最多则为 8192 个。


答4.BAT文件当然好执行了,现在公司测试还是很多用LINUX,大型的WEB站点,我想SH还是要用到的
当然,BAT与SH脚本修改执行当然是好了,研究一下额外的技术好像没有坏处吧!sdlkfjsdlkfj

mfktafd 发表于 2006-4-12 20:47:17


适用的协议

多 IP 地址功能适用于下列协议:

客户端/服务器:DNS、Windows Sockets
自定义:Java Vuser、Javascript Vuser、VB Vuser、VB Script Vuser
电子商务:FTP、Palm、SOAP、Web (HTTP/HTML) 协议、WinSock\Web Dual 协议
ERP:Oracle NCA、Siebel-Web
邮件服务:Internet Messaging (IMAP)、MS Exchange (MAPI)、POP3、SMTP
流数据:Real
无线:i-Mode、VoiceXML、WAP
该功能可以在 Windows 和 UNIX 平台上实现。




从 Controller 中启用多个 IP 地址

定义了多个 IP 地址后,您可以设置一个选项,通知 Controller 使用该功能。

要从 Controller 中启用多个 IP 地址,请执行下列操作:

1.在“Controller 设计”视图中,选择“方案”>“启用 IP 欺骗”。
注意: 必须在连接到负载生成器之前选择该选项。

2.使用 Controller 专家模式的“常规选项”来指定 Controller 如何实施该功能。
详细信息,请参阅使用专家模式。



其实LR的用户帮助手册写的挺好的,只要去上面查相关的内容都能找得到的.

sunshine_luo 发表于 2006-4-13 12:01:06

To mfktafd:
呵呵,知道为什么你会有第1个问题了,因为你没有明白我上边说的第2个问题,建议你去看看帮助文档,理清load generator和contraller之间的关系

mfktafd 发表于 2006-4-13 20:47:10

我说的负载生成器是CONTROLLE开始方案按钮下面的那个生成器按钮打开的页面里的东西..
如:我本机是192.168.1.100,运行CONITROLLE,
另外一点机子192.168.1.101运行Loda Generators[假如101这台机子上用IP欺骗增加400个IP并且打开了LR AGENT PROCESS]
对服务器192.168.1.102进行测试[已更新路由表].

只需要:在192.168.1.100的机上运行CONITROLLE,启用IP欺骗,然后进入设计页面.点击开始方案按钮下面的生成器按钮.会进入一个小框框,上面写着负载生成器.去右边点击添加按钮.弹出:添加新的负载生成器窗口,输入LG的IP192.168.1.101,点确定返回到小框框,
选中刚添加的生成器101,点击右边的联接按钮.使其状态变成就绪就可,[不需要在小框框中把400个IP一个一个都写进去的]
就可以开始测试了,当然也可以启用专家模式在里面选择一下多IP地址模式是多线程还是多进程.,

[ 本帖最后由 mfktafd 于 2006-4-14 12:44 编辑 ]

sunshine_luo 发表于 2006-4-14 14:29:50

我的意思不是说ip欺骗的过程;而是和controller和generator之间的关系。
controller只是一个管理平台;generator才是真正产生Vuser的进程;
这就是为什么“,[不需要在小框框中把400个IP一个一个都写进去的]”

savage 发表于 2006-4-14 15:34:28

楼猪的帖子很好啊
不在同一段里IP需要服务器更新路由表这个能解决问题

mfktafd 发表于 2006-4-14 17:27:09

原帖由 sunshine_luo 于 2006-4-14 14:29 发表
我的意思不是说ip欺骗的过程;而是和controller和generator之间的关系。
controller只是一个管理平台;generator才是真正产生Vuser的进程;
这就是为什么“,[不需要在小框框中把400个IP一个一个都写进去的]”

我明白你的意思

suchboy 发表于 2006-4-14 21:48:34

本来想好好学习一下咋样做 ip虚拟....懒的看书啊

发现楼主 和 副楼主都懂了,我还是没懂......

还是看书去吧...sdlkfj

[ 本帖最后由 suchboy 于 2006-4-14 22:03 编辑 ]

mfktafd 发表于 2006-4-14 23:14:38

原帖由 suchboy 于 2006-4-14 21:48 发表
本来想好好学习一下咋样做 ip虚拟....懒的看书啊

发现楼主 和 副楼主都懂了,我还是没懂......

还是看书去吧...sdlkfj
有什么不懂的与大家交流才是最重要的,

我发表上面的就是怕有理解错的,才这样与交流,可以共同进步啊.

aaronyou 发表于 2006-4-20 20:58:31

感谢各位 我是新手 在做IP欺骗的时候 遇到问题。

测试环境:
安装loadrunner的客户端是 WIN2000 ,服务器端 是redhat9 ,需要测试apache
我在 做IP欺骗的时候总不成功,始终是 默认的第一个IP。

过程请看
1。

aaronyou 发表于 2006-4-20 21:00:46

建立

代码

aaronyou 发表于 2006-4-20 21:03:39

2录制

过程

aaronyou 发表于 2006-4-20 21:14:29

录制后的代码

。。

aaronyou 发表于 2006-4-20 21:17:28

使用ip winzard 重新启动机器后

得到的IP地址

aaronyou 发表于 2006-4-20 21:26:23

启动控制台

。。

aaronyou 发表于 2006-4-20 21:27:56

关键的来了,按照上面说的 直接启动

结论就是 始终是 第一个 IP
页: [1] 2
查看完整版本: 回答关于IP欺骗的问题:[请大家共同参与讨论研究]