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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   根据韩联社报道,三星和百思买在美国遭遇集体诉讼,原因是他们涉嫌虚假宣传部分三星 QLED 4K 电视的功能,这起诉讼是由加州中区法院的 Ray Kim Law 律师事务所于周一提起的。  据诉讼文件显示,三星的部分 QLED 4K 电视并未配备该公司和百思买所宣传的 Motion Xcelerator Turbo+、FreeSync 或 HDMI 2.1 端口。通常情况下,一些电视较小尺寸的版本缺乏某些功能。例如,43 英寸版本的 The Frame TV 不支持 120Hz 刷新率,而其他尺寸的电视则具有该功能。  Motion Xcelerator Turbo + 是一种通过插帧提高内...
            0 0 668
            分享
          •   今天一看日历,才突然意识到自己毕业已经四年了。四年时间里一直在测试行业摸爬滚打,现在是时候记录一下了。  下面我来分享下我这4年软件测试经验及成长历程,或许能帮助你解决很多工作中的迷惑。  我是如何开始做测试的?  2013年开始上大学,一个不算好的小二本,专业也是被调剂的-信息与计算科学,看起来高大上的专业,实际到真正学习的时候才发现,学习的东西泛而不精,数学知识与计算机知识掺杂,导致大学学了四年后,对什么都一知半解,更找不到毕业后的方向和职业规划。  一个偶然的机会,接触到了嵌入式,听说发展前景很好。由于当时对就业的迷茫,终于没能抵挡住诱惑,就这样,大四那年基本都是在嵌入式学习中度过的...
            0 0 628
            分享
          • 一、接口测试流程1、右键点击线程组添加 HTTP请求,此时在线程组下面出现HTTP请求选项。点击该选项,出现HTTP请求界面。如下服务器名称或IP填你的服务器名或IP地址:192.168.96.8。端口号填接口所用的端口号:如:8081connect表示连接时间,比如10000毫秒;response表示响应时间,比如10000毫秒。(可以不写)Implementation选HttpClient4;(可以不写)协议填http;Content encoding填utf-8。路径填接口地址,比如登录接口/api/user/mobileLogin.jsp、/safe/0.0.1/JFFW/urlGen...
            11 12 1461
            分享
          •   用例描述反映了系统分析员对用户需求的理解,要达到能够完全理解用户需求的目标以及实现系统良好运转的期许,例图和文字描述相结合才是最完整的用例描述。  一份全面的用例描述是怎样的?  一、描述  很多人在做用例描述的时候只注重于用例图的绘制,有的则只注重于文字的描述,这两者单单重其一都是有所欠缺的。  这样说吧,图形(比如用例图或者流程图)其实是文字说明的一种补充方式,它的直观性虽然可以,但是睡明星确实不足,因此必须让那些图形能够表达其内心世界的想法,讲述图形背后的故事。通过文字描述程序的运行流程,描述参与者与系统的交互过程等。  单单只用文字描述也是片面的,文字描述尽管可以更为详细的说明一些...
            0 0 657
            分享
          • 真正面试自我介绍;python和java的区别;面向对象的三大特性;具体解释多态;Linux的基础命令;单例模型;给一个继承实例说出他的输出;数据库的查询语句;介绍一下你自己做过的项目或者参加过的竞赛,担任的角色,实现的效果;反问。其他不是技术问题:最快入职时间;公司位置偏远能接受吗?为什么不选择研究所?为什么选择测试而不是开发?1、python和java的区别开源都是开源语言,java的体量要大很多,中文版本多,python资料少且都是英文的。面向对象Java的面向对象体现在动态的接口模型以及非常简单的类机制,他们在对象中封装了父类的变量以及方法,实现了模块化和信息隐藏,而类则提供了类对象的...
            13 13 2238
            分享
      • 51testing软件测试圈微信