<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>

          安排幾款實用的內網穿透工具(加教程)

          共 7662字,需瀏覽 16分鐘

           ·

          2021-11-06 22:21

          今日推薦

          扔掉 Postman,一個工具全部搞定,真香!

          為啥查詢那么慢?

          還在直接用JWT做鑒權?JJWT真香

          推薦 15 款常用開發(fā)工具

          干掉 navicat:這款 DB 管理工具才是y(永)y(遠)d(的)s(神)

          0x00 前言

          本文以滲透的視角,總結幾種個人常用的內網穿透,內網代理工具,介紹其簡單原理和使用方法。

          0x01 nps-npc

          1.1 簡介

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

          • 一臺有公網IP的服務器(VPS)運行服務端(NPS)

          • 一個或多個運行在內網的服務器或者PC運行客戶端(NPC)

          1.2 特點

          1. Go語言編寫

          2. 支持跨平臺

          3. 支持多種協議的代理

          4. web管理端

          1.3 使用方法

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

          NPS

          安裝配置

          找到自己服務器相應版本的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目錄下面會有一個nps可執(zhí)行文件、conf配置目錄和web網頁目錄,我們只需要修改conf/nps.conf即可:

          vim?conf/nps.conf??

          需要改一下#web下面的幾個參數,

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

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

          ##bridge??
          bridge_type=tcp??
          bridge_port=443??#?修改連接端口??
          bridge_ip=0.0.0.0??

          啟動

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

          NPC

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

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

          web管理端

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

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

          通過不同的協議和端口就可以連接代理的內網機器。

          0x02 frp

          2.1 簡介

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

          2.2 特點

          • 客戶端服務端通信支持 TCP、KCP 以及 Websocket 等多種協議。

          • 端口復用,多個服務通過同一個服務端端口暴露。

          • 跨平臺,但是支持的比nps少一點

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

          2.3 使用方法

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

          以下內容摘自:https://segmentfault.com/a/1190000021876836

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

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

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

          2.啟動 frps:

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

          3.修改 frpc.ini 文件,假設 frps 所在服務器的公網 IP 為 x.x.x.x:

          #?frpc.ini
          [common]
          server_addr?=?x.x.x.x
          server_port?=?7000
          #?用于身份驗證,請自行修改,要保證服務端與客戶端一致
          token?=?abcdefgh

          [rdp]
          type?=?tcp
          local_ip?=?127.0.0.1
          local_port?=?3389
          remote_port?=?6000

          4.啟動 frpc:

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

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

          x.x.x.x:6000

          開機自啟

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

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

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

          2.復制 start_frpc.vbs 文件,打開以下目錄,注意將


          改為你的用戶名:

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

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

          2. 通過 SSH 訪問公司內網機器

          frps 的部署步驟同上。

          1.啟動 frpc,配置如下:

          #?frpc.ini
          [common]
          server_addr?=?x.x.x.x
          server_port?=?7000
          #?用于身份驗證,請自行修改,要保證服務端與客戶端一致
          token?=?abcdefgh

          [ssh]
          type?=?tcp
          local_ip?=?127.0.0.1
          local_port?=?22
          remote_port?=?6000

          2.通過 SSH 訪問內網機器,假設用戶名為 test:

          ssh -oPort=6000 [email protected]

          3. 通過自定義域名訪問部署于內網的 Web 服務

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

          1.修改 frps.ini 文件,設置 http 訪問端口為 8080:

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

          2.啟動 frps:

          ./frps -c ./frps.ini

          3.修改 frpc.ini 文件,假設 frps 所在的服務器的 IP 為 x.x.x.x,local_port 為本地機器上 Web 服務對應的端口, 綁定自定義域名?www.yourdomain.com:

          #?frpc.ini
          [common]
          server_addr?=?x.x.x.x
          server_port?=?7000
          #?用于身份驗證,請自行修改,要保證服務端與客戶端一致
          token?=?abcdefgh

          [web]
          type?=?http
          local_port?=?80
          custom_domains?=?www.yourdomain.com

          4.啟動 frpc:

          ./frpc -c ./frpc.ini

          5.將?www.yourdomain.com?的域名 A 記錄解析到 IP?x.x.x.x,如果服務器已經有對應的域名,也可以將 CNAME 記錄解析到服務器原先的域名。

          6.通過瀏覽器訪問?http://www.yourdomain.com:8080?即可訪問到處于內網機器上的 Web 服務。

          4. 對外提供簡單的文件訪問服務

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

          frps 的部署步驟同上。

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

          #?frpc.ini
          [common]
          server_addr?=?x.x.x.x
          server_port?=?7000
          #?用于身份驗證,請自行修改,要保證服務端與客戶端一致
          token?=?abcdefgh

          [test_static_file]
          type?=?tcp
          remote_port?=?6000
          plugin?=?static_file
          #?要對外暴露的文件目錄
          plugin_local_path?=?/tmp/file
          #?訪問?url?中會被去除的前綴,保留的內容即為要訪問的文件路徑
          plugin_strip_prefix?=?static
          plugin_http_user?=?abc
          plugin_http_passwd?=?abc

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

          常用功能

          統計面板(Dashboard)

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

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

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

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

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

          加密與壓縮

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

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

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

          如果傳輸的報文長度較長,通過設置?use_compression = true?對傳輸內容進行壓縮,可以有效減小 frpc 與 frps 之間的網絡流量,加快流量轉發(fā)速度,但是會額外消耗一些 CPU 資源。

          [TLS

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

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

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

          代理限速

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

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

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

          范圍端口映射

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

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

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

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

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

          0x03 ew

          3.1 簡介

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

          3.2 特點

          1. 輕量級,C語言編寫

          2. 可以設置多級代理

          3. 跨平臺

          4. 但是只支持Socks5代理

          3.3 使用方法

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

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

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

          1. 正向 SOCKS v5 服務器

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

          2. 反彈 SOCKS v5 服務器

          這個操作具體分兩步:

          a) 先在一臺具有公網 ip 的主機A上運行以下命令:

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

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

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

          成功。

          3. 多級級聯

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

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

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

          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??

          再提供一個“三級級聯”的本地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??

          數據流向:?SOCKS v5 -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks

          0x04 ngrok

          4.1 簡介

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

          4.2 特點

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

          2. 跨平臺,閉源

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

          4.3 使用方法

          1. 進入ngrok官網(https://ngrok.com/),注冊ngrok賬號并下載ngrok;

          2. 根據官網給定的授權碼,運行如下授權命令;

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

          4. ./ngrok http 80即可將機器的80端口http服務暴露到公網,并且會提供一個公網域名。

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

          還可以通過一些命令將內網的文件和其他TCP服務 暴露到公網中。

          有授權的設置文件共享

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

          無授權的設置文件共享

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

          將主機的3389的TCP端口暴露到公網

          ngrok?tcp?3389??

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

          0xFF 參考鏈接

          1. 內網滲透之內網穿透

          2. 開源內網穿透工具 frp 簡單使用教程

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

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

          推薦文章


          1、一款高顏值的 SpringBoot+JPA 博客項目
          2、超優(yōu) Vue+Element+Spring 中后端解決方案
          3、推薦幾個支付項目!
          4、推薦一個 Java 企業(yè)信息化系統
          5、一款基于 Spring Boot 的現代化社區(qū)(論壇/問答/社交網絡/博客)
          瀏覽 54
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  中文在线资源天堂 | 色色操美女| 91精品国产乱码久久久久久 | 久久久欧美精品sm网站 | 久久深爱网 |