发布新日志

  • iOS开发之抓包工具Charles的安装配置及使用详解

    2017-03-14 10:28:04

    http://www.jianshu.com/p/31fea1314a50

    144 
    作者 skyF2016 

     在移动app的开发当中,我们经常需要对大枷公司开发的app来进行仿制来提高自己的经验升级。这个时候我们往往需要抓取各自数据接口来获取数据。

    Fiddler这个软件由于是用C#开发的,所以很依赖win平台,所以我在实际开发中应用最多的还是Charles,由于开发语言是Java,所以具有很好的跨平台性。

    下载:

    官网:(PS:这是一款收费软件,土豪的童鞋可以支持一下。)目前最新的Release版本是3.11.5

    破解版:(PS:完全是为了让大家学习方便。)


    安装:

    我想大家都会我就不在这里说明了,如果安装过程中有什么问题可以随时私密我。

    配置:

    我在网上找了一下相关教程,几乎是千篇一律,有些具体的配置细节没有详细说明,很容易给初学者带来误导,这也是我决定写这篇文章的原因。

    一、抓取iOS真机设备上的http请求

    1、查看电脑的ip地址:


    2、打开charles,设置Mac OS X Proxy:


    3、设置proxy settings,记下端口号,默认8888


    4、打开手机的wifi详情,选择http代理,填入刚刚记下的电脑的ip地址,还有上面记下的charles的端口号(例如,默认的8888)


    5、在手机上进行网络访问,这样charles会出现一个提示,大体上意思是,是否允许charles作为手机的网络请求代理


    6、结果:例如我在手机端请求B站的信息:

    这是Response:


    还可以看这个接口的Request



    二、抓取iOS真机设备上的https请求

    因为为了保证网络访问更加安全,所以好多公司的接口都采用了https,而且苹果公司也对此有了明确的要求。

    1、首先就是安装Charles的根证书,Help - SSL Proxying - Install Charles Root Certificate ,会打开钥匙串应用,安装进去


    当安装后,可能你看不到在哪里,在右上角的搜索中 输入 cha 则会显示出来,你看到上面是此根证书不被信任!


    这样,证书是不可用的,我们需要设置,在证书上点击右键 -> 显示详情,展开信任选择始终信任


    然后点击左上角的关闭,系统会弹出授权提示框,授权同意修改,回到列表,稍等,证书就刷新了


    2、配置SSL访问,在Proxy->SSL Proxying Settings->点击add->在弹出的对话框里面设置主机和端口号,如果设置为: *.*为部访问。


    3、经过上面两步可以实现pc数据的抓取了,如果想要进行手机数据接口的抓取,还需要在手机端进行证书配置。

    CA证书下载链接:https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/


    证书下载完成后,会自己提示安装,和企业级开发者证书一样,比较容易搞定。这样就可以抓取https的数据接口包了。


    也可以通过Help界面进行安装。




  • JMeter应用PerfMon插件

    2017-02-21 13:45:32

    PerfMon下载地址
    http://download.csdn.net/detail/cc297322716/9627756


    在做负载测试时,我们要时刻关注服务器的CPU,MEM……的使用情况,但是JMeter本身对这些信息是不做收集的,这个时候PerfMon就应运而生了。没错,他就是用来收集被压服务器的各种性能指标,例如: CPU, Memory, Swap, Disks I/O and Networks I/O …… 插件安装步骤: 1、解压zip包,将 JMeterPlugins.jar 放到 jmeter 客户端的 jmeter/lib/ext 下 2、将ServerAgent-2.2.1.jar上传到被测服务器,解压,进入目录,Windows环境,双击ServerAgent.bat启动;linux环境执ServerAgent.sh启动,默认使用4444端口
  • 用Robotium Recorder录制脚本—精通移动App测试实战(6)

    2017-01-11 17:26:03

  • Android 内存监测工具 DDMS --> Heap, 用MAT分析heap dumps

    2016-12-27 11:41:15

  • 接口测试返回值成功,数据库值错误

    2016-12-22 15:51:53








    明明返回Success, 结果数据库里的姓名不是Post的姓名,开发说是缓存的问题,修改缓存的代码后, 正常

    查看(3236) 评论(0) 收藏 分享 管理

  • Eclipse开发JAVA中如何Debug

    2016-12-22 13:49:36

    http://jingyan.baidu.com/album/9989c746061446f649ecfe41.html?picindex=1


    首先打开eclipse,打开java源文件

    在需要测试的代码行左侧行号列上双击,生成断点 ,再次双击可以取消断点

    然后右键,选择Debug As-Java Application,(注意,不是选择Run As)

    开始调试java程序

    有可能会弹出提示框(表示是否进入调试视图)点击确定就可以了

    然后会进行调试视图,

    取消断点的话:在右侧上部的断点列表区取消选择或删除当前断点即可


    按Ctrl+Shift+R, 搜索接口类PersonalHomeProxyController, 打开搜到的文件 查看(998) 评论(0) 收藏 分享 管理

  • 接口测试工具-SoapUI

    2016-12-13 15:21:23

  • 用户主动退出登录后,关机,下次启动APP时,应该进入登录界面

    2016-12-12 10:22:06

    用户主动退出登录后,进入登录页面,
    关机,下次启动APP时,仍然是登录状态,没有进入登录界面
    如果不清除数据,还是登录状态,所以需要开发实现退出功能时,清除数据
  • 使用python进行接口测试(二)

    2016-12-05 18:27:16

    转自
    www.cnblogs.com/hainan-zhang/p/5889341.html

    之前使用过urllib和urllib2做接口测试,在做的途中,感觉使用urllib2直接进行的get,post 请求并没有那么好用。作为测试人员,所需要的测试工具应当以方便为第一要务,测试的耗时只要是真正的无人值守,耗时不是太久的都可以接受。所以,本人又尝试了一个新的包:requests。  

      Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。更重要的一点是它支持 Python3 !推荐一篇文章,上面有该包的详细说明 传送门,以下只会写到我用到的部分,所以更多的了解需要自己去搜资料

       好了,我们开始吧!!

      接口测试中重要的部分:

           1.get和post方法

         2.用到的参数

         3.请求头

         4.cookie

         5.日志输出

         6.如何调试你的程序--借助fiddler

      按照以上的顺序,我将一一说明我的搞法,因为编码能力有限,所以可能看着很low

    一、get和post

      requests包很好的实现了post和get方法,示例:

    1 import requests
    2 response_get = requests.get(url, data, headers, cookies)
    3 response_post = requests.post(url, data, headers, cookies)

      其他的访问方式如put,head等等,用法几乎都是如此,因为没用到,所以省略

      现在一般的接口返回值有页面和json俩种,按照需求,可以分别使用response.text或者response.content获取,text获取的是unicode类型的返回值,而content返回值是str类型,所以我一般使用content来获取返回值,因为这样获取的返回值可以直接使用正则或者in的方式来验证返回值结果是否正确。

         我自己为了实现接口的自动访问,所以又在requests上面加了一层封装,就像下面这样:

    复制代码
     1 def main_get(list_result, cookies):
     2     """
     3     用于模拟get请求,返回结果
     4     :param list_result:空列表,用于存储结果
     5     :param cookies: 登陆后的cookie
     6     :return:访问结果
     7     """
     8     # List_interface_get写在接口文件里,文件是py格式,然而它本身是字典类型
     9     for key in List_interface_get:
    10         try:
    11             f1 = requests.get(key, cookies=cookies)
    12             if f1:
    13                 print f1.content
    14                 print List_interface_get[key]+'接口访问成功'
    15                 split_line()
    16             list_result.append(f1.content+'||'+key)
    17             # print f1.read()
    18         except AssertionError:
    19             print 'One Error in get'
    20             pass
    21     return list_result
    22 
    23 
    24 def main_post(result_list, url_list, param_list, payload_list, note_list, cookies):
    25     """
    26     模拟post请求
    27     :param result_list: 结果字典
    28     :param url_list: 接口字典
    29     :param param_list: 入参字典
    30     :param payload_list: header字典
    31     :param notelist: 描述字典
    32     :param cookies: 登录获取的cookie
    33     :return:填充完成的结果列表
    34     """
    35 
    36     # post这块写的比较low,最好自己搞一个数据结构把它搞定
    37     for key in range(1, 9):
    38         a = requests.post(url=url_list[key], data=param_list[key], headers=payload_list[key], cookies=cookies)
    39         try:
    40             if a.content:
    41                 print a.content
    42                 print note_list[key]+'接口访问成功'
    43                 split_line()
    44             result_list.append(a.content+'||'+url_list[key])
    45         except AssertionError:
    46             print 'One Error in post'
    47             pass
    48     return result_list
    复制代码

     

    二、用到的参数以及请求头

      我用的方法是把这些都存放于一个py文件中,当然也可以使用excel或者xml文件,甚至于使用DB。项目紧急,凑合了一下,这里的数据结构主要为了符合上面封装的函数,直接上代码看吧

    复制代码
     1 BaseURL = 'https://******.com'  # 测试环境
     2 # 使用什么数据结构不重要,关键看实现方法中怎么解析你的测试数据
     3 List_interface_get = {
     4     BaseURL+'/api/****/****/****?****=1&****=375': '描述'
     5 }
     6 # 以下是用于post的接口
     7 List_interface_post = {
     8     1: BaseURL+'/api/****/****/****/****'
     9 }
    10 # 以下是用于post的数据
    11 List_post_param = {
    12     1: 'new=222222&old=111111'
    13 }
    14 # 以下是post接口的描述,它是干嘛的
    15 List_post_note = {
    16     1: '修改密码'
    17 }
    18 # 以下是post用到的请求头
    19 List_post_header= {
    20     1: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
    21 }
    复制代码

     

      三、cookie

      一款产品的接口测试中必定会使用登录状态,需要使用cookie实现,之前写过使用cookiejar获取cookie,requests中获取cookie的方法更为简单,不过首先你得知道是哪个接口set了cookie,不过一般是登录啦。登录接口访问之后set了cookie,那好,就去调用登录接口,然后拿到搞回来的cookie:

    # 只需要这样!!
    login = requests.post(login_url, data=login_data, headers=login_header)
    cookie = login.cookies

    这个cookie就是登录状态了,拿着随便用,需要登录的就直接cookies=cookies

         四、日志输出

      这里注意看第二步中接口数据,有接口描述,也有接口是啥,第一步中又把content做成返回值了,具体拼接方式自己想吧,东西全有了,想写啥写啥,还可以加上获取本地时间的api获取接口运行时间,log文件该长啥样是门学问,这里就不献丑了。

       五、借用fiddler调试你的脚本

         requests允许使用代理访问,这有啥用,真有!fiddler是一款截包改包的工具,而且通过扩展可以进行请求间的比对,这样让你的程序访问的请求和真正正确的请求作对比,为啥我的程序访问出错?是不是缺了请求头?参数是不是丢了?cookie是不是少了?很容易看出来。写法如下:

    proxies = {
         "http": "http://127.0.0.1:8888",
         "https": "http://127.0.0.1:8888"
    }
    requests.post(url, proxies=proxies)

    这样就可以走代理了,除fiddler以外还有charles和burp suite可以使用,具体看个人喜好吧。

     

     


  • 使用python进行接口测试--Cookie的使用

    2016-12-05 18:22:58

    转自

    http://www.cnblogs.com/hainan-zhang/p/5320153.html

    最近在做接口测试,之前公司的方案是使用postman进行接口测试。但是伟大的墙导致我们只能用离线版postman。。然后一个很长很长的接口列表,一个接一个的访问。我的天哪。。所以萌生了一个想法,使用python编写一套接口测试脚本,设置接口列表,然后逐条访问,输出日志。

      第一个坑:POST 和 GET----GET一般用于获取/查询资源信息,而POST一般用于更新资源信息|Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求。

    做过接口测试或者做过前端的人都知道,接口的访问方式是不一致的,所以才会使用postman来进行接口测试,因为它可以设置post和get方式。使用python模拟这俩种访问方式是重中之重。先说GET方式。GET方式就比较简单了,把接口放进浏览器地址栏,点下回车就完成了一次GET。所以就需要使用python访问URL就可以模拟一次GET 测试。

    复制代码
    1 import urllib2
    2 url_save = 'http://www.baidu.com/'
    3 try:
    4     s_save = urllib2.urlopen(url_save).read()
    5     print s_save  
    6 except urllib2.HTTPError, e:
    7     print e.code
    8 except urllib2.URLError, e:
    9     print str(e)
    复制代码

    如上所示就完成了一次GET请求,调用urllib2库,然后将一个字符串形式的URL传给urllib2.urlopen函数,最后使用read()方法将GET回来的数据存储起来。

    然后说说POST。其实在python的urllib2库中,我们刚刚所使用的urlopen函数还有其他几样不是必选的入参,因为这些入参给定了初始化的值:

    1 def urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,
    2             cafile=None, capath=None, cadefault=False, context=None):

     

    如上代码,urllib库有一个很智能的毛病。data不给值,访问方式就是GET,data给了值,方式就会变成POST;所以模拟POST 方式的代码如下:

    复制代码
    import urllib 
    import urllib2 
    url = 'http://www.example.com' 
    # values的形式:name:value
    values = {'**' : '***', 
              '**' : '***', 
              '**' : '***' } 
    #使用urllib.urlencode函数对values字典进行处理,最终形式为:**=***&**=***
    data = urllib.urlencode(values) 
    #如果对data顺序有要求,建议自己拼接data
    req = urllib2.Request(url, data) 
    response = urllib2.urlopen(req) 
    the_page = response.read()
    复制代码

    就像如上代码,把POST方式所需要的数据写到data参数中去,POST方式就模拟成功了。

      第二个坑:cookie的使用

    使用python获取cookie所需要的库叫做cookielib。获取cookie的例子:

    复制代码
     1 # 这里有四种CookieJar,CookieJar是最原始的
     2 cookie_use = cookielib.CookieJar()
     3 handler = urllib2.HTTPCookieProcessor(cookie_use)
     4 # 使用绑定好CookieJar的handler创建一个opener
     5 pener = urllib2.build_opener(handler)
     6 # 将opener安装到urllib2中
     7 urllib2.install_opener(opener)
     8 # 使用安装好的urllib2访问某一网站获取cookie
     9 urllib2.urlopen('https://....../login')
    10 #这个时候cookie已经被CookieJar获取到了
    11 print cookie_use
    复制代码

    在下一步,将获取到的cookie绑定到opener头中:

    1 '''
    2  将获取到的cookie绑定到opener,上一步获取的cookie并不满足如下格式,
    3  需要自己进行字符串的切片和拼接 
    4 '''
    5 opener.addheaders.append(('Cookie', 'name=***&888=888'))

    现在的opener就可以用来访问任意需要登录的网站了!

     

                 
  • 用python实现接口测试(一 、请求api)

    2016-12-05 17:47:53

    转自:

    http://www.tuicool.com/articles/fyayueV



    用python来做接口测试,可以通过学习urllib和urlllib2这两个库来实现,下面以 豆瓣图书的用户收藏信息api 来举例说明一下。

    看一下这个接口的相关信息,如下:

    我们可以把:name换成豆瓣老大阿北的用户名,即https://api.douban.com/v2/book/user/ahbei/collections,来看看阿北平时喜欢看什么书。下面分别用post和get两种方式请求api,附上代码注释。

    1.用post方法请求api:这种方式把参数放在请求内容中传递,比较安全

    #-coding:UTF8-*-
    
    import urllib2,urllib     # 把这两个库导入
    
    url = 'https://api.douban.com/v2/book/user/ahbei/collections'  # 这是要请求的url
    
    data={'status':'read','rating':3,'tag':'小说'}  # 根据api文档提供的参数,我们来获取一下阿北读过的书中,他标记了‘小说’这个标签的三星书籍,把这些参数值存在一个dict里
    
    data = urllib.urlencode(data) # 把参数进行编码 
    
    url2 = urllib2.Request(url,data) # 用.Request来发送POST请求,指明请求目标是之前定义过的url,请求内容放在data里
    
    response = urllib2.urlopen(url2)  # 用.urlopen打开上一步返回的结果,得到请求后的响应内容
    
    apicontent = response.read()  #将响应内容用read()读取出来
    
    print  apicontent  #打印读取到的内容
    

    运行上面的代码后,返回了下面的结果:

    {"count":20,"start":0,"total":1,"collections":[{"status":"read","rating":{"max":5,"value":"3","min":0},"updated":"2007-02-28 01:33:03","user_id":"1000001","tags":["小说"],"book":{"rating":{"max":10,"numRaters":33631,"average":"7.4","min":0},"subtitle":"","author":["余华"],"pubdate":"2006-3","tags":[{"count":8995,"name":"余华","title":"余华"},{"count":4754,"name":"小说","title":"小说"},{"count":2080,"name":"兄弟","title":"兄弟"},{"count":1931,"name":"中国文学","title":"中国文学"},{"count":1533,"name":"兄弟(下)","title":"兄弟(下)"},{"count":1157,"name":"当代","title":"当代"},{"count":1050,"name":"中国","title":"中国"},{"count":1010,"name":"文革","title":"文革"}],"origin_title":"","image":"http:\/\/img3.douban.com\/mpic\/s9109733.jpg","binding":"平装","translator":[],"catalog":"","pages":"475","images":{"small":"http:\/\/img3.douban.com\/spic\/s9109733.jpg","large":"http:\/\/img3.douban.com\/lpic\/s9109733.jpg","medium":"http:\/\/img3.douban.com\/mpic\/s9109733.jpg"},"alt":"http:\/\/book.douban.com\/subject\/1703544\/","id":"1703544","publisher":"上海文艺出版社","isbn10":"7532129845","isbn13":"9787532129843","title":"兄弟(下)","url":"http:\/\/api.douban.com\/v2\/book\/1703544","alt_title":"","author_intro":"余华,浙江海盐人,1960年出生于浙江杭州,后来随父母迁居海盐县。中学毕业后,因父母是医生,余华曾当过牙医,五年后弃医从文,进入县文化馆和嘉兴文联,从此开始文学创作生涯。曾在北京鲁迅文学院与北师大中文系合办的研究生班深造,1984年开始发表小说。余华是中国先锋派小说的代表人物,与叶兆言、苏童等人齐名。作品有短篇小说集《十八岁出门远行》、《世事如烟》,和长篇小说《活着》、《在细雨中呼喊》及《战栗》。","summary":"宋钢在下部里面遭遇的命运是他所在的工厂破产,他也越来越潦倒,后来因为各种各样复杂的原因,他在40多岁时**了。他**时,林红和李光头正在同一张床上。宋钢在临死之前,给林红和李光头都写了一封信。\n林红是一个典型的连接今天和过去的女性,不同于80年代以后出生的女性。宋钢的死,让她在生意场上变得像以前的李光头一样很成功,而李光头则变得没有了任何**,挣钱没有了任何兴趣,唯一的愿望就是,上太空,把哥哥的骨灰盒拿到太空去。\n在尾声里,余华交代了李光头的命运。“他要上太空去。他还专门请了两个俄罗斯留学生教他俄语,还进行体能锻炼。因为李光头在电视里看到,在太空的轨道上,每天可以看16次日出和16次日落。李光头要把宋钢的骨灰盒放在,太空的轨道上,让宋钢遨游在月亮和星星之间,最后,李光头用俄语说:‘我的兄弟宋钢就是外星人了’。”","series":{"id":"15299","title":"兄弟"},"price":"27.00元"},"book_id":"1703544","id":11128591}]}
    

    所以可以知道,阿北读过的书中,他标记了‘小说’这个标签的三星书籍只有1本( total=1 ),就是余华的《兄弟》

    2.用get方法请求api:这种方式把参数放在直接放在url中

    import urllib2,urllib
    
    url = 'https://api.douban.com/v2/book/user/ahbei/collections'  
    
    data={'status':'read','rating':3,'tag':'小说'}
    
    data = urllib.urlencode(data)
    
    url2 = url + '?' + data   
    # 跟post不同的只有这一句,使用?把url和data的内容连接起来,结果是https://api.douban.com/v2/book/user/ahbei/collections?status=read&rating=3&tag=%E5%B0%8F%E8%AF%B4
    
    response = urllib2.urlopen(url2)
    
    apicontent = response.read()
    
    print  apicontent
    

    运行之后,得到跟POST一样的结果

  • 用WireShark,Fiddler,Charles等,可截获大批的用户名和口令

    2016-12-02 17:48:10

    一个很简单的例子,如果我用笔记本在一个外租房比较密集的小区,建立一个无密码的WiFi热点,保证很多试图蹭网的人连接上来,然后如果我用WireShark(或者用WinPcap写一个过滤程序),监听WiFi收到转发的数据包,那一定能截获大批的用户名和口令,至少,如果他上知乎,用户名和口令我一定能得到。这个例子也说明了,各位千万不要贪图小便宜而去蹭别人的WiFi,这是一个对自己来说很危险的行为。

    作者:余天升
    链接:https://www.zhihu.com/question/20306241/answer/14696464
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。
  • 如何使用wireshark

    2016-12-02 17:21:27

    如何使用wireshark

    Wireshark配置起来比fiddler麻烦一些,如果不配代理,需要安装个Connectify来建立热点,然后再安装wireshark进行抓包,如果配置了代理,直接安装wireshark即可。

    1.       下载并安装wireshark

    下载地址:http://www.pc6.com/softview/SoftView_63986.html

    安装wireshark,傻瓜式安装。

    2.       使用wireshark进行抓包

    打开wireshark,界面选择抓包的接口,如下图(是按照我的电脑操作来展现的,可能每个人电脑上的接口列表不太一样):

     

    点击接口,进入抓包界面,如下图:

     

    Wireshark抓的包信息量很大,需要进行一些过滤操作,才能把有用的信息拿到,红色标注部分输入过滤规则,即可过滤出我们需要的一些信息。

    Wireshark的过滤规则,使用的是正则表达式来写的。具体可参考:http://wenku.baidu.com/link?url=lpU_NJguXVsiZ1YMTz13b_ngl2xNE--CFh8xChvc5QjisTFV4VhX65ID4TvX5WuaHLX7hRwMfEgTKylnUAdtaOF3rkVF_JfXoEDxjlTgq7i

    举例,如果想过滤域名为“mclick.simba.taobao.com”,可以设置如下过滤表达式

    过滤hosthttp &&http.host==”mclick.simba.taobao.com”

    如何使用Connectify

    如果需要不使用代理,需要建立热点来用wireshark进行抓包。

    建立热点需要用到Connectify

    1.       下载并安装Connectify

    下载地址:

    http://softdownload.hao123.com/hao123-soft-online-bcs/soft/C/2013-08-27_ConnectifyInstaller.exe

    傻瓜式安装

    2.       配置Connectify

    根据提示:设置网络名称;网络密码等

    配置wireshark,选择网卡

    3.       手机配置

    手机连接到配置的connectify配置的网络上,输入密码,即可把电脑作为热点,手机连接到指定的connectify


  • 使用tcpdump命令抓包保存pcap文件wireshark分析

    2016-12-02 17:04:34

    在程序运行的数据交互中,传输的数据一般都是以数据包的形式传输。
    在这个发送和接收的过程中,可能发出的数据包中有错误的数据,也可能接收的包中有错误的数据,从而导致后期的程序处理出错。
    因此我们直接抓取传输中的数据包,通过其他工具或方法解析数据包中的原始数据,就可以定位是否是因为数据出错而导致程序出错,如果出错又是那一部分的数据出错等。
    一般抓包测试多用于通信行业和网络行业的测试。

    wifi下查看请求参数、响应以及大小时,直接用charles就可以了,但是2G下如何来实现呢?2G网络下无法~
      经过了解,发现可以通过tcpdump+wireshark来实现。

    1、tcpdump的使用。
    首先,需要下载个tcpdump的包下载地址,push到手机中,手机必须有root权限。
    adb push 目录\tcpdump /data/local/tcpdump
    adb shell chmod 755 /data/local/tcpdump
    在adb shell下su命令获得权限。
    执行tcpdump相关命令adb shell su -c "/data/local/tcpdump -i any -p -s 0 -w /sdcard/netCapture.pcap”。
    ------------------------------
    可能遇到的问题:
    执行的时候会遇到permission deny的问题,并且su之后仍然如此,我的解决办法是先push到/mnt/sdcard下,然后再cp到/data/local下。

    2、wireshark的使用
    抓取到pcap文件后发现很多信息不方便查看,这个时候就用到wireshark这个强大的工具了。
    首先将pcap pull到本地,然后在工具中打开就可以了。


  • 使用wireshark以及filddler配合抓去手机端的TCP以及HTTP请求

    2016-12-02 16:44:17

    在测试手机客户端时,有时候需要查看网络请求状况。使用在IDE中查看log的方式,能够解决问题,但是会比较复杂。wireshark不能够做代理,而fiddler主要是抓HTTP请求,没有wireshark强大。结合两者就能够使用抓取手机端的HTTP以及TCP的请求了,而不需要再使用TCPdump这样的工具。

    1、fiddler做代理

    前提:手机和PC电脑需要连上同样的域名的网络

    步骤:

    (1)Tools -> Fiddler Options...

    按照上面的内容来配置好端口号。

    (2)在手机端修改网路配置,修改代理设置为手动设置

    上面的服务器为fiddler运行机器的IP地址,端口号为刚才设置的端口号,保存。

    实际结果:

    用手机打开我们要监控的app,就会看到在fiddler中监控到了所有的http请求,其他的fiddler任何用就不说了

    2、wireshark抓包

    前提:按照1的步骤已经设置好了fiddler的代理

    步骤:

    (1)

    结果:

    查看(418) 评论(0) 收藏 分享 管理

  • pip安装后为何无法使用pip命令?

    2016-12-01 17:55:46

    命令行下 cd到python的scripts目录,然后运行pip install 命令,应该可以解决。


    https://www.zhihu.com/question/38990967?sort=created

  • 值得购买:《Selenium2自动化测试实战--基于Python语言》

    2016-11-30 19:06:41

    http://www.cnblogs.com/fnng/p/3542333.html
  • Appium移动自动化测试(四)--one demo

    2016-11-30 18:52:52

    http://www.cnblogs.com/fnng/p/4579152.html
  • 使用jmeter进行APP接口测试经验总结

    2016-11-29 18:15:09

    http://blog.csdn.net/whorus1/article/details/50681678

    fiddler对手机进行抓包的方法可以参考:http://blog.csdn.NET/whorus1/article/details/50673740
  • RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第一篇【安装】

    2016-11-29 18:08:34

    http://blog.csdn.net/deadgrape/article/details/50563119
1954/10<12345678910>
Open Toolbar