Centos7.x搭建anyproxy代理服务器抓取http和https请求情况

效率工具 盛行 4周前 (07-23) 89次浏览 已收录 0个评论 扫描二维码
文章目录
[隐藏]

简介

anyproxy是一款代理服务器基于nodejs,支持http和https明文代理,提供WEB界面可以更明确的查看请求情况。

相关

系统:CentOS Linux release 7.6.1810 (Core)
服务器IP:172.20.10.157
天天模拟器点击下载
Node-v10.16.0点击下载
Nodejs下载页面点击下载
Centos7.x搭建anyproxy代理服务器抓取http和https请求情况

效果

Centos7.x搭建anyproxy代理服务器抓取http和https请求情况

Centos7.x搭建anyproxy代理服务器抓取http和https请求情况

步骤

安装配置nodejs

进入安装目录

cd /usr/local/

下载软件包

wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz
如果wget没有这个命令需要下载一下软件包如下
yum install -y wget

解压软件包

tar -Jxvf node-v10.16.0-linux-x64.tar.xz

重命名文件

mv node-v10.16.0-linux-x64 nodejs

删除软件包

rm -rf node-v10.16.0-linux-x64.tar.xz 

创建node软链接

ln -s /usr/local/nodejs/bin/node /usr/bin/node

验证

node -v
v10.16.0

创建npm软链接

ln -s /usr/local/nodejs/bin/npm /usr/bin/npm

验证

npm -v
6.9.0

npm安装anyproxy

npm install -g anyproxy

状态如下:

npm WARN deprecated clipboard-js@0.3.6: Please migrate to https://github.com/lgarron/clipboard-polyfill
/usr/local/nodejs/bin/anyproxy-ca -> /usr/local/nodejs/lib/node_modules/anyproxy/bin/anyproxy-ca
/usr/local/nodejs/bin/anyproxy -> /usr/local/nodejs/lib/node_modules/anyproxy/bin/anyproxy

> core-js@2.6.9 postinstall /usr/local/nodejs/lib/node_modules/anyproxy/node_modules/core-js
> node scripts/postinstall || echo "ignore"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

npm WARN svg-inline-react@1.0.3 requires a peer of react@^0.14.0 || ^15.0.0 but none is installed. You must install peer dependencies yourself.

+ anyproxy@4.1.0
added 236 packages from 274 contributors in 100.979s

创建anyproxy软链接

ln -s /usr/local/nodejs/lib/node_modules/anyproxy/bin/anyproxy /usr/bin/anyproxy

创建anyproxy-ca软链接

ln -s /usr/local/nodejs/lib/node_modules/anyproxy/bin/anyproxy-ca /usr/bin/anyproxy-ca

如果使用npm下载失败需要先安装cnpm,cnpm安装配置如下(可以正常安装请无视)

安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

状态如下:

/usr/local/nodejs/bin/cnpm -> /usr/local/nodejs/lib/node_modules/cnpm/bin/cnpm
+ cnpm@6.1.0
added 691 packages from 924 contributors in 28.278s

创建cnpm软链接

ln -s /usr/local/nodejs/bin/cnpm /usr/bin/cnpm

验证

cnpm -v
cnpm@6.1.0 (/usr/local/nodejs/lib/node_modules/cnpm/lib/parse_argv.js)
npm@6.10.1 (/usr/local/nodejs/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)
node@10.16.0 (/usr/local/nodejs/bin/node)
npminstall@3.22.1 (/usr/local/nodejs/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)
prefix=/usr/local/nodejs 
linux x64 3.10.0-957.el7.x86_64 
registry=https://r.npm.taobao.org

cnpm安装anyproxy

cnpm install -g anyproxy

安装完成之后nodenpmcnpmanyproxy都在/usr/local/nodejs/bin/目录下

进入安装目录

cd nodejs/bin/

查看软链接情况

Centos7.x搭建anyproxy代理服务器抓取http和https请求情况

anyproxy默认抓http请求,抓https请求需安装ca证书

node anyproxy-ca

状态

detecting CA status...
AnyProxy CA does not exist.
? Would you like to generate one ? Yes
temp certs cleared
rootCA generated
PLEASE TRUST the rootCA.crt in /root/.anyproxy/certificates
The cert is generated at /root/.anyproxy/certificates. Please trust the rootCA.crt.

启动anyproxy

使用node启动anyproxy服务,需要先进入到anyproxy安装目录在执行命令要不会报错

node anyproxy -i

状态

[AnyProxy WARN][2019-07-23 20:29:36]: ROOT CA NOT INSTALLED YET
[AnyProxy Log][2019-07-23 20:29:36]: The root CA file path is: /root/.anyproxy/certificates/rootCA.crt
[AnyProxy Log][2019-07-23 20:29:37]: Http proxy started on port 8001
[AnyProxy Log][2019-07-23 20:29:37]: web interface started on port 8002

此启动方法在窗口关闭之后服务也将会停止

使用setsid放后台启动

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

--ignore-unauthorized-ssl:忽略https证书异常

pm2开机自启

安装pm2

npm install -g pm2

Centos7.x搭建anyproxy代理服务器抓取http和https请求情况
创建pm2软链接

ln -s /usr/local/nodejs/lib/node_modules/pm2/bin/pm2 /usr/bin/pm2

生成systemd服务脚本

pm2 startup

Centos7.x搭建anyproxy代理服务器抓取http和https请求情况

将会自动生成systemd脚本并自动配置为自启动如下图

Centos7.x搭建anyproxy代理服务器抓取http和https请求情况

pm2启动anyproxy服务

pm2 start anyproxy -x -- -i

Centos7.x搭建anyproxy代理服务器抓取http和https请求情况

pm2相关命令

点击下方”+”查看

默认启动使用8002、8001端口,8002为WEB页面端口,8001为代理端口

netstat -nultp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      4799/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      4799/sshd           
tcp6       0      0 :::8001                 :::*                    LISTEN      5162/node /usr/loca 
tcp6       0      0 :::8002                 :::*                    LISTEN      5162/node /usr/loca 
udp        0      0 127.0.0.1:323           0.0.0.0:*                           4521/chronyd        
udp6       0      0 ::1:323                 :::*                                4521/chronyd        

配置anyproxy代理

启动模拟器之后打开浏览器输入http://172.20.10.157:8002/fetchCrtFile会弹出如下界面给证书命名

Centos7.x搭建anyproxy代理服务器抓取http和https请求情况

启动模拟器-点击“设置”-WLAN-找到“WiredSSID”(你的可能不是此名称)-鼠标放到“WiredSSID”上按下鼠标左键-点击“修改网络”-将代理项修改为“手动”配置成如下图所示:

Centos7.x搭建anyproxy代理服务器抓取http和https请求情况

浏览器打开http://172.20.10.157:8002如下图
Centos7.x搭建anyproxy代理服务器抓取http和https请求情况
模拟器随便点击一个游戏应用看《效果》栏

直接请求服务器:

curl http://httpbin.org/get

通过代理服务器请求:

curl http://httpbin.org/get --proxy http://127.0.0.1:8001

IT博客站版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Centos7.x搭建anyproxy代理服务器抓取http和https请求情况
喜欢 (0)
[使用支付宝扫码]
分享 (0)
盛行
关于作者:
企业应用技术爱好者,喜欢分享知识。如果文章中有错误,欢迎指正,谢谢。
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址