最近沒什麼事情,看了一些關于内網穿透的文章,因我本身已是做微信開發相關的工作,對這部分關注的比較多,現分享給大家。
首先說下内網穿透的原理。
NAPT原理在NAT網關上會有一張映射表,表上記錄了内網向公網哪個IP和端口發起了請求,然後如果内網有主機向公網設備發起了請求,内網主機的請求數據包傳輸到了NAT網關上,那麼NAT網關會修改該數據包的源IP地址和源端口為NAT網關自身的IP地址和任意一個不沖突的自身未使用的端口,并且把這個修改記錄到那張映射表上。最後把修改之後的數據包發送到請求的目标主機,等目标主機發回了響應包之後,再根據響應包裡面的目的IP地址和目的端口去映射表裡面找到該轉發給哪個内網主機。這樣就實現了内網主機在沒有公網IP的情況下,通過NAPT技術借助路由器唯一的一個公網IP來訪問公網設備。 具體原理參照下圖:
更加具體的原理性介紹可以看下這篇文檔:【技巧】内網穿透工具的原理與開發實戰
我了解的内網穿透工具前5個都是基于國外的ngrok來進行二次開發的。
1、Ngrokngrok 是一個反向代理,通過在公共端點和本地運行的 Web 服務器之間建立一個安全的通道,實現内網主機的服務可以暴露給外網。ngrok 可捕獲和分析所有通道上的流量,便于後期分析和重放,所以ngrok可以很方便地協助服務端程序測試。
參考博客:10分鐘教你搭建自己的ngrok服務器
2、Natappnatapp是 基于ngrok的國内收費内網穿透工具,類似花生殼,有免費版本,比花生殼好。免費版本:提供http,https,tcp全隧道穿透,随機域名/TCP端口,不定時強制更換域名/端口,自定義本地端口
參考文章:NATAPP1分鐘快速新手圖文教程
3、小米球小米球是基于ngrok二次開發的内網穿透工具,支持多協議、多隧道、多端口同時映射(http、https、tcp等等...),同時支持多種系統win、linux、linux_arm、mac等。具體的使用直接參考官網。
4、Sunny-NgrokSunny-Ngrok同樣是ngrok二次開發的内網穿透工具,支持http,https協議,同時支持更豐富的系統和語言:linux、win、mac、openwrt、 python、php等。
教程:Sunny-Ngrok使用教程
5、echositeechosite同樣ngrok二次開發的内網穿透工具,支持多種協議,以前是全部免費的,現在推出了收費版和免費版,可根據自己的需要去選擇。
參考教程:EchoSite---讓内網穿透變得簡單
6、Ssh、autosshssh 配合autossh工具使用,因為autossh會容錯,自動重新啟動SSH會話和隧道。autossh是一個程序,用于啟動ssh的副本并進行監控,在死亡或停止傳輸流量時根據需要重新啟動它。 這個想法來自rstunnel(Reliable SSH Tunnel),但是在C中實現。作者的觀點是,它不像匆匆忙忙的工作那麼容易。使用端口轉發環路或遠程回顯服務進行連接監視。在遇到連接拒絕等快速故障時,關閉連接嘗試的速度。在OpenBSD,Linux,Solaris,Mac OS X,Cygwin和AIX上編譯和測試; 應該在其他BSD上工作。免費軟件。
使用教程:SSH内網穿透
7、Lanproxylanproxy是一個将局域網個人電腦、服務器代理到公網的内網穿透工具,目前僅支持tcp流量轉發,可支持任何tcp上層協議(訪問内網網站、本地支付接口調試、ssh訪問、遠程桌面...)。目前市面上提供類似服務的有花生殼、TeamView、GoToMyCloud等等,但要使用第三方的公網服務器就必須為第三方付費,并且這些服務都有各種各樣的限制,此外,由于數據包會流經第三方,因此對數據安全也是一大隐患。
參考教程:業餘草推薦一款局域網(内網)穿透工具lanproxy
8、SpikeSpike是一個可以用來将你的内網服務暴露在公網的快速的反向代理,基于ReactPHP,采用IO多路複用模型。采用Php實現。
參考教程:使用 PHP 實現的的内網穿透工具 “Spike”
9、Frpfrp 是一個可用于内網穿透的高性能的反向代理應用,支持 tcp, udp, http, https 協議。利用處于内網或防火牆後的機器,對外網環境提供 http 或 https 服務。對于 http, https 服務支持基于域名的虛拟主機,支持自定義域名綁定,使多個域名可以共用一個80端口。利用處于内網或防火牆後的機器,對外網環境提供 tcp 和 udp 服務,例如在家裡通過 ssh 訪問處于公司内網環境内的主機。
教程:一款很好用的内網穿透工具--FRP、使用frp實現内網穿透
10、FcnFCN[free connect]是一款傻瓜式的一鍵接入私有網絡的工具, fcn利用公共服務器以及數據加密技術實現:在免公網IP環境下,在任意聯網機器上透明接入服務端所在局域網網段。支持多種系統,有免費版和付費版。
教程:内網穿透工具FCN介紹
上面便是我所知道的内網穿透工具,其中ngrok相關的我基本都用過還有frp,都差不多。大部分都可以免費去使用,但是我不建議大家把這些免費的穿透工具去放到比較重要的雲服務器中去使用,容易被攻擊。我的小夥伴,開始你的穿透之旅吧。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!