端口转发实战:Windows netsh、Linux socat 与 macOS(含命令生成器)

本文总结三大平台的 TCP/UDP 端口转发方法:Windows 用系统自带的 netsh interface portproxy,Linux 和 macOS 用 socat(并注册成开机自启的服务)。文末还有平台对比和排错清单。 命令参数又多又容易记错,所以我在下面放了一个命令生成器,填好地址端口就能直接复制。 什么时候需要端口转发 我自己最常遇到的几种场景: 服务只监听 127.0.0.1,想让局域网里的其他设备也能访问; VPN 抢走了全部路由(比如 Cisco AnyConnect 默认关闭 split tunnel),本机访问不到局域网设备,需要借道一个能通的机器; WSL2 里跑的服务,需要从 Windows 宿主机或局域网访问,而 WSL 的 IP 每次重启都会变; 端口被占用或被规范限制,想用另一个端口对外提供同一个服务。 需要区分两个概念:这里说的都是本机层面的端口转发(用户态代理),也就是「进来的连接原样接到另一个地址端口」;如果要让整台机器充当网关替一个网段做转发,那是 NAT 的活,Linux 上应该用 nftables/iptables 的 DNAT 并打开 net.ipv4.ip_forward,不在本文范围内。 🧰 命令生成器 支持多条规则一起生成,切换标签页即可得到对应平台的命令,每个代码块右上角可以一键复制。 Windows · netsh Linux · socat macOS · socat / pf 协议 TCP UDP + 添加一条规则 重置 ...

2026年8月17日 · 3 分钟 · Vinkey

Cisco AnyConnect优雅脚本与openconnect进阶教程

https://github.com/ma-wenqian/vpn-playbook 概述 一般情况下,能用 Cisco AnyConnect(现称 Cisco Secure Client)的场景,基本都可以用 OpenConnect 替代。从便捷到进阶,本仓库提供了对应的脚本,辅助自动登录学校(或类似配置的)VPN。 目前 Cisco 基本都启用了双重认证:先输入 VPN 地址,然后输入账号、密码,接着输入二次验证码——也就是常见存储在 Google Authenticator、iCloud 钥匙串、Microsoft Authenticator 中的那个 6 位验证码。这个验证码本质上是基于一个固定的 Base32 密钥和当前时间戳计算得到的(TOTP),并没有什么"黑盒"逻辑。因此,只要在绑定 2FA 时提取到这个固定密钥,就可以自己算出验证码,从而实现全程自动登录: Unix 平台:使用 oathtool 工具,OTP=$(oathtool --totp -b "$SECRET") Windows 平台:使用 totp-go 命令行工具,totp-go "$SECRET" ⚠️ 请像保管密码一样保管这个密钥! 任何拿到这个密钥的人都可以无限期地为你的账号生成有效的二次验证码——它不像单次验证码那样会失效。切勿把填入了真实用户名/密码/密钥的配置文件提交到(哪怕是私有的)代码仓库。本仓库中的 config.bat / config.sh 都只是占位模板,请在本地填入真实信息后不要把这部分改动提交到 git。 仓库结构 . ├── Cisco/ │ ├── unix/ │ │ ├── cisco-vpn.sh # 基于 oathtool + `vpn -s`(脚本化 stdin)实现 connect/disconnect │ │ ├── config.sh # 你的 VPN 地址/账号/密码/TOTP 密钥(模板) │ │ └── install.sh # 一键安装脚本(curl | bash) │ └── win/ │ ├── cisco-vpn.bat # 双击运行的入口脚本,用 totp-go 生成验证码并直接写入 vpncli.exe 的脚本化输入 │ ├── config.bat # 你的 VPN 地址/账号/密码/TOTP 密钥(模板,变量名与 unix 端一致) │ ├── icon/ # 桌面快捷方式用到的 connect.ico / disconnect.ico │ └── install.ps1 # 一键安装脚本,顺带安装 totp-go,还能自动创建桌面快捷方式(irm | iex) └── Openconnect/ ├── openconnect-setup.sh # OpenConnect + microsocks 的 Docker 部署(更轻量) └── openconnect-gost-setup.sh # OpenConnect + gost 的 Docker 部署(功能更全) 移动端 iOS:无法做到完全自动化,顶多是借助自动填充功能填入验证码。 Android:本仓库暂未研究。 Cisco(桌面端,仅命令行) 不要启动 GUI 界面,全部使用命令行实现自动化操作。 ...

2026年8月7日 · 3 分钟 · Vinkey

Windows快速切换简体繁体拼音输入-Ctrl+Shift+F

新发现:Ctrl+Shift+F 今天不知道电脑怎么突然就变成繁体中文输入法了,我想着也没有下载啥软件、修改系统设置,在网上搜了一下,发现应该是误触了快捷键,那么相当于也知道了一个快速切换的方法:Ctrl+Shift+F 对应系统设置:时间和语言→语言和地区→Microsoft拼音→按键最下方,如果按了没反应,大概率是和其他软件的快捷键冲突了,回到桌面内就可以了。 以后就可以快速通过Ctrl+Shift+F切换简体和繁体中文了~ 关于微软输入法变成繁体问题

2026年4月27日 · 1 分钟 · Vinkey