用Python編寫一個穿過proxy server的Tunnel

來源:互聯網
上載者:User

 

課題背景:

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,然後proxyAutoPostBack到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)

 

如果有朋友敢興趣可以到我的下載頁下載原代碼。

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.