• 0
  • 0
分享
  • 阿里开源的这款抓包工具,实在是太强了——软件测试圈
  • 曼倩诙谐 2023-03-15 10:51:43 字数 2106 阅读 5382 收藏 0

  一、前言

  众所周知,市面上有很多出名的抓包工具,比如Fiddler、Charles、wireshark、mitmproxy;这些抓包软件都各有各的好处,不过今天小编不介绍这几种抓包软件,今天小编要为大家带来的是阿里开源的一款抓包软件-------LightProxy,翻译过来就是光代理,听名字就很牛X的样子,下面我们一起来感受下光代理的魅力。

  二、说明

  很多人好奇,LightProxy是什么语言写的,其实它是用前端的Elctron来进行打包并生成的,而且他的部分代理是基于Whistle,Whistle也是和Fiddler一样的抓包工具,只不过他是可以运行在nodejs上的抓包工具,设置起来更方便。那么大家可能要问了,既然有了Whistle了,为啥还要用LightProxy,这不是多此一举吗,很显然并不是,原因就在于,LightProxy有着更强大的功能,而且操作LightProxy绝对比操作Whistle要更简单,而且LightProxy可以自动完成证书安装和代理设置,让开发人员能够精确的掌握自己的开发环境,通过 代理使用规则转发、修改每一个请求和响应的内容。

  三、工具作用

  ·抓包,包括无线场景抓包

  · 实时 hosts 绑定

  · 按规则转发资源

  · mock 接口,页面等

  · 修改请求和响应内容,例如在页面中插入 script ,修改返回头等

  四、下载安装使用

  这里我们先下载光代理,有两个版本,地址如下:

  mac:

  https://url25.ctfile.com/f/34512525-533086562-939f08

  (访问密码:7054)

  window:

  https://url25.ctfile.com/f/34512525-533084026-5ae437

  (访问密码:7054)

  当然,也可以使用git来下载,如下:

  git clone https://github.com/alibaba/lightproxy
  cd lightproxy
  yarn run install-deps
  yarn run dev

  安装都是傻瓜式的,这里就不说了,下面小编启动 LightProxy ,系统代理将自动设置为 LightProxy。单击主界面上的 Whistle 选项卡,查看 Whistle 提供的数据包捕获接口,如图:

1-1.jpg

  当然了,光代理还支持手机代理,也就是无线代理,方法也很简单,首先需要点击右边手机代理的标签(它会自动使代理在局域网上可见)。此时你可以看到一个二维码(不同的机器有不同的二维码,你需要扫描自己的二维码) ,扫描二维码下载相应的证书,并安装它。

  注意: LightProxy 默认情况下在局域网中不可见,您必须单击移动代理选项卡在移动设备上捕获数据包以使局域网可见。安装好后就可以抓到手机上的包了。

  默认情况下,LightProxy 的代理设置仅在浏览器和 Webview 上生效。如果需要在命令行上生效(例如 curl 等) ,可以使用菜单栏上提供的 copy shell 脚本函数。

1-2.jpg

  单击后,代理命令将自动复制到剪贴板。在 shell 中粘贴和执行之后,诸如 curl 之类的命令将通过 LightProxy 的代理来执行。

  例如,我们执行

  export https_proxy=http://127.0.0.1:12888 http_proxy=http://127.0.0.1:12888 all_proxy=socks5://127.0.0.1:12889curl https://baidu.com -I

  结果就是:

  HTTP/1.1 200 Connection EstablishedProxy-Agent: whistleHTTP/2 302server: bfe/1.0.8.18date: Fri, 19 Jun 2020 03:36:36 GMTcontent-type: text/htmlcontent-length: 161location: http://www.baidu.com/__lightproxy-host-ip__: 127.0.0.1__lightproxy-rules__: none__lightproxy-real-url__: https://baidu.com/__lightproxy-help__: See https://github.com/alibaba/lightproxy

  应该注意的是,通过这种方式,只有读取环境变量的应用程序将通过代理,并且不会对所有应用程序生效。

  五、总结

  总体来说,LightProxy 能够让开发者完全掌控自己的开发环境,用极低的成本定制自己的开发环境,而不是总是在等待依赖方按照自己的需求提供相应的环境甚至于,你可以自己用 NodeJS 书写针对某个规则的响应。


作者:python大佬    

来源:http://www.51testing.com/html/98/n-7793198.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 作为测试Leader接手一个新业务,怎么干?当你作为测试负责人接手了一个新业务,你可能会面临这么两个核心的问题:产品质量如何保障?QA 团队如何建设?这两个问题看似一个是职能方向,一个是业务方向,实质两者是相辅相成的。在本文中我将分享一些实践过程中的思路。整体的思路按照如下展开:01 融入环境核心原则:将自己全身心投入到一线项目,做一个好的沟通者、观察者和记录者。切忌 “新官” 上任 “三把火”,融入环境是第一要务。环境中的因素有很多,抓住“人” 与 “事”这两个核心要素。人:团队的全体成员,建立相互了解和认知的桥梁,覆盖团队中的每一位角色——开发、产品、测试、运维、设计、交互等等。怎么做?工...
            0 0 1829
            分享
          •   近日,有传言称微软公司欲将其在中国设立的唯一研究机构 —— 微软亚洲研究院(MSRA)撤离中国,转移到加拿大温哥华。但 MSRA 向界面新闻明确表示:此消息不属实。  本月中旬据金融时报报道,四位知情人士透露,总部位于北京的微软亚洲研究院已经开始寻求签证,以便将顶级人工智能专家从北京转移到其在温哥华的研究所。知情人士表示,此举可能会影响 20 至 40 名员工。一位接近微软的人士表示,微软正在加拿大建立一个由来自世界各地的专家组成的新实验室。  根据微软今年 9 月发布的一篇帖子,微软在中国拥有 9000 名员工,其中逾 80% 是软件工程师或从事研发工作。该公司还宣布计划在该国再招聘 1...
            0 0 1018
            分享
          • 摘要:做测试久了,会在所难免地碰到职业瓶颈期,这很正常,从事任何职业的工作人员都会遇到,关键是要看你如何去克服它。对优秀的软件测试人员来讲,除了要具备全面的技能、丰富的经验、良好的心理素质,最重要的还有:态度。有端正的态度,会产生责任心,去尽力完成一切工作,克服困难。 关键词:软件测试 瓶颈期 克服 从事软件测试工作久了,人容易变懒,因为重复、单调的工作比较多。继而会觉得遇到了瓶颈期:不想一直停留在测试需求分析,设计、编写、评审测试用例,执行测试,写测试脚本和测试报告,管理测试工具等。但是除了上面的工作,我们软件测试人员还能做些什么?怎么来提高软件测试...
            7 6 2699
            分享
          •   文章的作者J.B. Rajkumar分享了他在敏捷环境中实施自动化回归测试的经验。  概述  最近,当我想利用四种资源开始一个新的自动化测试项目时,我首先想到的是使用敏捷方法中的任何一个,但是往往不能继续,因为一连串的问题浮现在了我的脑海里。这些问题类似"在自动化测试中使用敏捷方法是否可能?""我能否使用传统工具?""我是否应该使用开源工具?""如果我在敏捷环境中使用了自动化测试,那么我面临的挑战都有哪些?"。在这篇文章中,让我们一起分析,在自动化测试中使用了敏捷方法所遇到的一些挑战。在敏捷环境中的自动化测试处...
            0 0 3140
            分享
          • 1、如何提高selenium脚本的执行速度?Selenium脚本的执行速度受多方面因素的影响,如网速,操作步骤的繁琐程度,页面加载的速度,以及我们在脚本中设置的等待时间,运行脚本的线程数等。但是不能单方面追求运行速度的,要确保稳定性,能稳定地实现回归测试才是关键。我们可以从以下几个方面来提高速度:一、减少操作步骤,如经过三四步才能打开我们要测试的页面的话,我们就可以直接通过网址来打开,减少不必要的操作。二、中断页面加载,如果页面加载的内容过多,我们可以查看一下加载慢的原因,如果加载的内容不影响我们测试,就设置超时时间,中断页面加载。三、在设置等待时间的时候,可以sleep固定的时间,也可以检测...
            0 0 812
            分享
      • 51testing软件测试圈微信