<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          常見內(nèi)網(wǎng)穿透工具使用總結(jié)

          共 7790字,需瀏覽 16分鐘

           ·

          2022-01-22 16:20

          點(diǎn)擊上方“程序員大白”,選擇“星標(biāo)”公眾號(hào)

          重磅干貨,第一時(shí)間送達(dá)

          1. nps-npc

          1.1 簡(jiǎn)介

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

          • 一臺(tái)有公網(wǎng)IP的服務(wù)器(VPS)運(yùn)行服務(wù)端(NPS

          • 一個(gè)或多個(gè)運(yùn)行在內(nèi)網(wǎng)的服務(wù)器或者PC運(yùn)行客戶端(NPC

          1.2 特點(diǎn)

          1. Go語言編寫

          2. 支持跨平臺(tái)

          3. 支持多種協(xié)議的代理

          4. web管理端

          1.3 使用方法

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

          1.4 NPS

          安裝配置

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

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

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

          vim?conf/nps.conf??

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

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

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

          ##bridge??
          bridge_type=tcp??
          bridge_port=443????????#?修改連接端口??
          bridge_ip=0.0.0.0??
          啟動(dòng)
          #Mac/Linux??
          ./nps?test|start|stop|restart|status??測(cè)試配置文件|啟動(dòng)|停止|重啟|狀態(tài)??
          ??
          #Windows??
          nps.exe?test|start|stop|restart|status?測(cè)試配置文件|啟動(dòng)|停止|重啟|狀態(tài)??

          1.5 NPC

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

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

          1.6 web管理端

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

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

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

          2. frp

          2.1 簡(jiǎn)介

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

          2.2 特點(diǎn)

          • 客戶端服務(wù)端通信支持 TCP、KCP 以及 Websocket 等多種協(xié)議。

          • 端口復(fù)用,多個(gè)服務(wù)通過同一個(gè)服務(wù)端端口暴露。

          • 跨平臺(tái),但是支持的比nps少一點(diǎn)

          • 多種插件,提供很多功能

          2.3 使用方法

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

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

          1). 通過 rdp 訪問家里的機(jī)器

          1. 修改 frps.ini 文件,為了安全起見,這里最好配置一下身份驗(yàn)證,服務(wù)端和客戶端的 common 配置中的 token 參數(shù)一致則身份驗(yàn)證通過:
          #?frps.ini??
          [common]??
          bind_port?=?7000??
          #?用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶端一致??
          token?=?abcdefgh??
          1. 啟動(dòng) frps:

          ./frps -c ./frps.ini

          1. 修改 frpc.ini 文件,假設(shè) frps 所在服務(wù)器的公網(wǎng) IP 為 x.x.x.x:
          #?frpc.ini??
          [common]??
          server_addr?=?x.x.x.x??
          server_port?=?7000??
          #?用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶端一致??
          token?=?abcdefgh??
          ??
          [rdp]??
          type?=?tcp??
          local_ip?=?127.0.0.1??
          local_port?=?3389??
          remote_port?=?6000??
          1. 啟動(dòng) frpc:
            ./frpc -c ./frpc.ini

          2. 通過 rdp 訪問遠(yuǎn)程的機(jī)器,地址為:x.x.x.x:6000

          開機(jī)自啟

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

          1. 在 frpc.exe 的同級(jí)目錄創(chuàng)建一個(gè) start_frpc.vbs:
          'start_frpc.vbs??
          '
          請(qǐng)根據(jù)實(shí)際情況修改路徑??
          CreateObject("WScript.Shell").Run?"""D:\Program?Files\frp_windows_amd64\frpc.exe"""?&?"-c"?&"""D:\Program?Files\frp_windows_amd64\frpc.ini""",0??
          1. 復(fù)制 start_frpc.vbs 文件,打開以下目錄,注意將
          ??

          改為你的用戶名:

          C:\Users\\AppData\Roaming\Microsoft\Windows\Start?Menu\Programs\Startup??
          1. 鼠標(biāo)右擊,粘貼為快捷方式即可。

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

          frps 的部署步驟同上。

          1. 啟動(dòng) frpc,配置如下:
          #?frpc.ini??
          [common]??
          server_addr?=?x.x.x.x??
          server_port?=?7000??
          #?用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶端一致??
          token?=?abcdefgh??
          ??
          [ssh]??
          type?=?tcp??
          local_ip?=?127.0.0.1??
          local_port?=?22??
          remote_port?=?6000??
          1. 通過 SSH 訪問內(nèi)網(wǎng)機(jī)器,假設(shè)用戶名為 test:

          ssh -oPort=6000 [email protected]

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

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

          1. 修改 frps.ini 文件,設(shè)置 http 訪問端口為 8080:
          #?frps.ini??
          [common]??
          bind_port?=?7000??
          vhost_http_port?=?8080??
          #?用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶端一致??
          token?=?abcdefgh??
          1. 啟動(dòng) frps:

          ./frps -c ./frps.ini

          1. 修改 frpc.ini 文件,假設(shè) frps 所在的服務(wù)器的 IP 為 x.x.x.x,local_port 為本地機(jī)器上 Web 服務(wù)對(duì)應(yīng)的端口, 綁定自定義域名 www.yourdomain.com:
          #?frpc.ini??
          [common]??
          server_addr?=?x.x.x.x??
          server_port?=?7000??
          #?用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶端一致??
          token?=?abcdefgh??
          ??
          [web]??
          type?=?http??
          local_port?=?80??
          custom_domains?=?www.yourdomain.com??
          1. 啟動(dòng) frpc:

          ./frpc -c ./frpc.ini

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

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

          4). 對(duì)外提供簡(jiǎn)單的文件訪問服務(wù)

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

          frps 的部署步驟同上。

          1. 啟動(dòng) frpc,啟用 static_file 插件,配置如下:
          #?frpc.ini??
          [common]??
          server_addr?=?x.x.x.x??
          server_port?=?7000??
          #?用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶端一致??
          token?=?abcdefgh??
          ??
          [test_static_file]??
          type?=?tcp??
          remote_port?=?6000??
          plugin?=?static_file??
          #?要對(duì)外暴露的文件目錄??
          plugin_local_path?=?/tmp/file??
          #?訪問?url?中會(huì)被去除的前綴,保留的內(nèi)容即為要訪問的文件路徑??
          plugin_strip_prefix?=?static??
          plugin_http_user?=?abc??
          plugin_http_passwd?=?abc??
          1. 通過瀏覽器訪問 http://x.x.x.x:6000/static/ 來查看位于 /tmp/file 目錄下的文件,會(huì)要求輸入已設(shè)置好的用戶名和密碼。

          常用功能

          統(tǒng)計(jì)面板

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

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

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

          [common]??
          dashboard_port?=?7500??
          #?dashboard?用戶名密碼,默認(rèn)都為?admin??
          dashboard_user?=?admin??
          dashboard_pwd?=?admin??

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

          加密與壓縮

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

          #?frpc.ini??
          [ssh]??
          type?=?tcp??
          local_port?=?22??
          remote_port?=?6000??
          use_encryption?=?true??
          use_compression?=?true??

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

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

          TLS

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

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

          注意:?jiǎn)⒂么斯δ芎蟪?xtcp 外,不需要再設(shè)置 use_encryption。

          代理限速

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

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

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

          范圍端口映射

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

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

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

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

          實(shí)際連接成功后會(huì)創(chuàng)建 8 個(gè) proxy,命名為 test_tcp_0, test_tcp_1 ... test_tcp_7

          3. ew

          3.1 簡(jiǎn)介

          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 特點(diǎn)

          1. 輕量級(jí),C語言編寫

          2. 可以設(shè)置多級(jí)代理

          3. 跨平臺(tái)

          4. 但是只支持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ù)器

          這個(gè)操作具體分兩步:
          a) 先在一臺(tái)具有公網(wǎng) ip 的主機(jī)A上運(yùn)行以下命令:

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

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

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

          成功。

          3. 多級(jí)級(jí)聯(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。首先提供兩個(gè)“二級(jí)級(jí)聯(lián)”本地SOCKS測(cè)試樣例:

          a) lcx_tran 的用法

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

          b) lcx_listenlcx_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??

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

          $?./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

          4. ngrok

          4.1 簡(jiǎn)介

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

          4.2 特點(diǎn)

          1. 官方維護(hù),一般較為穩(wěn)定

          2. 跨平臺(tái),閉源

          3. 有流量記錄和重發(fā)功能

          4.3 使用方法

          1. 進(jìn)入ngrok官網(wǎng)(https://ngrok.com/),注冊(cè)ngrok賬號(hào)并下載ngrok;

          2. 根據(jù)官網(wǎng)給定的授權(quán)碼,運(yùn)行如下授權(quán)命令;

          3. ./ngrok authtoken 1hAotxhmORtzCYvUc3BsxDBPh1H_****

          4. ./ngrok http 80即可將機(jī)器的80端口http服務(wù)暴露到公網(wǎng),并且會(huì)提供一個(gè)公網(wǎng)域名。

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

          還可以通過一些命令將內(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"??

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

          ngrok?tcp?3389??

          更多使用方法參考:https://ngrok.com/docs

          5. 參考鏈接

          1. https://xz.aliyun.com/t/770

          2. https://segmentfault.com/a/119000002187683

          3. http://rootkiter.com/EarthWorm/

          原文鏈接:https://v0w.top/2020/08/11/IntranetProxy/

          文章轉(zhuǎn)載:Linux學(xué)習(xí)
          (版權(quán)歸原作者所有,侵刪)



          13個(gè)你一定要知道的PyTorch特性

          解讀:為什么要做特征歸一化/標(biāo)準(zhǔn)化?

          一文搞懂 PyTorch 內(nèi)部機(jī)制

          張一鳴:每個(gè)逆襲的年輕人,都具備的底層能力


          關(guān)


          學(xué)西學(xué)學(xué)運(yùn)營(yíng)護(hù)號(hào)質(zhì)結(jié)識(shí)關(guān)[]學(xué)習(xí)進(jìn)


          瀏覽 23
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  在线免费亚洲 | 国产精华7777777 | 成人免费欧美 | 熟妇一区二区三区 | 人人操人人撸 |