1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        常見內(nèi)網(wǎng)穿透工具,收好了!

        共 7473字,需瀏覽 15分鐘

         ·

        2022-01-10 18:19


        點擊上方?藍字?關(guān)注我們!



        2021 最新 Java 編程資料免費領(lǐng)!Java 視頻教程,Java Web 項目教程,互聯(lián)網(wǎng)Java 面試真題 / 算法題,簡歷模板,Linux 服務(wù)器等等,點擊領(lǐng)取!


        來源:v0w.top/2020/08/
        11/IntranetProxy/

        0x00 前言

        本文以滲透的視角,總結(jié)幾種個人常用的內(nèi)網(wǎng)穿透,內(nèi)網(wǎng)代理工具,介紹其簡單原理和使用方法。

        0x01 nps-npc

        1.1 簡介

        nps是一款輕量級、高性能、功能強大的內(nèi)網(wǎng)穿透代理服務(wù)器。目前支持tcp、udp流量轉(zhuǎn)發(fā),可支持任何tcp、udp上層協(xié)議(訪問內(nèi)網(wǎng)網(wǎng)站、本地支付接口調(diào)試、ssh訪問、遠程桌面,內(nèi)網(wǎng)dns解析等等……),此外還支持內(nèi)網(wǎng)http代理、內(nèi)網(wǎng)socks5代理、p2p等,并帶有功能強大的web管理端。

        • 一臺有公網(wǎng)IP的服務(wù)器(VPS)運行服務(wù)端(NPS)
        • 一個或多個運行在內(nèi)網(wǎng)的服務(wù)器或者PC運行客戶端(NPC)

        1.2 特點

        • Go語言編寫
        • 支持跨平臺
        • 支持多種協(xié)議的代理
        • web管理端

        1.3 使用方法

        https://github.com/ehang-io/nps/releases

        NPS

        安裝配置

        找到自己服務(wù)器相應(yīng)版本的server:

        cd?~wget?https://github.com/cnlh/nps/releases/download/v0.23.2/linux_amd64_server.tar.gztar?xzvf?linux_amd64_server.tar.gzcd?~/nps

        在nps目錄下面會有一個nps可執(zhí)行文件、conf配置目錄和web網(wǎng)頁目錄,我們只需要修改conf/nps.conf即可:

        vim?conf/nps.conf

        需要改一下#web下面的幾個參數(shù),

        web_host=?服務(wù)器IP或者域名web_username=?admin(登錄用戶名)web_password=?你的密碼web_port=8080(web管理端口)

        修改#bridge 可以更改 NPC的連接端口。比如我們拿到一臺權(quán)限受限的服務(wù)器,有防火墻,可能只有部分端口(80,443)可以出網(wǎng),就需要修改成出網(wǎng)端口。

        ##bridgebridge_type=tcpbridge_port=443????#?修改連接端口bridge_ip=0.0.0.0

        啟動

        #Mac/Linux./nps?test|start|stop|restart|status??測試配置文件|啟動|停止|重啟|狀態(tài)#Windowsnps.exe?test|start|stop|restart|status?測試配置文件|啟動|停止|重啟|狀態(tài)

        NPC

        ./npc?-server=你的IP:8024?-vkey=唯一驗證密碼?-type=tcp

        新建好客戶端后,也可以在+中看到,詳細的客戶端連接命令:

        web管理端

        在客戶端界面可以通過新增的方式添加客戶端連接,每一個連接的vkey都是唯一區(qū)分的。

        每一個客戶端,在建立連接后,都可以建立多個不同協(xié)議的隧道,這一個個隧道就是不同的代理了。

        通過不同的協(xié)議和端口就可以連接代理的內(nèi)網(wǎng)機器。

        0x02 frp

        2.1 簡介

        frp 是一個專注于內(nèi)網(wǎng)穿透的高性能的反向代理應(yīng)用,支持 TCP、UDP、HTTP、HTTPS 等多種協(xié)議??梢詫?nèi)網(wǎng)服務(wù)以安全、便捷的方式通過具有公網(wǎng) IP 節(jié)點的中轉(zhuǎn)暴露到公網(wǎng)。

        2.2 特點

        • 客戶端服務(wù)端通信支持 TCP、KCP 以及 Websocket 等多種協(xié)議。
        • 端口復(fù)用,多個服務(wù)通過同一個服務(wù)端端口暴露。
        • 跨平臺,但是支持的比nps少一點
        • 多種插件,提供很多功能

        2.3 使用方法

        下載:https://github.com/fatedier/frp/releases

        以下內(nèi)容摘自:https://segmentfault.com/a/1190000021876836

        1. 通過 rdp 訪問家里的機器

        修改 frps.ini 文件,為了安全起見,這里最好配置一下身份驗證,服務(wù)端和客戶端的 common 配置中的 token 參數(shù)一致則身份驗證通過:

        #?frps.ini[common]bind_port?=?7000#?用于身份驗證,請自行修改,要保證服務(wù)端與客戶端一致token?=?abcdefgh

        啟動 frps:

        ./frps?-c?./frps.ini

        修改 frpc.ini 文件,假設(shè) frps 所在服務(wù)器的公網(wǎng) IP 為 x.x.x.x:

        #?frpc.ini[common]server_addr?=?x.x.x.xserver_port?=?7000#?用于身份驗證,請自行修改,要保證服務(wù)端與客戶端一致token?=?abcdefgh[rdp]type?=?tcplocal_ip?=?127.0.0.1local_port?=?3389remote_port?=?6000

        啟動 frpc:

        ./frpc?-c?./frpc.ini

        通過 rdp 訪問遠程的機器,地址為:

        x.x.x.x:6000

        開機自啟

        針對 Windows 系統(tǒng),為了便于使用,可以配置一下開機的時候靜默啟動。

        在 frpc.exe 的同級目錄創(chuàng)建一個 start_frpc.vbs:

        'start_frpc.vbs'請根據(jù)實際情況修改路徑CreateObject("WScript.Shell").Run?"""D:\Program?Files\frp_windows_amd64\frpc.exe"""?&?"-c"?&?"""D:\Program?Files\frp_windows_amd64\frpc.ini""",0

        復(fù)制 start_frpc.vbs 文件,打開以下目錄,注意將


        改為你的用戶名:

        C:\Users\\AppData\Roaming\Microsoft\Windows\Start?Menu\Programs\Startup

        鼠標右擊,粘貼為快捷方式即可。

        2. 通過 SSH 訪問公司內(nèi)網(wǎng)機器

        frps 的部署步驟同上。

        啟動 frpc,配置如下:

        #?frpc.ini[common]server_addr?=?x.x.x.xserver_port?=?7000#?用于身份驗證,請自行修改,要保證服務(wù)端與客戶端一致token?=?abcdefgh[ssh]type?=?tcplocal_ip?=?127.0.0.1local_port?=?22remote_port?=?6000

        通過 SSH 訪問內(nèi)網(wǎng)機器,假設(shè)用戶名為 test:

        ssh?-oPort=6000?test@x.x.x.x

        3. 通過自定義域名訪問部署于內(nèi)網(wǎng)的 Web 服務(wù)

        有時想要讓其他人通過域名訪問或者測試我們在本地搭建的 Web 服務(wù),但是由于本地機器沒有公網(wǎng) IP,無法將域名解析到本地的機器,通過 frp 就可以實現(xiàn)這一功能,以下示例為 http 服務(wù),https 服務(wù)配置方法相同, vhost_http_port 替換為 vhost_https_port, type 設(shè)置為 https 即可。

        修改 frps.ini 文件,設(shè)置 http 訪問端口為 8080:

        #?frps.ini[common]bind_port?=?7000vhost_http_port?=?8080#?用于身份驗證,請自行修改,要保證服務(wù)端與客戶端一致token?=?abcdefgh

        啟動 frps:

        ./frps?-c?./frps.ini

        修改 frpc.ini 文件,假設(shè) frps 所在的服務(wù)器的 IP 為 x.x.x.x,local_port 為本地機器上 Web 服務(wù)對應(yīng)的端口, 綁定自定義域名 www.yourdomain.com:

        #?frpc.ini[common]server_addr?=?x.x.x.xserver_port?=?7000#?用于身份驗證,請自行修改,要保證服務(wù)端與客戶端一致token?=?abcdefgh[web]type?=?httplocal_port?=?80custom_domains?=?www.yourdomain.com

        啟動 frpc:

        ./frpc?-c?./frpc.ini

        www.yourdomain.com 的域名 A 記錄解析到 IP x.x.x.x,如果服務(wù)器已經(jīng)有對應(yīng)的域名,也可以將 CNAME 記錄解析到服務(wù)器原先的域名。

        通過瀏覽器訪問 http://www.yourdomain.com:8080 即可訪問到處于內(nèi)網(wǎng)機器上的 Web 服務(wù)。

        4. 對外提供簡單的文件訪問服務(wù)

        通過 static_file 插件可以對外提供一個簡單的基于 HTTP 的文件訪問服務(wù)。

        frps 的部署步驟同上。

        啟動 frpc,啟用 static_file 插件,配置如下:

        #?frpc.ini[common]server_addr?=?x.x.x.xserver_port?=?7000#?用于身份驗證,請自行修改,要保證服務(wù)端與客戶端一致token?=?abcdefgh[test_static_file]type?=?tcpremote_port?=?6000plugin?=?static_file#?要對外暴露的文件目錄plugin_local_path?=?/tmp/file#?訪問?url?中會被去除的前綴,保留的內(nèi)容即為要訪問的文件路徑plugin_strip_prefix?=?staticplugin_http_user?=?abcplugin_http_passwd?=?abc

        通過瀏覽器訪問 http://x.x.x.x:6000/static/ 來查看位于 /tmp/file 目錄下的文件,會要求輸入已設(shè)置好的用戶名和密碼。

        1. 統(tǒng)計面板(Dashboard)

        通過瀏覽器查看 frp 的狀態(tài)以及代理統(tǒng)計信息展示。

        注:Dashboard 尚未針對大量的 proxy 數(shù)據(jù)展示做優(yōu)化,如果出現(xiàn) Dashboard 訪問較慢的情況,請不要啟用此功能。

        需要在 frps.ini 中指定 dashboard 服務(wù)使用的端口,即可開啟此功能:

        [common]dashboard_port?=?7500#?dashboard?用戶名密碼,默認都為?admindashboard_user?=?admindashboard_pwd?=?admin

        打開瀏覽器通過 http://[server_addr]:7500 訪問 dashboard 界面,用戶名密碼默認為 admin

        2. 加密與壓縮

        這兩個功能默認是不開啟的,需要在 frpc.ini 中通過配置來為指定的代理啟用加密與壓縮的功能,壓縮算法使用 snappy:

        #?frpc.ini[ssh]type?=?tcplocal_port?=?22remote_port?=?6000use_encryption?=?trueuse_compression?=?true

        如果公司內(nèi)網(wǎng)防火墻對外網(wǎng)訪問進行了流量識別與屏蔽,例如禁止了 SSH 協(xié)議等,通過設(shè)置 use_encryption = true,將 frpc 與 frps 之間的通信內(nèi)容加密傳輸,將會有效防止流量被攔截。

        如果傳輸?shù)膱笪拈L度較長,通過設(shè)置 use_compression = true 對傳輸內(nèi)容進行壓縮,可以有效減小 frpc 與 frps 之間的網(wǎng)絡(luò)流量,加快流量轉(zhuǎn)發(fā)速度,但是會額外消耗一些 CPU 資源。

        TLS

        從 v0.25.0 版本開始 frpc 和 frps 之間支持通過 TLS 協(xié)議加密傳輸。通過在 frpc.inicommon 中配置 tls_enable = true 來啟用此功能,安全性更高。

        為了端口復(fù)用,frp 建立 TLS 連接的第一個字節(jié)為 0x17。

        注意:啟用此功能后除 xtcp 外,不需要再設(shè)置 use_encryption。

        3. 代理限速

        目前支持在客戶端的代理配置中設(shè)置代理級別的限速,限制單個 proxy 可以占用的帶寬。

        #?frpc.ini[ssh]type?=?tcplocal_port?=?22remote_port?=?6000bandwidth_limit?=?1MB

        在代理配置中增加 bandwidth_limit 字段啟用此功能,目前僅支持 MBKB 單位。

        4. 范圍端口映射

        在 frpc 的配置文件中可以指定映射多個端口,目前只支持 tcp 和 udp 的類型。

        這一功能通過 range: 段落標記來實現(xiàn),客戶端會解析這個標記中的配置,將其拆分成多個 proxy,每一個 proxy 以數(shù)字為后綴命名。

        例如要映射本地 6000-6005, 6007 這 6 個端口,主要配置如下:

        #?frpc.ini[range:test_tcp]type?=?tcplocal_ip?=?127.0.0.1local_port?=?6000-6006,6007remote_port?=?6000-6006,6007

        實際連接成功后會創(chuàng)建 8 個 proxy,命名為 test_tcp_0, test_tcp_1 ... test_tcp_7。

        0x03 ew

        3.1 簡介

        EW 是一套便攜式的網(wǎng)絡(luò)穿透工具,具有 SOCKS v5服務(wù)架設(shè)和端口轉(zhuǎn)發(fā)兩大核心功能,可在復(fù)雜網(wǎng)絡(luò)環(huán)境下完成網(wǎng)絡(luò)穿透。但是,現(xiàn)在工具已經(jīng)不更新了。。。

        3.2 特點

        • 輕量級,C語言編寫
        • 可以設(shè)置多級代理
        • 跨平臺
        • 但是只支持Socks5代理

        3.3 使用方法

        以下使用方法均摘自:http://rootkiter.com/EarthWorm/

        以下所有樣例,如無特殊說明代理端口均為1080,服務(wù)均為SOCKSv5代理服務(wù).

        該工具共有 6 種命令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran)。

        1. 正向 SOCKS v5 服務(wù)器

        $?./ew?-s?ssocksd?-l?1080

        2. 反彈 SOCKS v5 服務(wù)器

        這個操作具體分兩步:a) 先在一臺具有公網(wǎng) ip 的主機A上運行以下命令:

        $?./ew?-s?rcsocks?-l?1080?-e?8888

        b) 在目標主機B上啟動 SOCKS v5 服務(wù) 并反彈到公網(wǎng)主機的 8888端口

        $?./ew?-s?rssocks?-d?1.1.1.1?-e?8888

        成功。

        3. 多級級聯(lián)

        工具中自帶的三條端口轉(zhuǎn)發(fā)指令, 它們的參數(shù)格式分別為:

        $?./ew?-s?lcx_listen?-l??1080???-e?8888??$?./ew?-s?lcx_tran???-l??1080???-f?2.2.2.3?-g?9999??$?./ew?-s?lcx_slave??-d?1.1.1.1?-e?8888????-f?2.2.2.3??-g??9999

        通過這些端口轉(zhuǎn)發(fā)指令可以將處于網(wǎng)絡(luò)深層的基于TCP的服務(wù)轉(zhuǎn)發(fā)至根前,比如 SOCKS v5。首先提供兩個“二級級聯(lián)”本地SOCKS測試樣例:

        a) lcx_tran 的用法

        $?./ew?-s?ssocksd??-l?9999$?./ew?-s?lcx_tran?-l?1080?-f?127.0.0.1?-g?9999

        b) lcx_listen、lcx_slave 的用法

        $?./ew?-s?lcx_listen?-l?1080?-e?8888$?./ew?-s?ssocksd????-l?9999$?./ew?-s?lcx_slave??-d?127.0.0.1?-e?8888?-f?127.0.0.1?-g?9999

        再提供一個“三級級聯(lián)”的本地SOCKS測試用例以供參考

        $?./ew?-s?rcsocks?-l?1080?-e?8888?$?./ew?-s?lcx_slave?-d?127.0.0.1?-e?8888?-f?127.0.0.1?-g?9999??$?./ew?-s?lcx_listen?-l?9999?-e?7777??$?./ew?-s?rssocks?-d?127.0.0.1?-e?7777

        數(shù)據(jù)流向: SOCKS v5 -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks

        0x04 ngrok

        4.1 簡介

        ngrok 是一個反向代理,通過在公共端點和本地運行的 Web 服務(wù)器之間建立一個安全的通道,實現(xiàn)內(nèi)網(wǎng)主機的服務(wù)可以暴露給外網(wǎng)。ngrok 可捕獲和分析所有通道上的流量,便于后期分析和重放,所以ngrok可以很方便地協(xié)助服務(wù)端程序測試。

        4.2 特點

        • 官方維護,一般較為穩(wěn)定
        • 跨平臺,閉源
        • 有流量記錄和重發(fā)功能

        4.3 使用方法

        • 進入ngrok官網(wǎng)(https://ngrok.com/),注冊ngrok賬號并下載ngrok;
        • 根據(jù)官網(wǎng)給定的授權(quán)碼,運行如下授權(quán)命令;
        • ./ngrok authtoken 1hAotxhmORtzCYvUc3BsxDBPh1H_**** **** **** **** **
        • ./ngrok http 80即可將機器的80端口http服務(wù)暴露到公網(wǎng),并且會提供一個公網(wǎng)域名。

        可以通過官網(wǎng)的UI界面查看數(shù)據(jù)包和流量等等(但是要付費==、)

        還可以通過一些命令將內(nèi)網(wǎng)的文件和其他TCP服務(wù) 暴露到公網(wǎng)中。

        有授權(quán)的設(shè)置文件共享

        ngrok?http?-auth="user:password"?file:///Users/alan/share

        無授權(quán)的設(shè)置文件共享

        ngrok?http?"file:///C:\Users\alan\Public?Folder"

        將主機的3389的TCP端口暴露到公網(wǎng)

        ngrok?tcp?3389


        END



        若覺得文章對你有幫助,隨手轉(zhuǎn)發(fā)分享,也是我們繼續(xù)更新的動力。


        長按二維碼,掃掃關(guān)注哦

        ?「C語言中文網(wǎng)」官方公眾號,關(guān)注手機閱讀教程??


        學(xué)習(xí)資料包括:?Java,算法,數(shù)據(jù)庫,Linux,簡歷,運維?等編程分類,在不斷更新中哦


        點擊“閱讀原文”,馬上免費領(lǐng)??!
        ??????
        瀏覽 46
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产免费视频一区二区裸体 | 人人插插 | 国产骚话淫语叫床视频 | 黄色一级视频免费观看 | 国产精品成人自拍 | 国产精品秘 久久久成人福利 | 久久国产精品波多野结衣无码电影 | 男女抽插网站 | 性一乱一交一交一视频 | 护士给我做囗交 |