Proxy Tools/Protocol

SOCKS5

SOCKS,防火墙安全会话转换协议,作用在OSI模型的第五层:

应用层
表示层
会话层    SOCKS
传输层
网络层
数据链路层
物理层

SOCKS像一个代理一样对客户端-客户端或服务端-服务端直接的数据联系提供安全上的服务;该协议设计之初是为了让有权限的用户可以穿过防火墙的限制,现在很多操作都依赖与这个协议:

  • 科学XX
  • 内网穿透:在公网VPS搭建socks代理,将内网web服务器和该vps的socks端口打通,通过vps便可访问内网资源
  • 突破端口限制:某些情况防火墙只允许访问外网特定的端口,如80,那么可利用socks协议和打开80端口的socks服务器连接,从而可连接公网上其他端口的服务器

现在大多使用应用、工具等支持使用socks5协议,默认使用1080端口

Shadowsocks

中文名称:影梭,是使用python等语言开发的、基于Apache许可证开源的代理软件,使用socks5代理

Shadowsocks分为服务器端和客户端;在服务端部署后,用户需要按照指定的密码、加密方式、端口号与其连接。

SSR

ss作者被喝茶后,breakwa11在混淆和协议等方面改进了ss,改进后的项目叫Shadowsock-R;ss与ssr原理都是socks5代理

Proxy Model

直连模式:流量不走代理

PAC模式:国内地址不走代理,国外走代理

全局模式:所有流量均走代理

V*N

虚拟专用网,走的专用通道,用来给企业传输加密数据用的,因此流量特征很明显,容易被ban

ProxyChains

是一个强制应用的TCP连接通过代理的工具,支持HTTP、SOCKS4/5等代理。只会代理TCP连接(ping不能通过代理)

比如buuoj上有些题就得使用ss来连接:

http://www.gtfly.top/2019/12/17/SWPU2019-wp.html#%E4%BB%A3%E7%90%86%E9%85%8D%E7%BD%AE

首先用shadowsocks连接,之后在命令前加上proxychains4这个命令,使bash操作通过代理,例如

proxychains4 curl www.google.com
proxychains4 python req.py

要注意proxychains配置文件/etc/proxychains.conf中要正确配置socks5与监听地址的映射:

socks5 127.0.0.1 1080

proxychains 不支持 udp 和 icmp 协议;使用 nmap 要加上 -sT -Pn

reGeorg

reGeorg这个工具,它主要是把内网服务器的端口通过 http/https 隧道转发到本机,形成一个回路。用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部开放端口。它利用 webshell 建立一个 socks 代理进行内网穿透,服务器必须支持 aspx、php 或 jsp 这些 web 程序中的一种。

python reGeorgSocksProxy.py -p 1080 -u http://xxx

用python2运行reGeorg py脚本,并指定socket代理端口,运行后本地的这个端口会和部署脚本的服务端建立连接并通信,连接成功后最下方会显示:

Georg says, 'All seems fine'

这里的监听端口为1080。之后用proxychains便可与内网通信

待更.

参考:

https://blog.csdn.net/tianxuhong/article/details/82151020

https://segmentfault.com/a/1190000019539038?utm_source=tag-newest