前言
无论是渗透测试,ctf比赛还是日常生活中,代理工具是我们必不可少的一部分但是很多人只会用代理而不懂代理的原理,接下来我将从代理的原理,由浅到深讲解到代理工具的使用
一、代理的原理
代理其实就是充当一个中间人,通过劫持流量,转发客户端和服务端的请求,不同的请求对应不同的协议可能会涉及加密解密,客户端与代理服务器之间使用一个自签名证书进行加密通信,像bp证书,但是代理服务器与目标服务器之间仍然使用原有的 SSL/TLS 加密通信
基本工作流程
代理的工作流程可以分为以下几个步骤:
客户端发送请求到代理服务器:
客户端将请求发送到代理服务器,而不是直接发送到目标服务器。客户端配置代理服务器地址和端口。
代理服务器转发请求:
代理服务器收到客户端的请求后,检查请求的目标地址。根据不同的代理类型,代理服务器可能会直接转发请求或进行缓存等操作。
目标服务器处理请求并返回响应:
代理服务器将客户端的请求转发给目标服务器,目标服务器根据请求生成响应并将其返回给代理。
代理服务器返回响应给客户端:
代理服务器接收到目标服务器的响应后,将其返回给客户端。客户端就像直接与目标服务器通信一样,接收到最终的响应内容
代理的种类
根据代理的工作方式和目标,可以分为不同类型的代理:
正向代理:
正向代理有细分匿名代理和高匿代理。
客户端通过正向代理访问目标服务器,代理隐藏了目标服务器的真实地址。正向代理常用于绕过网络封锁、隐匿身份等,我们常用的低级vpn来fq,挂Tor浏览网站,就是使用的这种模式。
匿名代理隐藏客户端的真实IP地址,从而保护客户端的隐私,其实就是高级一点的。
高匿代理不仅隐藏客户端的IP地址,还会避免透露自己是代理服务器。它的数据包内只有一些请求,没有任何来源信息使得目标服务器无法辨别是否存在代理,但通常服务器不会回复。
工作原理: 客户端设置代理地址(如 127.0.0.1:8080 ipv4本地回环代理),所有请求通过代理服务器发送。代理服务器接收到请求后,会将请求转发到目标服务器,返回的响应通过代理服务器返回给客户端。
反向代理:
客户端不知道目标服务器的真实地址,只知道代理服务器的地址。反向代理通常用于负载均衡、缓存、提升安全性等,你的请求会被代理服务器修改,去掉危害信息在转发到后端服务器,常用于中间件转发流量(nginx)
waf等,视频平台缓存等,
工作原理: 客户端向反向代理发送请求,反向代理根据配置将请求转发到后端的某一台服务器。客户端始终与反向代理交互,无法直接访问后端服务器。
透明代理:
透明代理不对客户端和服务器的通信做修改,客户端可能并不察觉自己通过代理访问网络。透明代理主要用于缓存和流量监控。常用于校园网监控,网络基站分发(数据流量),
在学校网络中,透明代理被用于监控和记录学生的网络活动。透明代理拦截网络流量但不修改其内容,管理员可以分析流量数据。
工作原理: 客户端直接向目标服务器发送请求,透明代理通常位于客户端和目标服务器之间,接收请求并进行转发。客户端无感知,流量几乎透明
特殊的代理类型
SOCKS代理
SOCKS代理是一种不依赖于应用层协议的通用代理类型,它可以转发任何类型的网络流量,因为它只是负责转发数据包,不会解析数据包。
本地回环代理
本地回环代理是指在本地计算机运行的代理服务,通常用于将来自本地计算机的网络请求转发到其他服务或应用程序,或者将数据处理和流量监控嵌入到本地环境(浏览器代理端口)中,配合bp就可以劫持流量
ipv4本地回环代理ipv6本地回环代理127.0.0.1:8080[::1]:8080系统代理
系统代理 是指操作系统层面设置的网络代理,它影响所有通过系统进行的网络请求,无论是通过浏览器、应用程序、命令行工具,还是其他网络连接。系统代理一般用于拦截和转发所有进出系统的网络流量,使得网络请求能够通过指定的代理服务器进行处理。
二、代理工具的使用
Proxifier的使用
原理:透明代理
允许用户将任何应用程序的网络流量强制通过代理服务器进行转发
使用Proxifier进行微信小程序抓包
1.设置本地回环代理服务器地址也是中间服务器地址
设置本地回环代理服务器也是中间服务器地址,抓http协议
配置代理服务器地址也是中间服务器地址,代理服务器需要打开,(如bp,yakit要打开劫持)
点击check测试
成功
设置代理规则
首先看微信全部应用
随便打开一个小程序
进入任务管理器
点打开文件位置确定程序名字
代理填刚刚设置的
最后记得勾选规则
抓到某小程序数据包
到这相信你已经有了很多想法了吧,快去实现下
至此结束
本文为原创,使用请@
当野心与实力不匹配时,就改努力了