zoukankan      html  css  js  c++  java
  • anyproxy学习4-Linux(Centos)搭建anyproxy环境

    前言

    anyproxy可以跨平台使用,前面第一篇是搭建在windows机器上,本篇讲如何在linux上搭建anyproxy环境,当然有mac的小伙伴也可以用mac去搭建一个环境。

    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/bin/node
    [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
    参考https://www.cnblogs.com/yoyoketang/p/10867050.html

  • 相关阅读:
    菜鸟学自动化测试(三)—-selenium 命令
    菜鸟学自动化测试(二)—-selenium IDE 功能扩展
    用js实现自动打字动画效果
    hihoCoder #1015 : KMP算法
    hihoCoder #1014 : Trie树
    android相对布局中@id和@+id的区别(原理)
    android中动态给EditText获得焦点并弹起软键盘的方法详解
    网页版井字游戏(TicTacToe)人机对战的制作(附思路和源码)
    网页版番茄时钟的制作——Pomodoro Clock
    制作网页版简易计算器(Calculator)
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/10879404.html
Copyright © 2011-2022 走看看