Centos7安装Charles完整教程
安装
创建文件/etc/yum.repos.d/Charles.repo
1 |
|
执行安装:
1 |
|
安装完成后,会生成一个/usr/bin/charles
的执行文件,可直接运行。
运行报错
执行charles
命令报错:because /lib64/libm.so.6: version 'GLIBC_2.27' not found (required by /usr/lib/charles-proxy/jdk/lib/server/libjvm.so)
。
解决办法,安装GLIBC_2.27
库。
下载https://mirrors.tuna.tsinghua.edu.cn/gnu/libc/glibc-2.27.tar.gz
1 |
|
configure报错
执行configure报错:These critical programs are missing or too old: bison compiler
报错原因为缺少bison
依赖和gcc编译器,以下2个步骤都需要执行:
1.安装bison
1 |
|
2.查看版本gcc --version
,版本过低,需升级gcc
下载并解压
1
2wget https://mirrors.cloud.tencent.com/gnu/gcc/gcc-10.4.0/gcc-10.4.0.tar.gz --no-check-certificate
tar -zxvf gcc-10.4.0.tar.gz安装依赖:
1
2
3
4
5yum -y install bzip2 #已安装可以跳过这一步
# 中标麒麟系统需要以下依赖
# yum -y install gmp mpfr mpc isl bzip2
cd gcc-10.4.0
./contrib/download_prerequisites配置
1
2mkdir build && cd build
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib在执行该步骤如果出现
A compiler with support for C++11 language features is required
错误,先安装c++编译器:yum install gcc-c++
编译并安装
1
make && make install
该步骤耗时很长,需耐心等候。
make报错
执行make
操作时,报各种代码错误,诸如:
- gcc-11编译glibc-2.27:
error: argument 1 of type ‘struct __jmp_buf_tag *’ declared as a pointer [-Werror=array-parameter=]
- gcc-10编译glibc-2.27:
error: array subscript 1 is outside the bounds of an interior zero-length array ‘struct dtv_slotinfo[0]’ [-Werror=zero-length-bounds]
最终解决方案gcc-10.4.0
搭配glibc-2.32
1 |
|
注意:这里的configure
使用了官方的参数,参数--prefix=/usr
是必须的。最终成功安装glibc-2.32
,该项包含2.27版本。
1 |
|
生成证书
导出charles根证书
1 |
|
将证书安装到linux系统
1 |
|
配置
charles默认使用的配置文件为~/.charles.config
,将其复制出来并进行修改:
设置访问控制,charles默认有访问限制,将其完全放开,设置如下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19<accessControlConfiguration>
<warn>true</warn>
<ipRanges>
<ipRange>
<ip>
<int>0</int>
<int>0</int>
<int>0</int>
<int>0</int>
</ip>
<mask>
<int>0</int>
<int>0</int>
<int>0</int>
<int>0</int>
</mask>
</ipRange>
</ipRanges>
</accessControlConfiguration>启用https代理,在
sslLocations
节点下添加如下内容:1
2
3
4
5
6
7
8
9
10
11<sslLocations>
<locationPatterns>
<locationMatch>
<location>
<host>*</host>
<port>*</port>
</location>
<enabled>true</enabled>
</locationMatch>
</locationPatterns>
</sslLocations>配置本地路由,使用百度作为测试:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19<entry>
<string>Map Local</string>
<mapLocal>
<toolEnabled>true</toolEnabled>
<mappings>
<mapLocalMapping>
<sourceLocation>
<protocol>https</protocol>
<host>www.baidu.com</host>
<port>443</port>
<path>/</path>
</sourceLocation>
<dest>/root/charles/test.txt</dest>
<enabled>true</enabled>
<caseSensitive>true</caseSensitive>
</mapLocalMapping>
</mappings>
</mapLocal>
</entry>
之后使用新的配置文件启动:
1 |
|
客户端访问https://chls.pro/ssl地址获取并安装charles证书,并将证书受信即可进行https代理。
charles官方文档地址:https://www.charlesproxy.com/documentation
附录
升级make
1 |
|
安装python3
1 |
|
建立软链接
1 |
|
资源地址
gnu官方地址:http://ftp.gnu.org/gnu/
腾讯云镜像:https://mirrors.cloud.tencent.com/gnu/
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/gnu/
资源 | 对应目录 |
---|---|
gcc | /gcc/ |
glibc | /libc/ |
make | /make/ |
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1j20h7lk5sr7f