总览
两件事,一个套路
共享给别人的本质是造一条加密隧道;操控浏览器的本质是造一条指令通道。两者共同点:都不在公网上开门洞,靠已有连接互相打洞。
原理一
Tailscale:拉一条看不见的网线
控制平面只认人不碰数据,数据平面靠 WireGuard 端到端加密;两台机像 STUN 那样互相发包在 NAT 上打洞,打不通就走 DERP 中继(中继只转发密文)。每台机落一个 100.64.0.0/10 的虚拟内网 IP。
落地
隧道有了,怎么把东西递过去
看屏幕用 VNC(5900)、递文件用 Taildrop、干活用 SSH(22)。按对方到底要什么来挑,不是按工具酷不酷。
原理二
9222:怎么让外部程序接管 Chrome
Chrome 启动挂 --remote-debugging-port=9222 → /json/list 拿标签页清单 → 每页附一条 WebSocket → 顺着它发 CDP 指令(Runtime.evaluate / Input / Page)。
收口
命令清单与三条安全红线
可复制的命令一行条,加上三条不能破的红线:9222 只听回环、Tailnet 内也要设备验证、对外触达只交本人确认。
收口
命令清单
五条命令,覆盖看状态、递文件、干活、看浏览器、跨机转发。
# 看谁在线、这条是直连还是中继 tailscale status # 给对面递一个文件 tailscale file cp a.pdf <对方机器名>: # 进命令行干活 ssh user@100.x.x.x # 看 Chrome 现在有哪些标签页 curl 127.0.0.1:9222/json/list # 跨机安全转发 CDP 通道 ssh -L 9222:127.0.0.1:9222 other
⚠️ 安全边界
9222 没有密码——能访问到
127.0.0.1:9222 的人,等于接管你所有已登录态的标签页。
只监听回环,绝不开到 0.0.0.0;要跨机使用,走 Tailscale + SSH 端口转发,不要直接暴露。