転送:https://www.cnblogs.com/yoyoketang/p/10879404.html
序文
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
- nodejsのディレクトリを作成します。
- ダウンロードにwgetコマンドを使用して、ディレクトリにcdをnodejs
- タールXF-解凍ファイル
- MVリネームNODE10
- -sノードLNソフトリンクを設定します
- バージョン番号を表示-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 -v入りバージョン番号を表示し、cnpmをインストールする必要があり、インストールが頻繁に失敗したダウンロード
[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 -g anyproxyをインストール
インストールが完了したら、anyproxyの設置場所を探します
anyproxyの場所を見つけるために、コマンドを見つけます
/ -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証明書のインストール
HTTPS要求がインストールされているトップを見つけることであるCA証明書、インストールbinディレクトリをanyproxy CDを、つかむしようとした場合anyproxyデフォルトでは、HTTPリクエストを逮捕しました/usr/local/nodejs/nodejs10/bin/anyproxy
CDは/ usr / local / nodejs / nodejs10 / binに/
ノード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サービスを開始
あなたは、インストールディレクトリをanyproxyするanyproxyサービス、最初のCDを開始ノードを使用することができます
ノードanyproxy -i
しかし、これはあなたがサービスを開始するために舞台裏ハングアップするがsetsid方法を使用することができ、ウィンドウを閉じた後、それは実行されません、問題になります
がsetsidノードanyproxy -i --ignore-不正SSL> anyproxy.log
** --ignore-不正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 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
Psがanyproxyサービスが最初のプロセスで見つけることができます停止し、その後、殺します
-ef PS | anyproxy grepを
殺す-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]#
プロキシ設定
私たちは、HTTPS要求AnyProxy上のテキストビューのコンテンツをクリアするように、エージェントの電話に証明書をインストールする必要があります。二つの方法で電話に証明書をインストールします。
- 直接HTTPに携帯電話のブラウザを開く:// IP:8002 / fetchCrtFile(マシンIPにIPのインストールAnyProxy)
- // IP:ブラウザのHTTPインストールに関するオープン8002 /、ROOTCAのCAインタフェースをして、2次元コードをスキャンし、ブラウザで開くように証明書をインストールします
确保手机和AnyProxy机器在一个局域网,手机上设置代理,设置代理ip为anypeoxy主机的ip,端口是8001
参考https://www.cnblogs.com/yoyoketang/p/10867050.html
转自:https://www.cnblogs.com/yoyoketang/p/10879404.html
前言
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