自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

[[432774]]

 0x00 前言

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

0x01 nps-npc

1.1 簡(jiǎn)介

nps是一款輕量級(jí)、高性能、功能強(qiáng)大的內(nèi)網(wǎng)穿透代理服務(wù)器。目前支持tcp、udp流量轉(zhuǎn)發(fā),可支持任何tcp、udp上層協(xié)議(訪問(wèn)內(nèi)網(wǎng)網(wǎng)站、本地支付接口調(diào)試、ssh訪問(wèn)、遠(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)行客戶(hù)端(NPC)

1.2 特點(diǎn)

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

1.3 使用方法

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

NPS

安裝配置

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

  1. cd ~  
  2. wget https://github.com/cnlh/nps/releases/download/v0.23.2/linux_amd64_server.tar.gz  
  3. tar xzvf linux_amd64_server.tar.gz 
  4. cd ~/nps 

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

  1. vim conf/nps.conf 

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

  1. web_host= 服務(wù)器IP或者域名  
  2. web_usernameadmin(登錄用戶(hù)名)  
  3. web_password= 你的密碼  
  4. web_port=8080(web管理端口) 

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

  1. ##bridge  
  2. bridge_type=tcp  
  3. bridge_port=443    # 修改連接端口  
  4. bridge_ip=0.0.0.0 

啟動(dòng) 

  1. #Mac/Linux  
  2. ./nps test|start|stop|restart|status  測(cè)試配置文件|啟動(dòng)|停止|重啟|狀態(tài)  
  3. #Windows  
  4. nps.exe test|start|stop|restart|status 測(cè)試配置文件|啟動(dòng)|停止|重啟|狀態(tài) 

NPC 

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

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

web管理端

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

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

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

0x02 frp

2.1 簡(jiǎn)介

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

2.2 特點(diǎn)

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

2.3 使用方法

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

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

1. 通過(guò) rdp 訪問(wèn)家里的機(jī)器

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

  1. # frps.ini  
  2. [common]  
  3. bind_port = 7000  
  4. # 用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶(hù)端一致  
  5. token = abcdefgh 

啟動(dòng) frps:

./frps -c ./frps.ini

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

  1. # frpc.ini  
  2. [common]  
  3. server_addr = x.x.x.x  
  4. server_port = 7000  
  5. # 用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶(hù)端一致  
  6. token = abcdefgh  
  7. [rdp]  
  8. type = tcp  
  9. local_ip = 127.0.0.1  
  10. local_port = 3389  
  11. remote_port = 6000 

啟動(dòng) frpc:

./frpc -c ./frpc.ini

通過(guò) rdp 訪問(wèn)遠(yuǎn)程的機(jī)器,地址為:

x.x.x.x:6000

開(kāi)機(jī)自啟

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

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

  1. 'start_frpc.vbs  
  2. '請(qǐng)根據(jù)實(shí)際情況修改路徑  
  3. 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 文件,打開(kāi)以下目錄,注意將

  1. <USER_NAME> 

改為你的用戶(hù)名:

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

鼠標(biāo)右擊,粘貼為快捷方式即可。

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

frps 的部署步驟同上。

啟動(dòng) frpc,配置如下: 

  1. # frpc.ini  
  2. [common]  
  3. server_addr = x.x.x.x  
  4. server_port = 7000  
  5. # 用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶(hù)端一致  
  6. token = abcdefgh  
  7. [ssh]  
  8. type = tcp  
  9. local_ip = 127.0.0.1  
  10. local_port = 22  
  11. remote_port = 6000 

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

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

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

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

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

  1. # frps.ini  
  2. [common]  
  3. bind_port = 7000  
  4. vhost_http_port = 8080  
  5. # 用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶(hù)端一致  
  6. token = abcdefgh 

啟動(dòng) frps:

./frps -c ./frps.ini

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

  1. # frpc.ini  
  2. [common]  
  3. server_addr = x.x.x.x  
  4. server_port = 7000  
  5. # 用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶(hù)端一致  
  6. token = abcdefgh  
  7. [web]  
  8. type = http  
  9. local_port = 80  
  10. custom_domains = www.yourdomain.com 

啟動(dòng) frpc:

./frpc -c ./frpc.ini

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

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

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

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

frps 的部署步驟同上。

啟動(dòng) frpc,啟用 static_file 插件,配置如下: 

  1. # frpc.ini  
  2. [common]  
  3. server_addr = x.x.x.x  
  4. server_port = 7000  
  5. # 用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶(hù)端一致 
  6. token = abcdefgh  
  7. [test_static_file]  
  8. type = tcp  
  9. remote_port = 6000  
  10. plugin = static_file  
  11. # 要對(duì)外暴露的文件目錄  
  12. plugin_local_path = /tmp/file  
  13. # 訪問(wèn) url 中會(huì)被去除的前綴,保留的內(nèi)容即為要訪問(wèn)的文件路徑  
  14. plugin_strip_prefix = static  
  15. plugin_http_user = abc  
  16. plugin_http_passwd = abc 

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

2.4常用功能

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

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

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

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

  1. [common]  
  2. dashboard_port = 7500  
  3. # dashboard 用戶(hù)名密碼,默認(rèn)都為 admin  
  4. dashboard_user = admin  
  5. dashboard_pwd = admin 

打開(kāi)瀏覽器通過(guò) http://[server_addr]:7500 訪問(wèn) dashboard 界面,用戶(hù)名密碼默認(rèn)為 admin。

2. 加密與壓縮

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

  1. # frpc.ini  
  2. [ssh]  
  3. type = tcp  
  4. local_port = 22  
  5. remote_port = 6000  
  6. use_encryption = true  
  7. use_compression = truev 

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

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

TLS

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

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

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

3. 代理限速

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

  1. # frpc.ini  
  2. [ssh]  
  3. type = tcp  
  4. local_port = 22  
  5. remote_port = 6000  
  6. bandwidth_limit = 1MB 

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

4. 范圍端口映射

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

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

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

  1. # frpc.ini  
  2. [range:test_tcp]  
  3. type = tcp  
  4. local_ip = 127.0.0.1  
  5. local_port = 6000-6006,6007  
  6. remote_port = 6000-6006,6007 

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

0x03 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)

  •  輕量級(jí),C語(yǔ)言編寫(xiě)
  •  可以設(shè)置多級(jí)代理
  •  跨平臺(tái)
  •  但是只支持Socks5代理

3.3 使用方法

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

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

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

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

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

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

這個(gè)操作具體分兩步:

a) 先在一臺(tái)具有公網(wǎng) ip 的主機(jī)A上運(yùn)行以下命令: 

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

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

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

成功。

3. 多級(jí)級(jí)聯(lián)

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

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

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

a) lcx_tran 的用法 

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

b) lcx_listen、lcx_slave 的用法 

  1. $ ./ew -s lcx_listen -l 1080 -e 8888  
  2. $ ./ew -s ssocksd    -l 9999  
  3. $ ./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è)試用例以供參考 

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

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

0x04 ngrok

4.1 簡(jiǎn)介

ngrok 是一個(gè)反向代理,通過(guò)在公共端點(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)

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

4.3 使用方法

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

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

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

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

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

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

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

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

  1. ngrok tcp 3389 

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

0xFF 參考鏈接

內(nèi)網(wǎng)滲透之內(nèi)網(wǎng)穿透

-https://xz.aliyun.com/t/7701

開(kāi)源內(nèi)網(wǎng)穿透工具 frp 簡(jiǎn)單使用教程

-https://segmentfault.com/a/1190000021876836

http://rootkiter.com/EarthWorm/ 

 

責(zé)任編輯:龐桂玉 來(lái)源: 良許Linux
相關(guān)推薦

2024-10-12 20:56:19

ProxyChain

2020-09-03 08:03:52

內(nèi)網(wǎng)穿透

2019-06-12 09:02:20

2023-11-29 10:16:45

內(nèi)網(wǎng)開(kāi)源

2022-03-29 07:33:21

內(nèi)網(wǎng)穿透工具

2024-11-25 16:25:23

內(nèi)網(wǎng)穿透網(wǎng)絡(luò)協(xié)議

2019-02-28 08:44:19

內(nèi)網(wǎng)釘釘Web

2021-10-27 20:40:24

辦公

2020-10-13 14:03:50

搭建ngrok服務(wù)

2020-08-16 20:36:21

滲透測(cè)試漏洞網(wǎng)絡(luò)攻擊

2015-11-24 15:22:53

HTTP2 WEB 內(nèi)網(wǎng)穿透

2013-04-22 10:07:08

2022-02-17 13:46:15

SSH命令內(nèi)網(wǎng)

2019-04-22 14:44:16

內(nèi)網(wǎng)穿透反向代理分離

2020-10-15 08:52:36

Frp內(nèi)網(wǎng)Web

2012-11-28 14:09:41

2022-09-19 13:11:56

命令SSH內(nèi)網(wǎng)穿透

2021-09-18 10:20:07

Redis數(shù)據(jù)庫(kù)緩存

2025-04-29 10:28:25

2012-08-17 09:38:55

日志管理syslogEvtSys
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)