51Testing软件测试论坛

标题: 请教一个sock关联函数的问题 [打印本页]

作者: 走火    时间: 2008-9-2 18:40
标题: 请教一个sock关联函数的问题
今天在使用这个函数时,对函数里的位移和参数取值不是很明白,希望高人指点一下,相关的资料搜索了一下,看到版主发的资料:
在一个典型的web脚本中,你用web_create_html_param函数,用“PID“ 和“q2”定义边界扑获数据。
在Winsock脚本中,用lrs_save_param函数从静态数据或收到的数据包中截获数据,看下面的例子:
lrs_receive("socket2", "buf47", LrsLastArg);
lrs_save_param("socket2", NULL, "param1", 67, 5);
和web_create_html_param函数不同的是lrs_save_param在请求之后进行,这个例子中,第一行代码是接收到47号包。lrs_save_param函数的参数意义如下:
socket2: 从socket2中扑获数据
    NULL: null参数意思是从最后一个buffer里截取,在这儿就是指buf47,如果你从其它的buf里面来获取数据,则你必须要指明buf的号码了
param1:命名的参数值
67:位移(下面截解释)
5:捕获的长度
位移:从buffer的开始多少位去捕获参数的值,在下面的例子里面,PID是从buf47开始往后67bytes来截取的,我们怎么确定这个值?
在data.ws中选取需要截取参数的地方然后按F7键,这样会弹出一个窗体。如下图:
在左边的列,你将看到符合这部分数据的偏移量,中间四行是用EBCDIC加密的数据包。最右边,是没有经过加密的数据。所以你应该看第五行包含PID的真实的数据,,很容易就可以根据64+3得出位偏移为67。

因为这个帖子说要贴图的地方看不到,所以不是很明白67和5是怎么来的,希望高人解释一下~
打比方说我自己录了2个脚本,不一样的地方需要做关联(如下图),我应该取的位移和值是多少呢?
[attach]45125[/attach]
[attach]45126[/attach]
作者: 走火    时间: 2008-9-3 10:30
顶一下
作者: 走火    时间: 2008-9-4 17:36
难道没人知道么?还是我没描述清楚?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2