WireShark进行抓包分析
上一篇 /
下一篇 2016-05-10 17:44:42
/ 个人分类:jemter
工具选择篇,笔者使用了jmeter工具和LR对接口进行压测,并使用WireShark进行抓包分析。
一、Jmeter
jmeter不涉及到断言之类的操作,只聊http请求。
1、下图为http请求,BodyData中说明发送数据的格式为json
![](http://img.blog.csdn.net/20141120110925312?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2FzaF9jaGVuMDA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2、在查看结果树中,可以看到本次请求POST data:data={"sm_seq":"201411CM100000017"},Content-Type: application/x-www-form-urlencoded
![](http://img.blog.csdn.net/20141120110814156?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2FzaF9jaGVuMDA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
3、通过WireShark对包结构进行分析,如下图红框所示
![](http://img.blog.csdn.net/20141120110808040?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2FzaF9jaGVuMDA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
二、LR脚本制作
经过了一些曲直,总结了下和大家分享,脚本如下:
![](http://img.blog.csdn.net/20141120111147002?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2FzaF9jaGVuMDA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
- web_custom_request("web_custom_request",
- "URL=http://xxxxxxxxxxxxx/extra_cms_api/get_item_by_seq/RAN1411WUHAN/",
- "Method=POST",
- "Resource=0",
- "RecContentType=application/json",
- "Referer=",
- "Mode=HTTP",
- "EncType=application/x-www-form-urlencoded",
- "Body=data={\"sm_seq\":\"{CM}\"}",
-
-
-
-
-
- LAST);</span>
情况1:EncType=application/json,原本以为这样写脚本就通过了,但事实并非如此,服务端返回“params error”,参数错误,通过抓包数据对比,可以看出差异在Line-based text data:application/json
![](http://img.blog.csdn.net/20141120111314955?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2FzaF9jaGVuMDA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
情况2:
EncType=application/x-www-form-urlencoded,
Body={\"sm_seq\":\"{CM}\"},由下图可以看出 key的值和value的值不正确
![](http://img.blog.csdn.net/20141120155928015?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2FzaF9jaGVuMDA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
最终修改为:
"EncType=application/x-www-form-urlencoded",
"Body=data={\"sm_seq\":\"{CM}\"}", OK问题解决,能够返程成功的结果。
![](http://img.blog.csdn.net/20141120111342224?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2FzaF9jaGVuMDA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
若有疑问请拍砖。
收藏
举报
TAG: