[GH-ISSUE #4238] android无法获取到assistedAddresses,无法连接 #3339

Closed
opened 2026-05-05 14:09:14 -06:00 by gitea-mirror · 3 comments
Owner

Originally created by @shimmerjordan on GitHub (May 24, 2024).
Original GitHub issue: https://github.com/fatedier/frp/issues/4238

Bug Description

隧道似乎打穿了,但似乎又没成功,看日志是assistedAddresses获取到的空,安卓设备没有root

~/frp_0.58.0_android_arm64 $ ./frpc -c ./frpc.toml

2024-05-24 11:09:21.520 [I] [sub/root.go:142] start frpc service for config file [./frpc.toml]
2024-05-24 11:09:21.520 [I] [client/service.go:294] try to connect to server...
2024-05-24 11:09:21.716 [I] [client/service.go:286] [b364e948884d402b] login to server success, get run id [b364e948884d402b] 2024-05-24 11:09:21.717 [I] [visitor/visitor_manager.go:121] [b364e948884d402b] start visitor success
2024-05-24 11:09:21.717 [I] [visitor/visitor_manager.go:172] [b364e948884d402b] visitor added: [p2p_ssh_visitor_2] 2024-05-24 11:09:33.349 [I] [visitor/xtcp.go:283] [b364e948884d402b] [p2p_ssh_visitor_2] nathole prepare success, nat type: HardNAT, behavior: BehaviorPortChanged, addresses: [223.104.68.34:63301 223.104.68.34:42406], assistedAddresses: [] 2024-05-24 11:09:34.987 [I] [visitor/xtcp.go:309] [b364e948884d402b] [p2p_ssh_visitor_2] get natHoleRespMsg, sid [17165201725f17b38cee07d1a2], protocol [kcp], candidate address [39.144.45.148:19464 39.144.45.148:18031], assisted address [10.0.5.1:59816 10.0.3.1:59816 10.0.7.1:59816 192.168.66.2:59816 172.30.0.1:59816 172.30.4.1:59816], detectBehavior: {Role:sender Mode:0 TTL:0 SendDelayMs:5000 ReadTimeoutMs:5000 CandidatePorts:[] SendRandomPorts:0 ListenRandomPorts:0}

2024-05-24 11:09:44.995 [W] [visitor/xtcp.go:316] [b364e948884d402b] [p2p_ssh_visitor_2] make hole error: wait detect message error: read udp4 0.0.0.0:47888: i/o timeout
2024-05-24 11:09:46.490 [I] [visitor/xtcp.go:283] [b364e948884d402b] [p2p_ssh_visitor_2] nathole prepare success, nat type: HardNAT, behavior: BehaviorPortChanged, addresses: [223.104.68.34:33742 223.104.68.34:29216], assistedAddresses: []
2024-05-24 11:09:48.093 [I] [visitor/xtcp.go:309] [b364e948884d402b] [p2p_ssh_visitor_2] get natHoleRespMsg, sid [17165201864761bcb4ddf4301b], protocol [kcp], candidate address [39.144.45.148:61569 39.144.45.148:25182], assisted address [10.0.5.1:52797 10.0.3.1:52797 10.0.7.1:52797 192.168.66.2:52797 172.30.0.1:52797 172.30.4.1:52797], detectBehavior: {Role:sender Mode:0 TTL:0 SendDelayMs:10000 ReadTimeoutMs:5000 CandidatePorts:[] SendRandomPorts:0 ListenRandomPorts:0} 2024-05-24 11:09:52.382 [E] [visitor/xtcp.go:179] [b364e948884d402b] [p2p_ssh_visitor_2] open tunnel error: open tunnel timeout
2024-05-24 11:09:52.384 [E] [visitor/xtcp.go:179] [b364e948884d402b] [p2p_ssh_visitor_2] open tunnel error: open tunnel timeout

frpc Version

0.58

frps Version

0.58

System Architecture

android/arm64

Configurations

frpc.toml

serverAddr = "xxx.xxx.xxx.xxx"
serverPort = 7000

visitors
name = "p2p_ssh_visitor"
type = "xtcp"
protocol = "kcp"
serverName = "p2p_ssh"
secretKey = "xxxxxx"
bindAddr = "127.0.0.1"
bindPort = 32400

when automatic tunnel persistence is required, set it to true

keepTunnelOpen = true

Logs

No response

Steps to reproduce

  1. 下载0.58 android
  2. 在turmux中配置frpc运行

Affected area

  • Docs
  • Installation
  • Performance and Scalability
  • Security
  • User Experience
  • Test and Release
  • Developer Infrastructure
  • Client Plugin
  • Server Plugin
  • Extensions
  • Others
Originally created by @shimmerjordan on GitHub (May 24, 2024). Original GitHub issue: https://github.com/fatedier/frp/issues/4238 ### Bug Description 隧道似乎打穿了,但似乎又没成功,看日志是assistedAddresses获取到的空,安卓设备没有root ~/frp_0.58.0_android_arm64 $ ./frpc -c ./frpc.toml 2024-05-24 11:09:21.520 [I] [sub/root.go:142] start frpc service for config file [./frpc.toml] 2024-05-24 11:09:21.520 [I] [client/service.go:294] try to connect to server... 2024-05-24 11:09:21.716 [I] [client/service.go:286] [b364e948884d402b] login to server success, get run id [b364e948884d402b] 2024-05-24 11:09:21.717 [I] [visitor/visitor_manager.go:121] [b364e948884d402b] start visitor success 2024-05-24 11:09:21.717 [I] [visitor/visitor_manager.go:172] [b364e948884d402b] visitor added: [p2p_ssh_visitor_2] 2024-05-24 11:09:33.349 [I] [visitor/xtcp.go:283] [b364e948884d402b] [p2p_ssh_visitor_2] nathole prepare success, nat type: HardNAT, behavior: BehaviorPortChanged, addresses: [223.104.68.34:63301 223.104.68.34:42406], assistedAddresses: [] 2024-05-24 11:09:34.987 [I] [visitor/xtcp.go:309] [b364e948884d402b] [p2p_ssh_visitor_2] get natHoleRespMsg, sid [17165201725f17b38cee07d1a2], protocol [kcp], candidate address [39.144.45.148:19464 39.144.45.148:18031], assisted address [10.0.5.1:59816 10.0.3.1:59816 10.0.7.1:59816 192.168.66.2:59816 172.30.0.1:59816 172.30.4.1:59816], detectBehavior: {Role:sender Mode:0 TTL:0 SendDelayMs:5000 ReadTimeoutMs:5000 CandidatePorts:[] SendRandomPorts:0 ListenRandomPorts:0} 2024-05-24 11:09:44.995 [W] [visitor/xtcp.go:316] [b364e948884d402b] [p2p_ssh_visitor_2] make hole error: wait detect message error: read udp4 0.0.0.0:47888: i/o timeout 2024-05-24 11:09:46.490 [I] [visitor/xtcp.go:283] [b364e948884d402b] [p2p_ssh_visitor_2] nathole prepare success, nat type: HardNAT, behavior: BehaviorPortChanged, addresses: [223.104.68.34:33742 223.104.68.34:29216], assistedAddresses: [] 2024-05-24 11:09:48.093 [I] [visitor/xtcp.go:309] [b364e948884d402b] [p2p_ssh_visitor_2] get natHoleRespMsg, sid [17165201864761bcb4ddf4301b], protocol [kcp], candidate address [39.144.45.148:61569 39.144.45.148:25182], assisted address [10.0.5.1:52797 10.0.3.1:52797 10.0.7.1:52797 192.168.66.2:52797 172.30.0.1:52797 172.30.4.1:52797], detectBehavior: {Role:sender Mode:0 TTL:0 SendDelayMs:10000 ReadTimeoutMs:5000 CandidatePorts:[] SendRandomPorts:0 ListenRandomPorts:0} 2024-05-24 11:09:52.382 [E] [visitor/xtcp.go:179] [b364e948884d402b] [p2p_ssh_visitor_2] open tunnel error: open tunnel timeout 2024-05-24 11:09:52.384 [E] [visitor/xtcp.go:179] [b364e948884d402b] [p2p_ssh_visitor_2] open tunnel error: open tunnel timeout ### frpc Version 0.58 ### frps Version 0.58 ### System Architecture android/arm64 ### Configurations # frpc.toml serverAddr = "xxx.xxx.xxx.xxx" serverPort = 7000 [[visitors]] name = "p2p_ssh_visitor" type = "xtcp" protocol = "kcp" serverName = "p2p_ssh" secretKey = "xxxxxx" bindAddr = "127.0.0.1" bindPort = 32400 # when automatic tunnel persistence is required, set it to true keepTunnelOpen = true ### Logs _No response_ ### Steps to reproduce 1. 下载0.58 android 2. 在turmux中配置frpc运行 ### Affected area - [ ] Docs - [ ] Installation - [ ] Performance and Scalability - [ ] Security - [x] User Experience - [ ] Test and Release - [ ] Developer Infrastructure - [x] Client Plugin - [ ] Server Plugin - [ ] Extensions - [ ] Others
Author
Owner

@fatedier commented on GitHub (May 24, 2024):

HardNAT 不成功属于预期中,可以使用 stcp 替代。

<!-- gh-comment-id:2128438892 --> @fatedier commented on GitHub (May 24, 2024): HardNAT 不成功属于预期中,可以使用 stcp 替代。
Author
Owner

@shimmerjordan commented on GitHub (May 24, 2024):

HardNAT 不成功属于预期中,可以使用 stcp 替代。
stcp在安卓上是可以成功的,但奇怪的是HardNat在windows是几乎100%可以打穿,也是用的这个安卓机的热点。不过既然可以用那就ok了。顺便贴个windows同HardNAT的成功日志

D:\Software\frp>frpc.exe -c frpc.toml
2024-05-24 09:10:05.067 [I] [sub/root.go:142] start frpc service for config file [frpc.toml]
2024-05-24 09:10:05.075 [I] [client/service.go:294] try to connect to server...
2024-05-24 09:10:05.174 [I] [client/service.go:286] [bbcc3bde921d62a8] login to server success, get run id [bbcc3bde921d62a8]
2024-05-24 09:10:05.174 [I] [visitor/visitor_manager.go:121] [bbcc3bde921d62a8] start visitor success
2024-05-24 09:10:05.174 [I] [visitor/visitor_manager.go:172] [bbcc3bde921d62a8] visitor added: [p2p_ssh_visitor]
2024-05-24 09:10:12.126 [I] [visitor/xtcp.go:283] [bbcc3bde921d62a8] [p2p_ssh_visitor] nathole prepare success, nat type: HardNAT, behavior: BehaviorIPChanged, addresses: [183.15.177.109:40173 183.15.176.232:40173], assistedAddresses: [172.28.0.1:61229 172.22.0.6:61229 172.31.3.234:61229]
2024-05-24 09:10:12.712 [I] [visitor/xtcp.go:309] [bbcc3bde921d62a8] [p2p_ssh_visitor] get natHoleRespMsg, sid [1716513012d3a1fad7f77184b9], protocol [kcp], candidate address [39.144.45.148:11711 39.144.45.148:22051], assisted address [10.0.5.1:47077 10.0.3.1:47077 10.0.7.1:47077 192.168.66.2:47077 172.30.0.1:47077 172.30.4.1:47077], detectBehavior: {Role:receiver Mode:1 TTL:7 SendDelayMs:0 ReadTimeoutMs:7000 CandidatePorts:[{From:22041 To:22061}] SendRandomPorts:0 ListenRandomPorts:0}
2024-05-24 09:10:15.894 [I] [visitor/xtcp.go:320] [bbcc3bde921d62a8] [p2p_ssh_visitor] establishing nat hole connection successful, sid [1716513012d3a1fad7f77184b9], remoteAddr [172.22.0.1:47077]

<!-- gh-comment-id:2128711820 --> @shimmerjordan commented on GitHub (May 24, 2024): > HardNAT 不成功属于预期中,可以使用 stcp 替代。 stcp在安卓上是可以成功的,但奇怪的是HardNat在windows是几乎100%可以打穿,也是用的这个安卓机的热点。不过既然可以用那就ok了。顺便贴个windows同HardNAT的成功日志 D:\Software\frp>frpc.exe -c frpc.toml 2024-05-24 09:10:05.067 [I] [sub/root.go:142] start frpc service for config file [frpc.toml] 2024-05-24 09:10:05.075 [I] [client/service.go:294] try to connect to server... 2024-05-24 09:10:05.174 [I] [client/service.go:286] [bbcc3bde921d62a8] login to server success, get run id [bbcc3bde921d62a8] 2024-05-24 09:10:05.174 [I] [visitor/visitor_manager.go:121] [bbcc3bde921d62a8] start visitor success 2024-05-24 09:10:05.174 [I] [visitor/visitor_manager.go:172] [bbcc3bde921d62a8] visitor added: [p2p_ssh_visitor] 2024-05-24 09:10:12.126 [I] [visitor/xtcp.go:283] [bbcc3bde921d62a8] [p2p_ssh_visitor] nathole prepare success, nat type: HardNAT, behavior: BehaviorIPChanged, addresses: [183.15.177.109:40173 183.15.176.232:40173], assistedAddresses: [172.28.0.1:61229 172.22.0.6:61229 172.31.3.234:61229] 2024-05-24 09:10:12.712 [I] [visitor/xtcp.go:309] [bbcc3bde921d62a8] [p2p_ssh_visitor] get natHoleRespMsg, sid [1716513012d3a1fad7f77184b9], protocol [kcp], candidate address [39.144.45.148:11711 39.144.45.148:22051], assisted address [10.0.5.1:47077 10.0.3.1:47077 10.0.7.1:47077 192.168.66.2:47077 172.30.0.1:47077 172.30.4.1:47077], detectBehavior: {Role:receiver Mode:1 TTL:7 SendDelayMs:0 ReadTimeoutMs:7000 CandidatePorts:[{From:22041 To:22061}] SendRandomPorts:0 ListenRandomPorts:0} 2024-05-24 09:10:15.894 [I] [visitor/xtcp.go:320] [bbcc3bde921d62a8] [p2p_ssh_visitor] establishing nat hole connection successful, sid [1716513012d3a1fad7f77184b9], remoteAddr [172.22.0.1:47077]
Author
Owner

@fatedier commented on GitHub (May 24, 2024):

成功的这个也不是走公网打洞的,而是内网互联。

android 获取不到内网 IP,所以没有走内网直连,且公网打洞也不成功。

你这个如果内网能直连,那你直接通过内网 IP 访问也可以,没必要走 frp 中转。

<!-- gh-comment-id:2128779994 --> @fatedier commented on GitHub (May 24, 2024): 成功的这个也不是走公网打洞的,而是内网互联。 android 获取不到内网 IP,所以没有走内网直连,且公网打洞也不成功。 你这个如果内网能直连,那你直接通过内网 IP 访问也可以,没必要走 frp 中转。
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#3339
No description provided.