写在前面:为了复现*ctf的oh-my-lotto那道题,补了一下关于代理方面的知识,顺便做一下总结
1、代理透明度
- 全匿名代理
- 普通代理
- 全透明代理
2、正向代理和反向代理
- 正向代理,代理服务器代表客户端向服务端发送请求,这样可以隐藏真实的客户端
- 反向代理表示,代理服务器代表服务端向客户端返回请求,这样可以隐藏真实的服务端
3、hosts文件
-
位置
windows下的hosts文件
C:\Windows\System32\drivers\etc\hosts
linux下的hosts文件
/etc/hosts
-
作用
通过在本地将域名与ip地址进行映射,就不需要去dns服务器上进行域名解析,加快访问速度
-
构成
ip地址
域名或者主机名
别名
4、设置http_proxy、https_proxy
-
windows下相关命令
set http_proxy = http://124.222.172.241:8888
设置http_proxy代理set http_proxy =
清空设置的代理echo %http_proxy%
输出设置的代理内容 -
linux相关命令
export http_proxy = http://124.222.172.241:8888
设置代理unset http_proxy
清空代理export http_proxy = ""
清空代理env | grep -i http_proxy
查看代理
5、tinyproxy的配置
-
在vps上下载
sudo apt install tinyproxy
-
进行配置,主要包含代理的
端口
,ip地址
,via头
,xtinyproxy字段
-
端口 8888 注意要防火墙开启 ufw allow 8888, vps防火墙设置也要开启 8888
-
ip设置为所有的都可以访问
-
via头部,
ViaProxyName
标记代理的名称,如果没有开启下面的DisableViaHeader
,就会显示在 http请求头中,要是开启,就可以达到隐藏的效果 -
XTinyProxy字段,如果开启,会在http请求头中加入一个字段,显示客户端的ip,如果不开启,可以达到隐藏的效果
-
6、测试代理是否配置成功
-
curl命令
-v 参数
显示交互详细信息,里面可以看http_proxy-I
参数 显示响应头-x 参数
设置代理 -
网站 http://httpbin.ort/ip、http://httpbin.org/get?show_env