sshuttle全局代理的实现简析
来源:互联网 发布:php 参数传递 编辑:程序博客网 时间:2024/06/05 08:54
最近使用sshuttle实现全局代理,顺便研究了一下实现的具体原理。
直接进入主题,先看一下启动的输出信息:
先绑定到本地的12300端口,将数据通过远端的ssh服务器进行路由转发。sshuttle和ssh的tunnle不同不是基于TCP-over-TCP的,而是叫data over tcp的,省去了一次包裹。然后建立端口映射,输出信息如下:
很明显是通过iptables的代理转发来实现的,具体步骤:
- 新建nat表的处理链sshuttle-12300
- 清空处理链
- 将OUTPUT数据路由给sshuttle-12300处理
- 添加sshuttle-12300的处理过程,目标是本机则返回,目标是远程主机的tcp转发REDIRECT到12300端口,目标是dns服务器的udp数据通过12300端口来转发
当然代理结束时就会将映射信息从iptables中删除:
sshuttle是使用python实现的,安装很方便几乎是直接portable的。当然如果条件限制可以先使用ssh tunnle然后通过iptables的转发来实现代理。其实不光是sshuttle,android的gae代理也是基于这个iptables来实现的。
- sshuttle全局代理的实现简析
- sshuttle: 穷人的VPN
- shadowsocks 实现全局代理
- proxifier配合ss,实现全局代理
- Centos安装Proxychains实现linux全局代理
- linux设置网络全局代理的方法
- 全局eval的实现
- 全局的Context实现
- 实现全局的Context
- 实现全局的Context
- WiFi热点分享S-S流量实现全局透明代理
- CentOS环境下搭建ShadowSocks+Privoxy实现全局代理
- Android中WebView或者网络请求实现动态全局代理
- linux 用 shadowsocks + iptables + ss-redir 实现全局代理
- VC全局热键的实现
- 全局HOOK的实现学习!
- android 全局dialog的实现
- Qt 全局热键的实现
- opencv中的矩阵操作
- 【第一章 第一节】
- LeetCode Next Permutation 生成下一个序列
- 【第一章 第二节】
- mac 下 node-qrcode的二维码库
- sshuttle全局代理的实现简析
- Android开发adb环境配置
- ORACLE堆表和索引组织表IOT优缺点
- 取得下个参数宏定义
- Java面向对象(一)
- 微信打飞机之IOS/安卓无敌破解版
- Android开发之xml文件的序列化
- 非线性数据结构——二叉树
- canvas的translate、scale、rotate等方法