TCP调试必备:NetAssist网络调试助手!
在设置好协议类型(TCP Client) 、远程主机地址(47.96.255.174)、远程主机端口(8080)三个参数之后,点击【连接】按钮,若连接成功,网络调试助手便会建立本地客户端到目标服务器的TCP通信连接,同时【连接】按钮自动切换为【断开】按钮。在单片机/嵌入式系统的网络开发过程中,可通过网络调试助手接收单片机设备的网络数据,或者向单片机设备发送网络数据,配合单片机程序开发,验证单片机程
说到网络调试助手这类软件,排名第一的肯定是——「NetAssist网络调试助手」。
NetAssist网络调试助手是南京云想物联网科技有限公司开发的,前身为铭心网络,最早发布于2001年,专注于物联网软硬件产品研发。
流传至今已有接近20年了,基本上这是一款电气工程师、上位机工程师、嵌入式工程师、MES工程师、网络工程师必备的一款软件。
广受好评也是有原因的:
1、支持的Windows系统非常全面,包括Windows95/WinXP/Vista/Win7/Win8/Win10/WinALL, 兼容32位/64位操作系统。
2、使用简单,绿色软件,解压后只有一个执行文件,直接运行即可。
3、功能十分全面,功能列表如下:
(1)支持的协议类型包括:UDP、UDP IPv6、TCP Client、TCP Client IPv6、TCP Server、TCP Server IPv6、MQTT Client
(2)支持模拟tcp服务端、tcp客户端
(4)接收设置:支持ASCII或HEX
(5)发送设置:支持ASCII或HEX,或发送文本文件或二进制文件;支持循环发送
多个版本
这个公司出的这款TCP网络调试助手,还有多个版本和详细的用户手册。
NetAssist 网络调试助手一用户手册:
TCPCOM二合一调试助手:
TCPCOM二合一调试助手(英文版):
除了网络调试助手,还有UartAssist串口调试助手。
有需求的可以下载这个TCP网络调试工具合集:
另外还有串口调试工具合集:
工欲善其事,必先利其器,这个通讯调试工具合集,几乎是上位机工程、嵌入式工程师、电气工程师、设备维护工程师、网络工程师必备的。
下载地址(文末回复即可获取)
使用场景
网络调试助手通过模拟建立TCP/UDP服务器或客户端,实现对网络设备或者网络应用程 序的通信联调。
1、网络终端(仪器设备)的参数设置。工程应用中为了方便终端设备的参数设置,可通过网络调试助手建立到网络终端设备的网络连接,然后直接在网络调试助手中对本地或远程的设备进行参数设置。
2、网络终端(仪器设备)的远程控制、网络数据的抓取、记录及分析。
3、工控设备/单片机的开发调试。在单片机/嵌入式系统的网络开发过程中,可通过网络调试助手接收单片机设备的网络数据,或者向单片机设备发送网络数据,配合单片机程序开发,验证单片机程序的通信能力以及业务逻辑的准确性。
4、客户端模拟。Client-Server(C/S)结构的应用系统开发设计过程中,在服务端软件尚未开发或无法验证时,为了提供系统开发的并行性。
5、模拟服务器端程序,用于验证客户端的通信逻辑的正确性,辅助客户端开发人员完成客户端通信接口协议的开发以及验证。
6、用于WEB开发人员调试HTTP接口,通过建立TCP连接(服务器或客户端),抓取HTTP应用交互数据,分析POST或GET请求及响应的报文内容,排查HTTP接口的应用逻辑或者编码方式 等错误,为HTTP应用开发解决bug问题提供分析凭据。
7、用于FTP或TELNET等基于TCP协议的网络应用软件的开发调试。网络调试助手作为提供给软件开发人员的通信基准工具,保证开发人员可以集中精力于自身业务逻辑。
软件界面
界面基本构成:
界面主题(背景/字体)设置:
工具面板/快捷指令:
工具面板/批量发送:
工具面板/自动应答:
工具面板/历史发送:
工具面板/检验计算器:
功能配置
1、设置主题模式
调试助手提供二个预置的主题样式:白底经典(默认主题)和黑底经典。也可以选择自定义方式,并按个人的喜好习惯设置界面背景以及字体。下图是选择黑底经典主题的效果。左侧控制面板可以折叠收起,显示效果会更加简洁。
2、数据接收格式
在调试助手左侧的接收参数面板,可以设置接收数据的显示格式为 ASCII码或者 HEX码,方便用户按不同的方式分析查看其所接收的数据。
3、日志显示格式
数据接收窗口默认是按日志模式显示的,除了显示接收到的数据内容外,还会显示接收数据的时间戳、数据格式(ASCII码/HEX码)、数据来源IP地址及端口号。
另外,接收窗口还会显示所发送的数据记录信息。如下图所示:
4、接收报存到文件
在接收设置中,点击【接收保存到文件】选项。
5、支持转义字符
只要勾选发送设置中的【自动解析转义符】选项,发送包含转义符的ASCII文本时,转义符会自动解析成对应的ASCII码数据进行发送,方便用户以文本形式发送非打印符。
6、自动发送校验位
在使用调试助手进行通信调试时,某些场景下需要发送带校验位的指令数据。
比如,调试modbus通信协议时,指令末尾需要加CRC16校验位。这就要求在准备调试指令前事先计算好校验码,如果遇到指令比较多且随时要修改的情形,就会比较麻烦。
这里校验位选择了 CRC-16/MODBUS,然后发送 16 进制数据指令:011000000002040000,而实际发出去的指令末尾会自动增加2个字节的CRC16校验位数据 46、15, 免去了用户自行计算添加校验位的麻烦。
7、发送框默认内容设置
发送输入框中的默认显示内容可以进行定制,可以是固定的数据内容(或为空),也可以记住上一次关闭时最后一条发送的数据。
具体设置方法:在调试助手的菜单中找到【发送框中默认内容】选项,点击弹出设置窗口。
TCP通信实测
TCP通信需要重点关注两个参数,第一个参数是服务器所监听的网络接口(适配器)的IP地址,第二个参数是服务器所监听的Port端口号。
下面通过具体的测试案例来说明,如何通过网络调试助手进行TCP协议的通信调试。本次实验中,服务器端与客户端各自运行一个网络调试助手软件,分别用于模拟TCP服务端和TCP客户端。
本次测试环境配置参数如下所示:
服务端:云服务器,Windows Server操作系统,外网IP地址为47.96.255.174,私有(内网)IP为192.168.3.38,TCP服务监听端口8080;
客户端:个人PC,Windows操作系统,局域网宽带接入Internet。
1、服务器端监听地址选择
协议类型:选择TCP Server。
服务器对外提供TCP服务时,必须绑定对外通信服务的网络适配器,也就是设定如下图4-2所示的本地主机地址。本地主机地址下拉选择框中,自动枚举列出了当前主机(服务器)所有实际存在的网络适配器所对应的内网IP地址。
由于本地主机地址(网络适配器的内网地址)不止一个,需要根据实际情况进行选择。
本次测试的服务器存在3个网络适配器,对应的内网IP地址分别为:192.168.1.8、192.168.3.38、127.0.0.1。
此前已有说明,本次测试服务器通过外网提供TCP服务,其外网IP地址为47.96.255.174,该外网地址绑定的网络适配器的内网IP为192.168.3.38,所以我们在本测试案例中选择本地地址为192.168.3.38。
这样,我们在跟47.96.255.174这个外网IP地址通信时,服务器运营商的路由器会自动映射到其内网主机地址192.168.3.38。
2、服务器端口选择
本测试案例中,服务器端口号选择8080。如果选择其他的端口号,在建立客户端时要保持一致。
3、服务器打开监听
服务器端网络调试助手成功打开监听服务后,【打开】按钮自动切换为【关闭】按钮。如果再次点击此按钮将关闭TCP服务器的监听服务,所有连接到服务器的客户端会随服务器的TCP服务的断开而全部自动断开。
4、服务端的接入管理
一旦有新的客户端接入,都会在客户端下拉列表中显示出来。如果有客户端主动断开连接,也会自动从这个列表中清除。
客户端自主断开有两种情形,一种是正常断开,也就是客户端点击【断开】按钮,或者正常关闭客户端软件,或者正常关机;
另一种是异常断开,比如客户端突然断电或者宕机导致的异常断开。如果是客户端正常断开的情形,服务器会立即收到客户端的断开事件并更新客户端列表;
但如果客户端是异常断开的,那么服务器端可能会收不到客户端的断开事件,那么客户端列表中就会出现僵尸连接。
应对僵尸连接,网络调试助手会定期自动清理,如果检测到连续12小时没有收到某一个客户端发送来的数据,可以说明该客户端连接已经失效,就会强制将其踢除。
5、服务端接收客户端数据
接收到的数据记录不仅显示接收到的数据内容,还会显示接收时间、客户端IP地址及端口号等相关信息。
6、服务端向客户端发送数据
选择目标客户端,也就是向哪个客户端发送数据,对应的操作就是在发送区的客户端列表中选择目标客户端地址。如果目标客户端选择All Connections选项,就代表向当前所有已经接入客户端(All Connections)发送数据。
7、客户端-远程主机地址设置
测试中,云服务器的外网IP为47.96.255.174,如下图4-10所示填写。当然,这里的远程主机地址输入框也支持域名形式的地址,前提是该服务器的IP地址已有对应的域名绑定。
协议类型选择TCP Client
客户端网络调试助手设置远程主机端口,也就是将连接的目标服务器的服务监听端口。
8、客户端连接到服务器
在设置好协议类型(TCP Client) 、远程主机地址(47.96.255.174)、远程主机端口(8080)三个参数之后,点击【连接】按钮,若连接成功,网络调试助手便会建立本地客户端到目标服务器的TCP通信连接,同时【连接】按钮自动切换为【断开】按钮。
9、客户端发送数据到服务器
如果在接收设置面板中,勾选了【按日志模式显示】选项,那么在调试助手的主窗口区会显示此次发送的日志记录信息(包括发送的时间、发送的数据类型及数据内容)。
10、客户端接收服务器发来的数据
当客户端接收到服务器发来数据时,会立即在主窗口的接收区显示出来,如果在接收设置中勾选了按日志模式显示,那么在显示接收数据时,还会同时显示接收时间、以及数据类型等相关信息。
UDP通信测试
下面通过具体的测试实例来描述如何通过网络调试助手进行UDP通信。本次测试实验在同一个局域网内的3台PC上进行,每台PC各自运行一个网络调试助手,并选择UDP协议,相互间进行UDP数据收发测试(单播与广播)。
由于UDP协议是无连接协议,不用区分服务器端还是客户端。这里我们将实验中的通信客户端命名为客户端A、客户端B、客户端C,具体网络参数如下所示。
客户端A:内网IP为192.168.1.11,UDP监听端口8080
客户端B:内网IP为192.168.1.12,UDP监听端口8080
客户端C:内网IP为192.168.1.13,UDP监听端口8080
1、 UDP客户端的网络设置
在客户端A(192.168.1.11)的PC上启动网络调试助手,网络设置参数如图所示:协议类型选择UDP、本地主机地址选择192.168.1.11,本地主机端口选择8080。
设置完上述参数后,点击【打开】按钮。如果操作成功,便进入监听状态:
类似地,在客户端B(192.168.1.12)及客户端C(192.168.1.13)所在PC上分别启动网络调试助手,并分别监听8080端口。
UDP客户端B打开监听:
UDP客户端C打开监听:
2、点对点发送数据
点对点通信即一对一通信,区别于一对多(多播或广播)通信。下面通过从客户端A向客户端B发送数据的方式测试点对点通信。
首先在客户端A设置远程地址为客户端B的监听地址,即192.168.1.12:8080。数据就会发送到目标主机192.168.1.12:8080,即客户端B。
客户端A向客户端B发送数据:
客户端B接收到客户端A发送的数据:
3、一对多广播通信
广播通信是一种一对多的通信方式。在UDP协议下,可以通过向广播地址发送数据,实现广播通信。
前面已经介绍过,广播地址(Broadcast Address)是专门用于同时向网络中所有工作站进行发送的一个地址,当发出一个目的地址为广播地址的数据报文时,它将被分发给该网段上的所有计算机。
例如,对于192.168.1.0 (255.255.255.0 )网段,其广播地址为192.168.1.255;
或者使用受限的广播地址255.255.255.255, 可覆盖整个本地网络,但不能被路由器转发到其它网络。
客户端A发送广播数据:
下面演示由客户端A(192.168.1.11)发送广播数据,如图4-22所示。首先,设置客户端 A 监听地址为 192.168.1.11:8080,然后设置远程主机(目标地址)为广播地址192.168.1.255:8080,接着在发送框输入发送内容,最后点击【发送】按钮,发出广播数据。
如果广播成功,同一网段内所有主机(包括客户端A、客户端B、客户端C)都能收到广播数据。
Modbus 协议测试
支持的协议类型有Modbus-RTU、Modbus-ASCII、Modbus-TCP。
可以作为一个TCP客户端连接上Modbus服务器后,可修改指定地址数据。
学习Modbus协议,使用这款工具事半功倍。
点击头部菜单【工具】>【Modbus调试器】即可打开这个发送数据的界面。
如上图修改了三个地址分别是015。
批量发送
批量发送功能用于控制多条预定义数据指令按照一定的顺序和不同的延迟间隔进行发送。
【批量发送】功能位于工具面板窗口,类似【快捷指令】功能,需要先进行预定义指令的编辑输入。每条指令除了可以定义指令数据和文字备注,还定义有延迟时间,即上一条指令发送完后,延迟多长时间发送当前这条指令。
校验计算器
本调试助手软件支持发送数据时自动添加校验码,也可以自行通过调试助手提供的校验计算器来进行数据的校验码计算,然后手动添加到发送数据中。
校验位计算器从工具面板中打开,如图5-11所示。检验的数据类型可以选择 ASCII码或者HEX码,但数据类型必须跟实际输入的数据内容一致。
如有帮助,点赞记录一下吧!
软件下载
在程序员软件库公众号内,回复”通讯“,即可获取下载地址
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐

所有评论(0)