亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于樹莓派的內網穿透技術研究與實現(xiàn)

        2021-10-30 05:19:08韓星越
        網絡安全技術與應用 2021年10期

        ◆韓星越

        基于樹莓派的內網穿透技術研究與實現(xiàn)

        ◆韓星越

        (77526部隊 西藏 850000)

        內網穿透是進行內網訪問的基礎,本文研究了iptables及SSH等兩種內網穿透技術,結合日常應用場景,構建內網穿透模擬環(huán)境,并基于樹莓派Zero W這一便攜式、低功耗計算平臺,進行內網穿透測試,結果表明上述兩種方案都能實現(xiàn)內網穿透。

        內網穿透;樹莓派;iptables;SSH端口轉發(fā)

        由于部分內網存在防火墻或者IP地址限定,有的甚至還存在物理隔離,導致外部設備無法對其進行訪問。如何進行內網穿透就顯得尤為重要,本文利用樹莓派Zero W這一微型計算平臺,研究內網滲透技術并構建出一個功能強大的便攜式的內網穿透工具。

        1 樹莓派Zero W簡介

        2017年3月,樹莓派基金會發(fā)布了一款代號為樹莓派Zero W(Raspberry Pi Zero W)的微型計算平臺。樹莓派Zero W是樹莓派Zero的升級款,二者主要配置相同,區(qū)別在于樹莓派Zero W加入了WIFI和藍牙模塊,使其具備了無線通信能力[1]。其硬件外觀如圖1所示。

        樹莓派Zero W的處理器為BCM2385,通過USB接口供電,可進行OTG擴展,通過mini HDMI接口可進行視頻輸出,使用BCM43438芯片實現(xiàn)無線WIFI和藍牙功能,可外接攝像頭[2]。

        樹莓派Zero W具有功耗低、尺寸小、價格便宜、功能全面等優(yōu)點,完全可以勝任對性能要求不高的項目。對于本文的內網穿透應用場景,樹莓派Zero W能實現(xiàn)相應功能且性能足夠。樹莓派Zero W主要參數(shù)見表1。

        圖1 樹莓派Zero W硬件外觀

        表1 樹莓派Zero W主要參數(shù)

        2 內網穿透基本模型

        “內網”顧名思義,區(qū)別于“外網”或者“公網”,一般是指企業(yè)或者團隊內部使用的局域網,從外部一般無法直接訪問。因此,如果打算從外部網絡訪問內部網絡,就必須進行跨網段數(shù)據(jù)轉發(fā),即內網“穿透”,基本模型如圖2所示。

        內網穿透的主要任務是實現(xiàn)數(shù)據(jù)的跨網段轉發(fā),因此該模型包含A、B兩個網段,分別代表“內網”和“外網”。模型中A網段(內網),為192.168.79.0/24,包含服務器A1、主機A2;B網段(外網)為192.168.101.0/24,包含主機B1、主機B2。A網段的主機與B網段的主機分別處于不同的局域網,中間可能還存在物理隔離,因此兩個網段的主機之間無法直接通信。

        當前部分內網為達到物理隔離的效果,甚至沒有預留可用的網口。對于內網滲透測試而言,進行內網穿透是前提條件,因此必須創(chuàng)造條件進行跨網段數(shù)據(jù)轉發(fā)。

        圖2 內網穿透基本模型

        而樹莓派Zero W可以基于USB實現(xiàn)RNDIS,實際上就是TCP/IP over USB,即在USB設備上執(zhí)行TCP/IP協(xié)議,使USB設備模擬成網卡。因此樹莓派Zero W可實現(xiàn)雙網卡功能,一端通過USB接口連接內網主機,模擬出USB有線網卡(網卡A3),另一端則通過WIFI(網卡B3)與外網主機相連。此時樹莓派Zero W同時接入了兩個網段,關鍵是如何在樹莓派上選擇合適的方式進行跨網段數(shù)據(jù)轉發(fā),最終實現(xiàn)內網穿透。

        樹莓派Zero W是一個微型的計算平臺,可運行定制版的Linux系統(tǒng),在諸多跨網段數(shù)據(jù)轉發(fā)方式中,本文選擇其中兩種合適的方式:第一種是基于iptables的轉發(fā)方案,第二種是基于SSH的轉發(fā)方案,方案細節(jié)見后文。

        3 利用iptables實現(xiàn)內網穿透

        3.1 iptables概述

        iptables是由最新的3.5 版本 Linux 內核集成的IP信息包過濾系統(tǒng),該系統(tǒng)有利于在Linux上更好地控制IP信息包過濾和防火墻配置。在日常工作中,部分網絡運維人員也將iptables稱為Linux防火墻,但這樣稱呼并不準確。嚴格來說,iptables是一個對防火墻進行配置的工具,運維人員可借助該工具來對內存中的包過濾規(guī)則執(zhí)行查詢、添加、刪除、修改等操作[3]。iptables是在IPV4環(huán)境中使用,而IPV6環(huán)境中需要使用ip6tables。

        3.2 NAT機制基本模型

        (1)NAT原理

        絕大多數(shù)情況下,內網主機使用的是私有IP地址,而外網或公網主機一般是公有IP地址,私有IP地址在公網上會被丟棄,導致數(shù)據(jù)無法正常傳輸。因此為達到內網與外網正?;ネǖ男Ч仨氁隢AT機制。

        NAT是Network Address Translation的縮寫,意即“網絡地址轉換”,實現(xiàn)IP數(shù)據(jù)報中的源IP地址和目的IP地址的轉換,其基本原理如圖2所示。

        圖2描述了NAT網絡地址轉換的基本流程,內網主機IP地址為192.168.79.2,NAT主機包含兩張網卡分別為eth0和eth1。其中eth1與內網處于同一網段,其IP地址為192.168.79.1,eth0與外網連接,其IP地址為10.10.10.1,經過若干路由節(jié)點后可與IP地址為1.2.3.4目標主機通信。

        圖2左側為一個請求數(shù)據(jù)包從內網發(fā)送至外網過程中源IP的目的IP的轉換情況,右側為響應數(shù)據(jù)包從外網返回至內網過程中源IP和目的IP的轉換情況。數(shù)據(jù)包從內網主機發(fā)出時,源IP為192.168.79.2,目的IP為1.2.3.4。數(shù)據(jù)包傳送至eth1時,源IP和目的IP不變。經NAT轉換后,數(shù)據(jù)包從eth0出來時,目的IP不變,源IP由192.168.79.2變?yōu)?0.10.10.1(圖中左側灰色部分),這是分配給eth0的IP。數(shù)據(jù)包再經過干路由節(jié)點后抵達外網主機1.2.3.4。

        外網主機的響應數(shù)據(jù)包發(fā)出時,源IP為1.2.3.4,目的IP為10.10.10.1。數(shù)據(jù)包經過若干路由節(jié)點后到達eth0時,源IP和目的IP不變,經NAT轉換后,數(shù)據(jù)包由eth1轉發(fā)至內網時,源IP不變,目的IP由10.10.10.1變換為192.168.79.2(圖中右側灰色部分)。依照IP地址,數(shù)據(jù)包最終返回至內網主機192.168.79.2。以上則是圖3所描述的NAT機制基本原理和總體工作流程[4]。

        圖3 NAT基本原理

        (2)SNAT與DNAT原理

        NAT機制在工作過程中,有兩個重要概念即SNAT和DNAT。改變Source IP的環(huán)節(jié)稱為SNAT,改變Destination IP的環(huán)節(jié)稱為DNAT。這屬于NAT內部的工作原理,如圖4所示。最外層的方框代表一個包含兩張網卡的主機,假設有一個數(shù)據(jù)包由eth1接口進入,從eth0接口離開,該數(shù)據(jù)包會經過3個不同的環(huán)節(jié),其先后順序分別為PREROUTING、路由表、POSTROUTING。類似的,若數(shù)據(jù)包是由eth0接口進入并由eth1接口離開,數(shù)據(jù)包同樣會經過這三個環(huán)節(jié),并且順序相同。

        PREROUTING主要是按照預置規(guī)則去修改數(shù)據(jù)包的Destination IP,執(zhí)行DNAT任務。從圖4可知,PREROUTING總是在NAT機制的最前端,數(shù)據(jù)包一旦進入NAT機制其目的地址就會按規(guī)則進行更新。

        POSTROUTING與PREROUTING正好相反,該環(huán)節(jié)主要是按照預置規(guī)則去修改數(shù)據(jù)包的Source IP,且位于NAT機制的最末端,數(shù)據(jù)包在離開NAT機制前,其源地址也會按規(guī)則進行更新[5]。

        NAT機制既可應用在服務器端也可應用在客戶端,除了進行網絡地址轉換外,NAT機制還有更深遠的意義。在客戶端的NAT機制可達到隱藏客戶端IP和節(jié)省公網IP的效果,從而保護客戶端主機免遭來自互聯(lián)網的網絡攻擊。在服務器端的NAT機制主要用途是保護服務端主機在互聯(lián)網上的安全。

        圖4 數(shù)據(jù)包流向與SNAT和DNAT之間的關系

        3.2 iptables內網穿透方案實現(xiàn)

        (1)測試環(huán)境

        根據(jù)常見內網穿透應用場景,搭建如圖5的實驗環(huán)境,利用樹莓派Zero W對A網段和B網段進行內網穿透。樹莓派Zero W通過USB接口與A網段進行網絡通信,通過WIFI與B網段建立網絡通信。

        圖5 iptables內網穿透方案

        (2)配置指令

        如果將A網段視為內網,B網段視為外網,則一般認為主機B準備穿透內網訪問服務器A。從主機B發(fā)出的請求數(shù)據(jù)包經過由eth1進入樹莓派時,目的IP不更新,而從eth0離開前要進行源IP的更新,即經過POSTROUTING環(huán)節(jié),執(zhí)行SNAT操作。對應的iptables配置語句如下:

        “iptables -t nat -A POSTROUTING -o eth0 -s 192.168.101.0/24 -j SNAT --to 192.168.79.1”,指令具體解釋見表2。該配置語句對請求數(shù)據(jù)包執(zhí)行了SNAT操作,iptables會自動執(zhí)行響應數(shù)據(jù)包的DNAT操作,簡化了用戶配置流程。

        表2 iptables配置指令解釋

        上述方案中樹莓派的兩張網卡IP地址默認是固定的,而實際應用場景中,網卡IP地址可能會隨機分配,因此iptables配置語句可以更新為:“iptables -t nat -A POSTROUTING -o eth0 -s 192.168.101.0/24 -j MASQUERADE”該語句中的“MASQUERADE”表明源地址與對應網卡地址始終保持一致。

        (3)測試結果

        按照圖5的iptables內網穿透方案執(zhí)行,從主機B訪問服務器A(IP:192.168.79.128)上IIS7的Web服務,可見IIS7的歡迎界面,表明iptables內網穿透成功,如圖6所示

        圖6 服務器A響應的IIS7歡迎界面

        4 利用SSH端口轉發(fā)實現(xiàn)內網穿透

        4.1 ssh端口轉發(fā)概述

        SSH 為 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定,SSH為建立在應用層基礎上的安全協(xié)議,是一種專為遠程登錄會話和其他網絡服務提供安全性的協(xié)議[6]。SSH 會自動加密所有 SSH 客戶端與服務端之間的網絡數(shù)據(jù)。但同時還提供了一個非常有用的功能,即端口轉發(fā)。它能夠將其他 TCP 端口的網絡數(shù)據(jù)通過 SSH 鏈接來轉發(fā),并且自帶相應的加解密服務。這一過程有時也被稱為“隧道”(tunneling),這是因為 SSH 為其他 TCP 鏈接提供了一個安全的數(shù)據(jù)傳輸通道。例如,Telnet,SMTP,LDAP 這些 TCP 應用均能夠從中得益,避免了用戶名,密碼以及隱私信息的明文傳輸。而與此同時,如果防火墻限制了一些網絡端口的使用,但允許 SSH 的連接,那么也能將 TCP進行端口轉發(fā),進而使用 SSH 進行通訊。

        SSH 端口轉發(fā)能夠提供兩大功能:一是加密 SSH Client 端至 SSH Server 端之間的通訊數(shù)據(jù),二是突破防火墻的限制完成一些之前無法建立的 TCP 連接[7]。

        4.2 SSH端口轉發(fā)基本模型

        SSH端口轉發(fā)主要分為本地端口轉發(fā)和遠程端口轉發(fā)兩大類。

        (1)SSH本地端口轉發(fā)

        圖7左側是本地端口轉發(fā)基本模型,主機A與主機B之間能相互訪問,主機B與主機C之間能相互訪問,但由于防火墻規(guī)則限制或者網段不同等原因導致主機A無法訪問主機C。此時,主機A可以通過SSH的方式連接上主機B,將數(shù)據(jù)包通過主機B轉發(fā)至主機C。對于端口轉發(fā)而言,將主機A的8080端口內容映射至主機C的80端口。所有對主機A的8080端口訪問都將被主機B自動轉發(fā)至主機C的80端口。其中,主機A與主機B之間的通信是SSH協(xié)議,因此也被稱為安全隧道,而主機B與主機C之間的通信則是普通的HTTP協(xié)議。由于是主機A發(fā)起SSH連接,同時也在主機A上開啟監(jiān)聽端口,因此該模式被稱為SSH本地端口轉發(fā)。

        (1)SSH遠程端口轉發(fā)

        圖7右側是遠程端口轉發(fā)基本模型,與本地端口轉發(fā)不同的是,受限于防火墻等規(guī)則限制,主機A無法連接主機B,但主機B可以連接主機A,主機B和主機C可以相互通信,主機A與主機C之間無法通信。這種情況下,從主機A向主機B發(fā)送SSH請求是無法實現(xiàn)的,因此本地端口轉發(fā)不可行,只能采用遠程端口轉發(fā)。在主機B上使用SSH連接主機A,并在主機A上建立一個socket監(jiān)聽8080端口,它是主機C上80端口的映射端口,所有訪問主機A上8080端口的請求都將由主機B轉發(fā)至主機C上的80端口。與本地端口轉發(fā)類似,主機A和主機B之間的通信采用SSH協(xié)議,主機B和主機C之間的通信是HTTP協(xié)議[8]。由于是主機B發(fā)起SSH連接,但監(jiān)聽端口卻是在主機A上開啟,因此該模式被稱為SSH遠程端口轉發(fā)模式。

        圖7 兩類端口轉發(fā)模型

        4.3 SSH內網穿透方案實現(xiàn)

        (1)測試環(huán)境

        根據(jù)常見內網穿透應用場景,搭建如圖8的測試環(huán)境,利用樹莓派Zero W使用SSH端口轉發(fā)的方式對A網段和B網段進行內網穿透。樹莓派Zero W通過USB網卡以eth0的名稱接服務器A,通過WIFI以eth1的名稱連接主機B。可同時使用SSH本地轉發(fā)和SSH遠程轉發(fā)兩種方式進行內網穿透測試。

        圖8 SSH內網穿透方案

        (2)配置語句

        配置語句基本結構為:“ssh [-配置指令] 準備開啟監(jiān)聽端口的IP地址:準備開啟的監(jiān)聽端口號:目標IP地址:目標端口號登錄名@本命令執(zhí)行端IP地址”。

        SSH本地轉發(fā)的配置語句為:“ssh -L 0.0.0.0:8080:192.168.79.128:80 -fgN root@192.168.79.1”,該語句應當在eth1端執(zhí)行。

        SSH遠程轉發(fā)的配置語句為:“ssh -R 192.168.101.1:8080:192.168.79.128:80 -fgN root@192.168.101.1”,該語句應當在eth0端執(zhí)行。

        表3 SSH端口轉發(fā)指令解釋

        (3)測試結果

        按照上述SSH內網穿透方案執(zhí)行,若要從主機B訪問服務器A(IP為192.168.79.128:80)上IIS7的Web服務,實際應訪問代理地址192.168.101.1:8080(eth1上的8080端口),結果展示了IIS7的歡迎界面,表明SSH內網穿透成功,與圖5類似。

        5 結束語

        本文對內網穿透基本模型以及iptables、SSH兩種內網穿透方式進行了研究,并以樹莓派Zero W為橋接載體,對兩種方案進行了實現(xiàn),能達到預期的內網穿透效果。在實際工作中,通過樹莓派Zero W實現(xiàn)來內網穿透的方案具兼具便攜性和功能性,可為內網穿透的實踐提供參考。

        [1]張璘,許自程,馮陳偉.基于樹莓派的遠程網絡視頻監(jiān)控系統(tǒng)[J].電視技術,2018,42(10):92-97.

        [2]薛海彬,彭小苗,顏錦奎.基于樹莓派的頻率合成器系統(tǒng)設計[J].電子測量技術,2018,41(16):125-131.

        [3]趙亞楠,馬兆豐.Linux中Netfilter/iptables的研究與應用[J].中國科技論文,2014,9(10):1174-1177+1187.

        [4]黃云澤.用iptables在云主機上實現(xiàn)端口轉發(fā)[J].網絡安全和信息化,2020(09):60-64.

        [5]余飛,楊波.Linux下基于Netfilter/Iptables防火墻的研究與應用[J].齊齊哈爾大學學報(自然科學版),2015,31(03):53-58.

        [6]曾德愚.利用SSH實現(xiàn)多種端口轉發(fā)[J].數(shù)字技術與應用,2016(09):214.

        [7]李鴻揚. 基于SSH反向隧道技術的智能家居遠程安防監(jiān)控系統(tǒng)的設計與研究[D].福州大學,2018.

        [8]陶曉玲,伍欣,亢蕊楠.基于樹莓派的隱蔽式滲透測試方法[J].電子技術應用,2016,42(06):94-97.

        国产乱人激情h在线观看 | 少妇spa推油被扣高潮| 精品91亚洲高清在线观看| 亚洲精品二区三区在线观看| 国产亚洲精品精品综合伦理| 久久久久免费看成人影片| 丁香五月缴情综合网| 深夜福利国产| 我揉搓少妇好久没做高潮| 丁香婷婷激情综合俺也去| 18禁美女裸身无遮挡免费网站| 日本少妇按摩高潮玩弄| 蜜桃传媒免费观看视频| 中文人妻av久久人妻水蜜桃| 欧美最猛黑人xxxx黑人表情| 国产成人一区二区三区视频免费蜜| 最新日本久久中文字幕| 老师开裆丝袜喷水视频| 18禁高潮出水呻吟娇喘蜜芽| 国产在线视频h| 中文字日产幕码三区做法| 日韩av无码久久一区二区| 免费无码av片在线观看网址| 国产99精品精品久久免费| 国产精品亚洲精品一区二区| 人妻少妇乱子伦精品| 久久av无码精品一区二区三区| 青青自拍视频成人免费观看| 在线免费观看黄色国产强暴av| 亚洲精品一区久久久久久| 亚洲色大成人一区二区| 午夜视频一区二区在线观看| 欧美老肥妇做爰bbww| 丝袜足控一区二区三区| 在线观看国产精品自拍| 中文字幕成人乱码熟女精品国50| 永久免费av无码入口国语片| 狠狠色狠狠色综合网老熟女 | 国产女人高潮叫床视频| 亚洲一区sm无码| 人妻少妇中文字幕久久hd高清|