Socks代理简介
Socks代理简介
hihopkc代理简介
正常的HTTP通信是这样的:
- 客户端先通过TCP与服务器建立连接。
- 连接建立完成后,客户端向服务器发送请求。
- 服务器接收到客户端发来的请求,找到所请求的文件,并通过原来的连接发回去。
- 客户端接收到服务器传过来的文件,并用浏览器渲染出来给用户看
而通过代理服务器进行HTTP通信则是这样的:
- 客户端先与代理服务器建立TCP连接,告诉代理服务器我想要访问某某网站的哪个页面
- 代理服务器收到客户端请求,再建立一条到服务端的TCP连接,把这个请求通过这个连接转发到服务端。
- 这样在服务器看来,就好像是客户端请求内容一样,然后服务器把所请求的内容响应给代理服务器
- 代理服务器再把内容通过与客户端的连接送回客户端
代理服务器作为一个中间人,负责转发客户端请求消息以及服务端响应消息
正向代理
正向代理(Forward Proxy):是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP 地址,还有代理程序的端口。
- 隐藏访问者的行踪
- 访问无法访问的服务器B
比如我们国内访问谷歌,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到能够访问谷歌的代理服务器,这样由代理去谷歌取到返回数据,再返回给我们,这样我们就能访问谷歌了
反向代理
反向代理(Reverse Proxy):正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端。
实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器
- 保护和隐藏原始资源服务器
正向代理代理客户端,反向代理代理服务器。
透明代理
透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改变你的请求报文,并会传送真实IP。
透明代理实例,很多公司使用的行为管理软件
客户端 A 和客户端 B 并不知道行为管理设备充当透明代理行为,当用户 A 或用户 B 向服务器 A 或服务器 B 提交请求的时候,透明代理设备根据自身策略拦截并修改用户 A 或 B 的报文,并作为实际的请求方,向服务器 A 或 B 发送请求,当接收信息回传,透明代理再根据自身的设置把允许的报文发回至用户 A 或 B,如上图,如果透明代理设置不允许访问服务器 B,那么用户 A 或者用户 B 就不会得到服务器 B 的数据。
Socks简介
SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。
根据OSI模型,SOCKS是会话层的协议,位于表示层与传输层之间。
使用TCP协议传输数据,因而不提供如传递 ICMP 信息之类的网络层网关服务。
现今大多组织的网络架构,利用网络防火墙将组织内部的网络结构与外部网络如 Internet 有效地隔离开来。这些防火墙系统通常以应用层网关的形式工作在网络之间,提供受控的 TELNET、FTP、SMTP 等的接入。
而SOCKS则提供一个通用框架来使这些协议安全透明地穿过防火墙。
Socks代理简介
- 被代理端与代理服务器通过 SOCKS4/5 代理协议进行通讯;
- SOCKS4:是对HTTP代理协议的加强,它不仅代理HTTP协议,而是对所有向外的连接进行代理,没有协议限制;
- SOCKS4a:SOCKS4协议的简单扩展,允许客户端对无法解析域名的目的主机进行访问
- SOCKS5:SOCKS5比SOCKS4a多了身份验证、IPv6、UDP支持。创建与SOCKS5服务器的TCP连接后客户端需要先发送请求来确认协议版本及认证方式
使用Socks代理
- SOCKS服务器的IP地址
- SOCKS服务所在端口
- SOCKS服务是否需要身份验证
Socks代理与VPN区别
VPN主要用于从外网访问企业、公司的内部网络,原理是先登录到VPN防火墙、服务器,得到权限,在进入内网。这个过程,用户一直是以自己的身份进行的。而Socks5是一种代理,也就是先所有的交互数据都先经过另一台主机(网卡),这个过程中用户访问其他网络是都是使用的代理服务提供者的身份。
- 张三在外出差想访问公司内网服务器
Socks代理工具
EarthWorm
EW 是一套便携式的网络穿透工具,具有 SOCKS v5 服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透。
- FRP
FRP 是一个可用于内网穿透的高性能的反向代理应用
- ProxyChains
关于ProxyChains工具:
- 它是一个代理工具。
- 最新版本:3.1
- 专用OS:Linux和其他Unices。
- 允许TCP和DNS通过代理隧道。
- 支持HTTP、SOCKS4和SOCKS5代理服务器。
- 不同的代理类型可以混合在同一链中。
- 代理链:用户定义的代理链列表。
可用性:
- 通过代理服务器运行任何程序。
- 从限制性防火墙后面访问互联网。
- 隐藏你的IP
- 通过代理服务器运行SSH、telnet、wget、ftp、apt、vnc、nmap。
- 从外部通过反向代理访问内联网(192.168.. / 10...* )。
- Proxifier
Proxifier 是一个程序,它允许不支持通过代理服务器工作的网络应用程序通过 SOCKS 或 HTTPS
代理或代理服务器链进行操作。
- Stowaway
Stowaway是一个利用go语言编写、专为渗透测试工作者制作的多级代理工具
用户可使用此程序将外部流量通过多个节点代理至内网,突破内网访问限制,构造树状节点网络,并轻松实现管理功能
- iox
端口转发 & 内网代理工具
特性:
流量加密(可选)
友好的命令行参数
逻辑优化
UDP流量转发
反向代理模式中使用TCP多路复用
- Chisel
A fast TCP tunnel over HTTP
https://github.com/jpillora/chisel
Chisel是快速的TCP隧道,通过HTTP传输,并通过SSH保护。单个可执行文件,包括客户端和服务器。用Go(golang)编写。尽管Chisel也可用于为您的网络提供安全的端点,但它主要用于穿越防火墙。
- Other
1 | reDuh:https://github.com/sensepost/reDuh |