简介NetTerm5.4绿色版是一款面向网络运维人员、Unix主机使用者及编程开发者的远程登录工具合集免安装即可运行适合在本地网或拨号入网环境下连接远程主机、管理站点与传输文件。其功能覆盖Telnet远程登录、内置FTP服务器、IP地址分辨与网址监控并支持从Unix主机进行全透明打印借助透射功能可将本地Unix页面文件上传至主机再回传计算机方便程序员在本地编辑主机文件避开主机端简陋的Unix编辑器。压缩包体约1.87MB文件总数与类型明细上游暂未提供解压后以绿色版程序及配套组件为主具体以实际内容为准。已有143人学习下载适合需要轻量级远程终端与文件传输方案、希望减少安装部署步骤的读者参考使用。1. NetTerm5.4 绿色版免安装拷进U盘就能连的旧式终端上周帮一个朋友处理遗留系统对方给的是台不让装任何软件的 Windows Server机器上只有系统自带的东西连个像样的终端都没有。手上能用的只有一个几十兆的压缩包——NetTerm5.4 绿色版解压双击就能跑不用管理员权限不用写安装目录连注册表都尽量少碰。它是一款出现得比很多读者入行还早的 Windows 终端仿真工具会话类型覆盖 Telnet、rlogin、串口5.x 之后也带了 SSH终端仿真从 VT52/VT100/VT220 一路到 ANSI、TN3270、TN5250 都有文件传输支持 Zmodem、Xmodem、Kermit 这一套老协议。它适合两类人一类是被授权和安装权限卡住、只能拿便携工具去连老设备的人另一类是还在维护工控机、路由器、交换机、老 Unix 主机需要一台能记住几十个会话、能开日志、能把配置随身带走的工具的人。绿色版这个形态解决的正是“换机器就重配一遍”的问题。2. 解压即用目录结构、会话建立与配置固化拿到压缩包之后第一件事不要急着双击主程序先看清楚它是怎么“绿色”的。绿色版的本质是把安装版散落在系统各处的状态收敛到程序目录里如果这一步没搞明白后面换台机器会发现会话全没了或者更糟——配置写进了注册表卸载时清理不干净。2.1 绿色版和安装版差在哪配置到底落在哪个文件安装版的行为是把程序文件和用户配置分开程序装进 Program Files会话列表、字体、颜色、终端类型这些偏好写进 HKEY_CURRENT_USER 下的用户配置项。这样做的好处是多用户隔离坏处是拷走程序目录并不等于拷走了配置。绿色版的常见做法有两种。第一种是程序启动时读取同目录下的 ini 类配置文件退出时写回完全不碰系统第二种是仍然读写注册表但附带一个导入导出的小工具或脚本启动前把 reg 文件导进去退出后清理掉。这两种在压缩包里表现为不同的文件组合我一般先按下面的顺序确认。观察点说明对应结论目录里有 ini/cfg 类文件打开看有没有主机地址、字体名这类字段走配置文件的便携形态目录里有 reg/bat 文件看 bat 里是不是 reg import 命令注册表导入型便携形态首次运行后目录多出文件对比运行前后的文件列表确认写入位置换一个 Windows 账户运行会话列表是否还在判断是否绑定当前用户确认方式很直接运行一次程序随便改个设置退出然后对比程序目录的文件修改时间。如果目录里没有任何文件变动而设置确实被记住了那它就是在写注册表。这一步值得花两分钟因为后面的备份策略完全取决于这个结论。提示把程序放在含空格或中文的路径下容易出问题尤其是配套的批处理脚本在拼接路径时会断掉。我一般固定放在D:\tools\netterm54这种纯英文短路径下。2.2 建会话的四要素主机、端口、终端类型、字符集会话建立这一步新手最容易只填主机地址就点连接连上之后发现界面全是花屏然后开始怀疑软件有问题。实际上该填的东西有四样缺一样就可能在特定场景下出症状。第一步是会话类型。Telnet 走 23 端口SSH 走 22rlogin 走 513串口则要指定 COM 口号、波特率、数据位、停止位、校验位。串口场景里波特率填错的表现是满屏乱码而不是连不上这点和网络会话不一样别被误导。第二步是主机与端口。老设备的端口经常被改过23 端口不一定开着有的运维为了省事会把 Telnet 挪到 2323 这类高位端口上。不确定的时候先做一次连通性探测再进软件比在软件里反复试要快得多。# 先探端口再进软件建会话能省掉一半的连不上排查时间 $h 10.20.30.40 # 目标主机换成实际地址 $p 23 # Telnet 默认 23改过端口的换成实际值 Test-NetConnection -ComputerName $h -Port $p -InformationLevel Detailed这段的意义在于把“网络层通不通”和“终端配置对不对”两件事拆开。如果TcpTestSucceeded是 False那问题在路由、防火墙或服务没起跟 NetTerm 一点关系都没有如果是 True 但软件里还是连不上才轮到会话参数、终端类型、认证方式这些层面。参数上-InformationLevel Detailed会把解析到的 IP 和每一跳的耗时打出来比只返回一个布尔值有用。第三步是终端类型。这一项决定了程序怎么解释服务端发回来的控制序列选错了不会连不上但会出现菜单错位、方向键乱跳、清屏失效这类“看着能用其实很别扭”的问题具体放在第 3 章展开。第四步是字符集与字体。中文环境下的坑几乎全在这里同样留到第 3 章细说。建会话的顺序建议是先探测端口再建会话再调终端类型最后调字体和颜色。每改一项就断开重连一次看效果不要一口气改五六项否则出问题不知道是哪一项引起的。2.3 固化与迁移把会话清单变成一份可拷贝的资产会话配好之后真正的价值在于下次换机器能一把搬走。这里分两种情况处理。如果第 2.1 步确认了它是配置文件形态直接打包整个程序目录即可但要把日志和临时文件排除掉否则备份会越滚越大。如果是注册表形态就得先导出再打包。下面这段批处理做的是目录打包配合前面判断结果使用。echo off rem 备份 NetTerm 便携目录排除日志与临时文件 set SRCD:\tools\netterm54\ set STAMP%date:~0,4%%date:~5,2%%date:~8,2% set DSTE:\backup\netterm54_%STAMP%\ if not exist %DST% mkdir %DST% robocopy %SRC% %DST% /E /XD log temp cache /XF *.log *.tmp /R:1 /W:1 echo done: %DST% pause参数上/E表示包含空子目录/XD排除指定目录名/XF排除指定文件名模式/R:1 /W:1把重试次数和等待时间压到最低避免网络盘不可写时卡在那里。这里有个血泪经验%date%的输出格式受系统区域设置影响在中文简体和英文系统上取到的子串位置不同%date:~0,4%在部分环境下会截出错乱的目录名。如果备份脚本要长期用建议换成 PowerShell 的Get-Date -Format yyyyMMdd不受区域设置干扰。迁移到新机器后还有一步不能省核对会话列表的条数和主机地址。我见过压缩包里带的配置文件是别人用过的里面几十条会话指向早已下线的地址照着点会浪费很多时间。常见做法是把不用的会话删掉或改名加前缀只留当前环境用得上的那几条。3. 终端仿真参数VT100、VT220 与 ANSI 的选型与中文显示终端类型和字符集是 NetTerm5.4 这类工具里最容易被忽略、又最容易出症状的两组参数。它们不影响连通性只影响“连上以后好不好用”所以排查时总被排在最后实际用起来又天天碰见。3.1 四种仿真模式对照从症状反推该选哪个不同仿真模式对控制序列的解释规则不一样。选型的时候不用背规范用症状反推更快。仿真类型典型适用场景选错后的表现VT100老 Unix 主机、路由器、交换机全屏程序边框用字符画出来错位颜色全丢VT220需要功能键和多字符集的老系统功能键发出去是乱码退格行为异常ANSI早期的 BBS、部分工控菜单清屏不清、光标定位偏移TN3270 / TN5250大机、AS/400 类系统整屏字段结构错乱根本无法操作VT100 是最保守的选择兼容面最广代价是没有颜色和部分扩展功能。VT220 在 VT100 基础上补了功能键和字符集切换很多老一代的 Unix 应用默认按 VT220 设计方向键和 F1-F12 能正常工作。ANSI 更接近 DOS 时代的终端用在一些自研的字符界面管理程序上。我一般的做法是连上去先看应用是什么类型。如果只是敲命令看输出VT100 就够越简单越少出问题如果要在里面跑全屏的菜单程序、编辑器先试 VT220不行再试 ANSI。切换之后必须断开重连很多程序在会话建立时读取一次终端类型就缓存住了不断开改了也不生效。还有一层容易被忽略服务端那边的TERM环境变量要和本地选的一致。本地选 VT220、服务端TERM还是dumb全屏程序照样不认。连上之后用echo $TERM看一眼对不上就在 shell 配置文件里改或者登录时手动设。3.2 中文字符集半个汉字的成因与规避中文显示出问题表现通常有三类全是问号或方块、汉字变成两个乱码字符、汉字和英文混排时列宽对不齐。第一类多半是字体没选对第二类是字符集不匹配第三类是双字节字符的宽度计算问题。字符集这块老系统绝大多数是 GBK 或 GB2312新的 Linux 发行版多是 UTF-8。NetTerm5.4 这类工具的年代默认字符集通常按单字节处理需要手动把它切到中文脚本或中文代码页上否则服务端发过来两个字节表示一个汉字本地按两个独立字符渲染屏幕上就会出现两个风马牛不相及的符号——也就是俗称的“半个汉字”。具体操作上进入字体设置把字体族选成中文字体宋体、新宋体这类等宽中文字体字符集选中文对应项。这一步的关键不是字体好看而是等宽。中文字体如果不是等宽的一个汉字占的像素宽度和两个英文字符对不上表格和菜单一定歪。常见做法是选“新宋体”这类等宽字体字号设在 12 到 14 之间配合 80 列的行宽正好铺满一个常规窗口。如果服务端是 UTF-8 而工具只支持本地代码页那就没法完整显示中文这是工具年代决定的边界不是配置能解决的。这种情况下退一步把服务端的 locale 临时切成 GBK 用一次或者改用别的工具处理这批主机别在这上面耗太久。注意改完字符集之后连接是断开重连一次还是直接生效取决于程序是否在会话建立时缓存了编码设置。稳妥起见每次都重连。3.3 行列数与自动换行让全屏程序不乱版行列数这个参数看起来无关紧要实际影响很大。默认 80 列 24 行是几十年前定下来的行业惯例绝大多数老程序按这个尺寸排版。但有些自研的管理程序按 132 列设计还有些把行数写死成 43 行。本地设小了程序画出来的右边框会被挤到下一行设大了程序画不满下面留一片空白光标定位也跟着偏。调整的方法是双边的本地把行列数改成程序期望的值同时让服务端知道这个尺寸。服务端不知道的话vi打开一个文件只会显示前 24 行翻页逻辑也会错。登录之后用stty size看一眼当前识别的尺寸对不上就手动设。# 登录后在服务端执行让 shell 知道当前终端的真实尺寸 stty rows 43 cols 132 # 校验一下是否生效 stty size这两行不是万能的stty只影响当前会话重新登录就没了。要长期生效得写进 shell 的启动配置里或者在会话建立后由工具自动发送一段初始化字符串——NetTerm 这类工具通常支持配置登录后自动执行的命令序列把stty塞进去以后每次连上都自动对齐省得每次手敲。另一个相关参数是自动换行开关。关掉之后超长行不会折到下一行而是横向延伸适合看日志和长命令打开之后按窗口宽度折行适合看文档。两种模式各有适用场景我一般是默认打开需要看长行的时候临时切一下。4. 键盘映射、文件传输与日志把重复配置固化成习惯会话能连、界面能看之后剩下的就是手感问题。手感问题的特点是不影响功能但每天都会让你多按几次键累积起来很烦。4.1 Backspace、Delete 与方向键的映射退格键是最经典的翻车点。本地按一下退格屏幕上显示^H而不是删掉一个字符原因是本地发出去的字符码和服务端期望的不一致。老系统期望收到 ASCII 8BS或 ASCII 127DEL不同系统不一样。NetTerm 的键盘映射里可以给 Backspace 指定发送内容常见可选项有 BS、DEL、以及发送一段转义序列。判断该发哪个的方法很简单登录之后敲几个字符再按退格如果显示^H说明服务端收到的是 BS 但它的终端驱动期望 DEL或者是反过来。改一个值试一次两步之内就能定。方向键的问题类似但更麻烦。方向键发出去的是一段转义序列VT100 和 VT220 的序列不一样vi和less认的也不完全一样。表现是按上下键屏幕上出现^[[A这类字符。这种基本就是终端类型选错了回到第 3.1 节换仿真模式而不是去改键盘映射——方向键的映射通常是跟着仿真模式走的单独改容易按下葫芦浮起瓢。Delete 键在小键盘区和主键区行为可能不同老工具默认只映射一个。如果用的程序需要另一个得去映射表里单独指定。这块我的建议是先用默认值碰到具体问题再改不要一上来就把整张映射表重写一遍改乱了很难恢复。4.2 Zmodem 收发接收目录与超时用 Zmodem 传文件的场景现在不多了但在隔离环境和老设备上还是常规操作。要设的东西就三个本地接收目录、是否自动接收、超时时间。接收目录默认可能指向程序目录传几个大文件就把工具目录塞满了还影响备份。我一般单独建一个D:\tools\netterm54\recv目录在设置里指过去并且定期清理。自动接收要不要开看使用习惯开了省事但别人往你这边推文件时会静默落盘安全上不理想关掉的话每次都要手动确认麻烦但可控。生产环境我倾向于关掉。超时时间是另一个坑。链路慢的时候几十兆的文件传到一半超时断开得从头再来。把超时调大一点或者干脆用支持断点续传的方式。Zmodem 本身在某些实现里带续传能力但要看两端是否都支持别想当然。发送方向的注意点在于文件名。中文文件名在老协议里经常传丢或变成乱码稳妥做法是先改成英文名再传落地之后再改回来。这个习惯听着土但省下的是反复重传的时间。4.3 按钮条、快捷命令与会话日志按钮条这个东西第一次看到会觉得是上世纪的产物用熟了之后真香。它能把一长串常用命令绑到一个按钮上点一下就发出去还能配置发送前是否需要确认。适合的场景是每天要执行的几条固定检查命令、需要发送特殊控制字符比如中断、暂停的操作、以及需要连续发送多行且中间要停顿的登录流程。配置的时候注意两点。一是按钮绑定的是字符串不是脚本条件判断和循环做不了复杂的逻辑还是得靠外部脚本。二是带确认的按钮很有必要尤其是那种发出去就重启服务的命令加一道确认能挡住手滑。会话日志是另一个被低估的功能。把日志开关打开每次连接的输入输出都落到文件里出问题的时候可以回溯到底发了什么、收到了什么比凭记忆复述靠谱得多。日志文件的命名建议带上主机名和日期比如主机名_20240612.log不然一堆积几个月之后根本分不清哪个是哪个。日志目录同样别放在程序目录下理由和第 2.3 节一样会拖累备份。日志的代价是磁盘占用和敏感信息落盘。密码如果是在会话里明文敲的Telnet 场景下很常见会原样写进日志。这点要有意识日志目录的权限要收紧定期清理别把带凭据的日志随手打包发出去。5. 避坑与排查五类高频翻车现场这一节写的都是我实际碰到过的、隔一段时间就会重演一遍的问题。每一条按现象、原因、解决三段来说照着对号入座基本能覆盖大部分情况。5.1 中文全是乱码或半截汉字现象连上之后中文显示成问号、方块或者一个汉字被拆成两个不相干的符号英文部分正常。原因字符集不匹配。服务端按 GBK 发双字节本地按单字节渲染或者字体选的是纯英文字体字体里根本没有中文字形。解决先把字体换成等宽中文字体再把字符集切到对应代码页断开重连验证。如果换完之后英文正常中文还是乱用echo $LANG看服务端的 locale和本地设置对齐。对齐之后仍然乱说明工具本身不支持该编码这是硬边界换工具或者临时改服务端 locale。5.2 退格键打出 ^H方向键打出 ^[[A现象按退格不删字符屏幕上多出^H按方向键冒出一串带方括号的字符。原因前者是 BS/DEL 的字符码和服务端期望不一致后者是终端类型选错方向键发出的转义序列服务端不认识。解决退格问题去键盘映射把 Backspace 的发送值在 BS 和 DEL 之间切换一次一变试两次即可。方向键问题不要动映射表回到终端仿真设置换 VT100/VT220/ANSI换完断开重连。两件事都做完还不行才考虑服务端的TERM变量是否和本地一致。5.3 换台机器会话全没了现象把程序目录拷到另一台机器打开之后会话列表是空的或者只剩默认一两条。原因绿色版的形态判断错了。前面第 2.1 节说过有些所谓绿色版仍然读写注册表只拷目录带不走配置。解决回到原机器确认配置到底落在哪。如果是注册表形态导出对应用户配置项成一个 reg 文件一并拷走在新机器上导入。长期方案是把配置文件形态和注册表形态分开管理每次换机器前先做一次完整的备份验证——最简单的验证方法是拷到一台干净的机器上打开看一眼别等到急着用的时候才发现少东西。5.4 粘贴多行命令被截断或提前执行现象从文档里复制一段多行命令粘进窗口只执行了第一行后面全丢了或者某一行被拆成两半前半截先执行报错。原因终端窗口接收粘贴内容时逐字符送入中间的换行符会触发执行而缓冲区小的时候后面的内容还没送达就被打断。链路慢、内容长的时候尤其明显。解决把长命令拆成多条分别粘或者先粘到一个本地文本文件再用文件传输送过去执行。另一个办法是粘贴前先进入一个不执行的输入模式比如打开一个编辑器粘完再退出执行。我现在的习惯是超过三行的命令一律走文件传输不直接粘这个后悔药吃过太多次。5.5 日志文件巨大或打印机输出乱码现象日志目录几个月涨到几个 GB配置了打印输出之后打出来的内容缺行或者全是乱码。原因日志默认把每次会话的全部输出都记下来长时间挂着不断开就会一直涨打印的问题多半是字符集和打印机驱动不一致或者输出被当成了图形而不是文本。解决日志按会话或按天切分定期清理不要一个文件从头记到尾。打印这块如果不是硬需求我一般直接关掉用日志代替——需要留档的时候把日志导出来格式化成文本比调打印省事得多。6. 进阶用日志回放和会话清单做交接验收前面几章讲的都是“自己用着顺手”。真正考验配置质量的是交接——把一台机器、一批会话交给别人或者隔三个月自己回来接着维护。这时候光有会话列表不够还得能说清楚每条会话是干什么的、上次连是什么时候、有没有异常。我的做法是给会话列表加一层命名规范主机地址只作为标识的一部分前缀写环境和用途。比如[测试]交换机A-10.20.30.40这种格式排序之后同环境的会话会聚在一起找的时候不用一个个点开看。改名这个动作看着琐碎几十条会话整理下来大概花二十分钟但下一次找东西省的时间远不止这些。配合日志可以做一个很实用的验收动作交接前把每条会话连一遍随便执行一条只读的检查命令who、date、show version这类确认连通性、确认中文显示正常、确认日志正常落盘。三条会话十分钟几十条会话一个小时也就完了换来的是接手的人不用从零排查。验收项检查方法不通过的处置端口连通用 Test-NetConnection 探一次找网络侧确认别在终端里死磕终端类型跑一次全屏程序看排版换 VT100/VT220 重试中文显示echo一段中文看有无乱码调字体与字符集键盘手感退格、方向键各按一次调映射或换仿真模式日志落盘断开后确认日志文件有新内容检查日志目录权限与路径这五项的检查脚本可以自己写一段 Powershell 批量化把主机清单读进来逐个探端口输出一张通断表剩下的人工连一遍。批量探测只解决第一项后面四项必须真的连上去操作这点偷不了懒。最后一个技巧跟日志回放有关出问题之后把日志文件按时间戳切成小段来看比从头翻要快。日志里能同时看到本地发出去的字符和服务端回显的内容两端一比是谁的问题一目了然。我处理过一次全屏程序错位翻日志发现服务端回的是 VT220 的定位序列本地设的是 VT100解释不了那串序列就直接当字符打出来了——这种问题靠猜永远猜不到看日志两分钟就定位了。从那以后我每次配完一批会话都会强制走一遍上面的验收表尤其是中文显示和键盘手感这两项它们不影响“能不能连”只影响“连上之后能不能干活”而恰恰是这两项最容易在交接时被漏掉。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?