安卓手機(jī)+termux+群暉frp實(shí)現(xiàn)遠(yuǎn)程控制手機(jī)
本文的主要內(nèi)容是手機(jī)上部署frp進(jìn)行穿透,應(yīng)用場(chǎng)景各位自行發(fā)揮,請(qǐng)勿用于違法用途。此處舉例為采用閑置安卓手機(jī)進(jìn)行遠(yuǎn)程打卡。

一、手機(jī)部署Termux
安裝F-Droid軟件市場(chǎng),下載Termux

下載安裝即可

二、下載frp軟件包
https://github.com/fatedier/frp/releases
注意,服務(wù)器端為frps,客戶端為frpc,服務(wù)器端和客戶端版本號(hào)必須一致,架構(gòu)可不同。
當(dāng)前需求的邏輯為:
通過手機(jī)上的frpc將放在公司的手機(jī)上的vnc服務(wù)端口穿透給家里的frps服務(wù)器,在家里用vnc客戶端連接相應(yīng)端口控制公司的手機(jī)。
所以我們需要下載手機(jī)端使用的arm64的客戶端,以及家里用的服務(wù)端,如amd64或其他平臺(tái),我直接采用了群暉上的docker容器,只需要版本號(hào)一致即可。
我全套環(huán)境都用的是v0.43.0,大家用最新的就行


三、服務(wù)端部署:
此處我采用docker方式部署,快速穩(wěn)定占用小,大家按各自情況部署即可
搜索frp,安裝stars最多的,下拉選擇版本,我的是0.43.0

下載后運(yùn)行即可
如果出現(xiàn)閃停的話,可以看下日志,大部分情況是有端口沖突,默認(rèn)需要7000端口無(wú)占用
選擇終端機(jī),通過命令啟動(dòng),

輸入命令:
/bin/sh

此處邏輯為調(diào)用docker exec命令,可以進(jìn)入容器后臺(tái)。
cd /etc/frp
ls
cat frps.ini

進(jìn)入frps配置目錄,不知道目錄是哪個(gè)的可以看進(jìn)程處后面的路徑

修改配置文件frps.ini
vi frps.ini
按下鍵盤的i,進(jìn)入vi的編輯模式:
調(diào)整端口
[common]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ??
bind_addr = 0.0.0.0??
#bind_addr為服務(wù)端綁定的地址,0.0.0.0為監(jiān)聽本機(jī)全部地址
bind_port = 9998
#bind_port為服務(wù)端綁定端口,也就是將來(lái)客戶端需要去連接這個(gè)端口進(jìn)行通信,需要映射到公網(wǎng)
dashboard_addr = 0.0.0.0
#dashboard_addr為服務(wù)端顯示面板地址,下為端口、用戶名密碼,不需要映射到公網(wǎng)
dashboard_port = 3001
dashboard_user = admin? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
dashboard_pwd = admin
#日志調(diào)參保持默認(rèn)即可? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
log_file = ./frps.log? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
log_level = info? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
log_max_days = 3
#認(rèn)證參數(shù),客戶端和服務(wù)端保持一致,建議設(shè)置復(fù)雜點(diǎn)
authentication_method?=?token
token = 123456
詳細(xì)配置可以參考官方文檔,如增加auth方式等
https://gofrp.org/docs/reference/server-configures/
編輯完成后按鍵盤esc,輸入:wq 回車保存

重啟容器服務(wù),
然后去路由器映射群暉IP及對(duì)應(yīng)的監(jiān)聽端口,上方配置為9998端口。

四、手機(jī)端部署frpc
先配置frpc.ini文件,
[common]
server_addr = xxx.xxx.xxx.xxx
#家里服務(wù)器的公網(wǎng)IP,我當(dāng)前使用的是域名進(jìn)行ddns,所以我這里直接寫域名,感興趣的話可以留言我在單獨(dú)開一個(gè)ddns的文檔
server_port = 9998
token = 123456
#token保持一致
dns_server = 114.114.114.114
#如果上面用了域名,這里必須配置dns,不然會(huì)走到ipv6的dns解析
[mobile-vnc]
# "[ ]"方括號(hào)標(biāo)是標(biāo)題,并非限制服務(wù)類型,單純就是個(gè)名字
type = tcp
#根據(jù)你需要的協(xié)議進(jìn)行選擇,vnc為tcp
local_ip = 127.0.0.1
#local_ip需要根據(jù)你手機(jī)開啟vnc服務(wù)的地址,有的為本機(jī)私有ip,大部分為127.0.0.1,嘗試的話可以用當(dāng)前手機(jī)上的vnc客戶端連接127.0.0.1
local_port = 65123
#本地的vnc端口
remote_port = 9999
#在服務(wù)器上新開啟的端口,用于映射本地vnc端口
#加密及壓縮設(shè)置
use_encryption = true
use_compression = true
將frpc.ini及frpc文件發(fā)送到手機(jī)微信或者qq之類的上面,選擇通過其他打開,選擇termux打開

點(diǎn)擊EDIT進(jìn)行保存,不用管他提示啥


進(jìn)入termux,輸入
cd

ls?
#查看目錄下
cd downloads
#進(jìn)入下一層目錄downloads
ls

綠色的是我之前的frpc,大家目錄下應(yīng)該只有后兩個(gè)白色的文件
mv 'frpc1.0_linux_arm64\frpc1' frpc
#修改文件名稱,同理修改配置文件為frpc.ini
給frpc增加執(zhí)行權(quán)限:
chmod 777 frpc
此時(shí)目錄下文件如下:
綠色執(zhí)行文件 frpc,白色配置文件frpc.ini

./frpc -c frpc.ini
#執(zhí)行frpc并以frpc.ini配置文件運(yùn)行

ctrl c中斷進(jìn)程
./frpc -c frpc.ini &
#后臺(tái)執(zhí)行

24673為進(jìn)程id,

kill -9 24673 終止進(jìn)程


寫在最后
僅提供一種穿透的思路,實(shí)際場(chǎng)景,可便捷通過手機(jī)接入wifi,從遠(yuǎn)端進(jìn)行掃描,適用于偵測(cè)場(chǎng)景,也可進(jìn)行服務(wù)映射,適用于辦公場(chǎng)景。
#手機(jī)上VNC服務(wù)端可從F-Droid下載droidvnc-ng開啟服務(wù)