协议 (串口, Telnet)

超越 SSH - 管理物理硬件与遗留系统

虽然 SSH 占据了 99% 的云基础设施,但物理世界仍运行在 串口 (Serial, RS-232) 之上,而遗留系统也依然依赖 Telnet。Netcatty 旨在成为一个通用工具,而不仅仅是一个云端工具。

智能连接 (Smart Connect)

最快的连接方式是使用搜索栏,无需在菜单中层层寻找:

  1. 聚焦搜索栏 (Cmd + KCtrl + K)。
  2. 输入连接字符串:user@hostname
  3. 按下 回车 (Enter)
  4. Netcatty 会自动判断保险库中是否存在匹配的主机。如果不存在,它将启动连接向导。

串口连接 (COM / TTY)

串口连接与网络连接有本质区别。它没有 IP 地址,没有握手协议,也没有“重试”机制。它只是铜线上的原始字节流。

硬件前提条件

要连接到路由器、交换机或嵌入式开发板(如树莓派、Arduino),你通常需要一个 USB 转串口适配器

  • 主流芯片: FTDI (高质量,即插即用)、Prolific PL2303 (常见,macOS 上可能有驱动问题)、CH340 (常见于电子爱好者硬件)。
  • 驱动程序: 确保你已经安装了针对特定芯片的 VCP (虚拟 COM 端口) 驱动。

连接参数 ("8N1" 标准)

在配置串口主机时,你必须完全匹配设备的期望参数。如果不匹配,会导致输出显示为“乱码”。

  1. 端口路径 (Port Path):
    • macOS: /dev/tty.usbserial-XXXX/dev/tty.usbmodemXXXX
    • Linux: /dev/ttyUSB0/dev/ttyACM0
      • 注意: 你通常需要将用户添加到 dialout 组 (sudo usermod -aG dialout $USER) 才能在不使用 sudo 的情况下访问这些端口。
    • Windows: COM3, COM4 (在“设备管理器”中查看)。
  2. 波特率 (Baud Rate): 通信速度(位/秒)。
    • 9600: 思科 / 网络设备的标准。
    • 115200: 现代嵌入式 Linux / 树莓派控制台的标准。
  3. 数据位 (Data Bits): 几乎总是 8
  4. 校验 (Parity): 几乎总是 None ("N")。
  5. 停止位 (Stop Bits): 几乎总是 1

因此,简写为 "115200 8N1"

串口配置

Telnet (RFC 854)

Telnet 是通过 TCP 传输的未加密文本。 警告: 切勿在公共互联网上使用 Telnet。密码是以明文形式发送的。

使用场景

  1. 遗留工业设备: 协议数据单元 (PDU)、旧的管理型交换机和工厂 PLC 通常仅支持 Telnet。
  2. 调试服务: 你可以使用 Netcatty 的 Telnet 模式来调试原始 TCP 服务。
    • 场景: 调试 HTTP 服务器。
    • 主机: google.com
    • 端口: 80
    • 协议: Telnet
    • 操作: 连接后,输入 GET / HTTP/1.1 并按两次回车。你将看到原始的 HTTP 响应头。

Mosh (Mobile Shell)

针对不稳定的连接(如穿梭巴士 Wi-Fi、蜂窝数据),Netcatty 支持 Mosh。

  • 要求: 远程主机必须安装 mosh-server
  • 特性: 预测性回显和漫游支持(从 Wi-Fi 切换到 5G 而不掉线)。
  • 设置: 你可以在主机的“高级设置”面板中指定自定义的 mosh-server 路径。

本地 Shell (Local Shell)

Netcatty 功能上可以替代终端、iTerm2 或 PowerShell。

Shell 检测

  • macOS/Linux: Netcatty 会读取你的 $SHELL 环境变量。如果你使用 zsh 配合 Oh-My-Zsh,它会安全地加载。
  • Windows:
    • 你可以为不同的 Shell 创建单独的“本地主机”。
    • PowerShell: 使用路径 powershell.exe
    • WSL 2: 使用路径 wsl.exe
    • Git Bash: 指向 Git 安装目录内的 bash.exe

字体连字

本地 Shell 能从 Netcatty 的 WebGL 渲染器中获益匪浅。尝试将字体设置为 "Fira Code"(如果已安装),你会看到箭头 => 和逻辑符号 != 被渲染得非常漂亮。