用Python编写一个穿过proxy server的Tunnel

 

课题背景:

1、公司所有电脑都通过一个proxy server连接外网(只允许内部网络发出的HTTP请求通过发送到外网,而来自外网的所有数据包都会被拦截)

2、现有公司一员工想用家里的电脑HOME控制公司内的某台电脑WORK

3、他可以在这2台电脑内任意操作

Proxy server的内部监听端口:3128

 

 

 

思路:

现有可以远程操控电脑的基本也 Telnet 和 SSH为主,但是 Telnet是不安全的,所以选择 SSH。

在HOME和WORK各运行一个程序,用http协议穿过proxy传递、接收信息到达建立ssh连接的目的。

 

具体:WORK 发送SSH Server消息用 POST 请求穿过Proxy到HOME,然后HOME紧接着将SSH-Client的回答包装成一个http回应发回到proxy,然后proxy自动回发到WORK,这样就到达了数据输出跟传入的目的。

这样就可以无视proxy的存在,自由操作公司内网电脑了

 

课题加深:

现公司系统网络管理员发现员工的这一行为以后,要编写一个"过滤器"来加强proxy的功能到达阻止这种tunnel的建立。

 

思路:编写这个“过滤器”并将它放在WORK与Proxy之间,也就是说Work的HTTP请求a:先接收我们“过滤器”的检查,如果没有问题再发送给proxy,b:对proxy的回应也接收检查,如果都OK才将信息回发给WORK。但是如果a、b中其中一者有问题,这个tunnel就会被拦截。 具体的如何“检查”可以先参考RFC的HTTP文档后,再对http的请求跟回应做处理(比方说如果HTTP请求GET中的RUL太长或者包含SSH都字符,我就可以基本任何这个请求时tunnel的信息,只要拦截就能破除这种tunnel)

 

如果有朋友敢兴趣可以到我的下载页下载原代码。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值