前言

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

anyproxy学习4-Linux(Centos)搭建anyproxy环境的更多相关文章

  1. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  2. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  3. Java学习心得之 Linux下搭建JavaWeb环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...

  4. Ruby学习心得之 Linux下搭建Ruby环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...

  5. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  6. Linux 下搭建 Kafka 环境

    Linux 下搭建 Kafka 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 Kafka 环境 CSDN:Linux 下搭建 Kafka 环境 环境要求 操作系统:CentOS 7 下 ...

  7. Linux 下搭建 Hadoop 环境

    Linux 下搭建 Hadoop 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 Hadoop 环境 CSDN:Linux 下搭建 Hadoop 环境 环境要求 操作系统:CentOS ...

  8. Linux 下搭建 Hive 环境

    Linux 下搭建 Hive 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 Hive 环境 CSDN:Linux 下搭建 Hive 环境 前置工作 首先,需要先完成 Linux 下搭建 ...

  9. Linux CentOS 配置Tomcat环境

    一.下载Tomcat 下载Tomcat方式也有两种,可以参考我的前一篇博文Linux CentOS配置JDK环境,这边就不再赘述. 二.在Linux处理Tomcat包 1.创建tomcat文件夹 mk ...

随机推荐

  1. javascript之this、new、apply和call详解

    this指针的原理是个很复杂的问题,如果我们从javascript里this的实现机制来说明this,很多朋友可能会越来越糊涂,因此本篇打算换一个思路从应用的角度来讲解this指针,从这个角度理解th ...

  2. cshtml 中的 AppState = Context.Application 和 控制器中的 Application 也相等

    AppState = Context.Application @{ ViewBag.Title = "Home Page"; AppState["s1"] = ...

  3. 【视频开发】Gstreamer框架中使用gst-launch进行流媒体播放

    Gstreamer框架中使用gst-launch进行流媒体播放 Gstreamer是一套开源的流媒体框架,用其也可以进行流媒体开发,Gstreamer是基于glib库编写的,需要将多个不同功能的元件( ...

  4. spark 更改日志输出级别

    package com.ideal.test import org.apache.spark.{SparkConf, SparkContext} import org.apache.log4j.{Le ...

  5. (二)Python的应用领域

    Python 的应用领域主要有如下几个: Web应用开发 Python 经常被用于 Web 开发,尽管目前 PHP.JS 依然是 Web 开发的主流语言,但 Python 上升势头更劲.尤其随着 Py ...

  6. Spring 通过@Import实现Bean的注册

    今天看到一个神奇的用法, Spring可以通过@Import导入实现了ImportBeanDefinitionRegistrar接口的类来注册那个类. ImportBeanDefinitionRegi ...

  7. zookeeper实现的分布式锁

    在分布式系统中,多个jvm对共享资源进行操作时候,要加上锁,这就是分布式锁 利用zookeeper的临时节点的特性,可以实现分布式锁 public class ZookeeperDistrbuteLo ...

  8. 山峰和山谷 Ridges and Valleys

    题目描述 思路 一开始看这道题目,也不是很会,谁会把统计之类的问题和bfs联系在一起,没有开始的状态,没有结束的状态,题目中连一个最短之类的词也没有出现. 然后统计嘛,题目中说了方格高度都相同,就把周 ...

  9. Aspx后台遍历控件

    aspx设计页面 //这个是检测按钮,检测下面的checkbox是否被选中.选中时打印其值 //https://www.cnblogs.com/pwblog/articles/3456385.html ...

  10. 三伏天里小试牛刀andriod 开发 #华为云·寻找黑马程序员#【华为云技术分享】

    2019年07月,北京,三伏天,好热啊.越热自己还越懒得动换(肉身给的信号),但是做为产品经理/交互设计师的,总想着思考些什么(灵魂上给的信号),或者是学习些什么,更有利于将来的职业发展吧,哈哈哈.工 ...