com2tcp工具
com2tcp 是 com0com 套件中的一个实用工具,用于将本地串口(COM)数据转发到 TCP/IP 网络,或者将 TCP/IP 数据转发到本地串口,实现串口数据的网络透传。
1. com2tcp 基本用法
(1)安装 com0com
-
从com2tcp下载并安装。

-
安装后,
com2tcp.exe通常位于安装目录(如C:\\Program Files (x86)\\com0com\\)。
(2)基本命令
cmd
com2tcp [本地COM端口] [目标IP:端口]
示例(将 COM3 的数据转发到 192.168.1.100:5000):
cmd
com2tcp COM3 192.168.1.100:5000
-
此时,所有发送到
COM3的数据都会转发到192.168.1.100:5000。 -
同样,从
192.168.1.100:5000接收的数据会写入COM3。
3. com2tcp 高级用法
(1)反向模式(TCP Server 模式)
默认情况下,com2tcp 作为 TCP Client(主动连接目标 IP)。
如果要让 com2tcp 作为 TCP Server(监听端口并等待连接),使用 --receive 参数:
cmd
com2tcp --receive COM3 5000
-
此时,
com2tcp会监听0.0.0.0:5000,等待 TCP 连接。 -
任何连接到
5000端口的客户端都可以与COM3通信。
(2)指定本地 IP(仅 TCP Server 模式)
默认监听 0.0.0.0(所有网卡),可以指定只监听某个 IP:
cmd
com2tcp --receive COM3 192.168.1.200:5000
(3)设置串口参数
可以指定 波特率、数据位、停止位、校验位:
cmd
com2tcp COM3 192.168.1.100:5000 --baud=115200 --parity=N --databits=8 --stopbits=1
-
--baud=115200:波特率 115200 -
--parity=N:无校验(N=None,E=Even,O=Odd) -
--databits=8:8 位数据位 -
--stopbits=1:1 位停止位
(4)保持连接(自动重连)
如果 TCP 连接断开,com2tcp 默认会退出。可以使用 --stay 参数保持运行并自动重连:
cmd
com2tcp COM3 192.168.1.100:5000 --stay
4. 常见用途
(1)远程串口调试
-
将本地
COM3转发到远程服务器192.168.1.100:5000:cmd
com2tcp COM3 192.168.1.100:5000
-
远程服务器可以使用
nc(Linux)或PuTTY(Windows)接收数据:bash
nc -l -p 5000 # Linux
或使用
PuTTY连接192.168.1.100:5000(Raw 模式)。
(2)虚拟串口 + TCP 透传
-
使用
com0com创建虚拟串口对(如COM3COM4)。 -
使用
com2tcp将COM4转发到 TCP:cmd
com2tcp COM4 192.168.1.100:5000
-
现在,任何写入
COM3的数据都会通过 TCP 发送到192.168.1.100:5000。
(3)模拟 TCP 转串口设备
-
如果某个设备需要 TCP 转串口,可以这样运行:
cmd
com2tcp --receive COM3 5000
-
然后设备可以连接
本机IP:5000,数据会自动转发到COM3。
5. 替代方案
如果 com2tcp 不能满足需求,可以考虑:
-
socat(Linux/Windows):更强大的网络串口转发工具。
-
HW VSP3(商业软件):支持虚拟串口 + TCP/UDP 转发。
-
Python +
pyserial+socket:自定义脚本实现更复杂逻辑。
总结
com2tcp COM3 192.168.1.100:5000com2tcp --receive COM3 5000com2tcp COM3 192.168.1.100:5000 --baud=115200com2tcp COM3 192.168.1.100:5000 --stay适用于:
-
远程串口调试
-
工业设备 TCP 透传
-
虚拟串口 + 网络通信测试
如果你需要更稳定的商业方案,可以尝试 HW VSP3 或 Moxa NPort 系列设备。


