专栏首页从零开始学自动化测试anyproxy学习4-Linux(Centos)搭建anyproxy环境

anyproxy学习4-Linux(Centos)搭建anyproxy环境

nodejs安装

anyproxy是依赖于nodejs的,所以第一步先安装nodejs,nodejs下载地址:https://nodejs.org/en/download/

找到需要下载的版本号,右键复制出下载地址https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz

  • cd 到local目录
  • 新建一个nodejs的目录
  • cd到nodejs目录,用wget下载
  • tar xf 解压文件
  • mv 重命名为node10
  • ln -s设置node软链接
  • 输入node -v查看版本号
[root@yoyo nodejs]# cd /
[root@yoyo /]# cd /usr/local/
[root@yoyo local]# mkdir nodejs
[root@yoyo nodejs]# wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz
[root@yoyo nodejs]# tar xf node-v10.15.0-linux-x64.tar.xz
[root@yoyo nodejs]# ll
total 21088
drwxrwxr-x 6  500   500     4096 Dec 26 14:27 node-v10.15.0-linux-x64
-rw-r--r-- 1 root root  12307872 Dec 26 14:28 node-v10.15.0-linux-x64.tar.xz
[root@yoyo nodejs]# mv node-v10.15.0-linux-x64 nodejs10
[root@yoyo nodejs]# ln -s /usr/local/nodejs/nodejs10/bin/node /usr/local/bin
[root@yoyo nodejs]# node -v
v10.15.0

安装anyproxy

直接用npm安装经常会下载失败,需要先安装cnpm, 安装完成之后输入cnpm -v查看版本号

[root@yoyo nodejs]# npm install -g cnpm --registry=https://registry.npm.taobao.org
[root@yoyo nodejs]# cnpm -v
cnpm@6.0.0 (/usr/lib/node_modules/cnpm/lib/parse_argv.js)
npm@6.5.0 (/usr/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)
node@10.15.0 (/usr/local/nodejs/nodejs10/bin/node)
npminstall@3.19.1 (/usr/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)
prefix=/usr/local/nodejs/nodejs10
linux x64 3.10.0-693.2.2.el7.x86_64
registry=https://registry.npm.taobao.org
[root@yoyo nodejs]#

使用cnpm安装anyproxy

cnpm install -g anyproxy

安装完成后找到anyproxy的安装位置

find指令查找anyproxy的位置

find / -name ‘anyproxy’

[root@yoyo ~]# find / -name  'anyproxy'
/tmp/npm-9279-e5ff661b/registry.npmjs.org/anyproxy
/root/.npminstall_tarball/a/n/y/p/anyproxy
/root/.npm/anyproxy
/root/.npm/registry.npmjs.org/anyproxy
/usr/local/nodejs/nodejs10/bin/anyproxy
/usr/local/nodejs/nodejs10/lib/node_modules/anyproxy
/usr/local/nodejs/nodejs10/lib/node_modules/anyproxy/bin/anyproxy
[root@yoyo ~]#

安装CA证书

anyproxy默认抓http请求,如果想抓https请求需安装CA证书,cd到anyproxy的安装bin目录,也就是上面查找到的/usr/local/nodejs/nodejs10/bin/anyproxy

cd /usr/local/nodejs/nodejs10/bin/ node anyproxy-ca

[root@yoyo ~]# cd /usr/local/nodejs/nodejs10/bin
[root@yoyo bin]# node anyproxy-ca
detecting CA status...
AnyProxy CA exists, but not be trusted
? Would you like to open the folder and trust it ? Yes
[root@yoyo bin]#

启动anyproxy服务

可以使用node启动anyproxy服务,先cd到anyproxy的安装目录

node anyproxy -i

但这样会有一个问题,窗口关闭后,就不会运行了,可以使用setsid方式挂后台启动服务

setsid node anyproxy -i —ignore-unauthorized-ssl >anyproxy.log

—ignore-unauthorized-ssl是忽略https证书异常

[AnyProxy Log][2019-05-17 08:41:10]: The root CA file path is: /root/.anyproxy/certificates/rootCA.crt
[AnyProxy Log][2019-05-17 08:41:10]: Http proxy started on port 8001
[AnyProxy Log][2019-05-17 08:41:10]: web interface started on port 8002

设置代理端口是8001,web页面打开的端口是8002,打开浏览器输入http://localhost:8002/ (或者http://127.0.0.1:8002)就能打开anyproxy页面了 其它机器访问的话,需开放8001和8002端口,浏览器输入http://linux机器的ip:8002/进入到web页面

测试anyproxy环境

在电脑上输入http://安装AnyProxy机器的IPp:8002/进入到web页面

用curl发请求测试的方法如下

  • 直接请求服务器:curl http://httpbin.org/get
  • 通过代理服务器请求:curl http://httpbin.org/get --proxy http://127.0.0.1:8001

使用xshell远程连接linux服务器,输入curl http://httpbin.org/get --proxy http://127.0.0.1:8001,然后刷新浏览器页面,就能看到抓到的请求了

停掉anyproxy服务

停掉anyproxy服务可以先ps查到进程,再kill掉

ps -ef | grep anyproxy kill -9 进程id

[root@yoyo bin]# ps -ef | grep anyproxy
root     29981     1  4 08:35 ?        00:00:01 node anyproxy -i
root     30105 29771  0 08:36 pts/1    00:00:00 grep --color=auto anyproxy
[root@yoyo bin]# kill -9 29981
[root@yoyo bin]#

设置代理

我们需要在被代理的手机上安装证书,这样在AnyProxy上才能以明文的方式查看https请求内容。在手机上安装证书有两种方式:

  • 直接在手机浏览器中打开http://ip:8002/fetchCrtFile(IP换成安装AnyProxy机器的IP)
  • 在安装浏览器上打开http://ip:8002/,RootCA界面然后扫描二维码,在浏览器中打开安装证书 确保手机和AnyProxy机器在一个局域网,手机上设置代理,设置代理ip为anypeoxy主机的ip,端口是8001

本文分享自微信公众号 - 从零开始学自动化测试(yoyoketang),作者:上海悠悠

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • httprunner学习17-linux上安装httprunner环境

    如果你是在linux上安装httprunner环境,用的是python3的环境,安装成功后会发现hrun命令找不到,需添加软链接。

    上海-悠悠
  • docker学习11-上传本地镜像到镜像仓库

    在本地自己制作用过镜像后,上传到镜像仓库,这样方便在不同的机器上快速搭建同一套环境。 如果公开的话,别人也可以用你的镜像快速搭建环境,类似于 GitHub 本地...

    上海-悠悠
  • python笔记36-装饰器之wraps

    前面一篇对python装饰器有了初步的了解了,但是还不够完美,领导看了后又提出了新的需求,希望运行的日志能显示出具体运行的哪个函数。

    上海-悠悠
  • 干货丨如何快速区分公有云,私有云和混合云的概念

    云计算的发展到今天,很多企业计划或正在使用云计算,但不是每个企业都使用相同类型的云模式。云模式有三种,包括公有云,私有云和混合云。为了帮助企业选择合适的模式,以...

    齿轮易创说互联网
  • Linux下切换Python版本

    这两天遇到一个问题需要在 python3 的环境下进行测试,由于Linux默认已经安装了Python2.7,并且作者一直也在使用 ,所以需要重新安装并临时切换到...

    py3study
  • 必备收藏| centos7安装Python3并且将pip设置为Python3中的pip

    相信大家在部署一些项目到服务器时,大多数情况都是在centos的环境下部署的,这一篇文章主要是教大家如何在centos的服务器下安装Python3,并且在既有...

    Python进击者
  • (十七) 初遇python甚是喜爱之pip包管理工具使用

    各位读者大大们大家好,今天学习python的pip包管理工具,并记录学习过程欢迎大家一起交流分享。

    亚乐记
  • 科普:什么是公有云、私有云和混合云?

    在上一篇《什么是云计算》发表之后,很多小伙伴表示终于知道到底什么是云计算了,能够帮到大家真的很开心。

    Java3y
  • Gartner最新发布CRM魔力象限,Salesforce遥遥领先

    5月8日,Gartner发布了《Magic Quadrant for the CRM Customer Engagement Center》,据G公司预测,到2...

    臭豆腐
  • SpringBoot项目配置

    DataScience

扫码关注云+社区

领取腾讯云代金券