引言
TCP和UDP是最常见网络传输层协议,在交换机和路由器产品中是经常需要测到关于基于TCP和UDP的业务功能。目前有很多优秀的软件可以构造TCP和UDP报文并发包进行测试,如果只需要测IPv4的TCP和UDP流,推荐使用TCP test tool和UDP test tool。本文以测试路由器的虚拟服务器功能(也称为端口转发)为例,介绍这两个工具的使用方法。
测试内容说明,模拟在LAN PC搭建了一个TCP/UDP端口号为7000的服务器,WAN PC尝试访问 LAN PC。由于LAN PC处于路由器下面的局域网,WAN PC无法直接访问LAN PC。通过配置虚拟服务器功能,使WAN PC通过访问路由器的WAN口IP+端口号8000,再由路由器将访问请求转换成LAN IP+端口号7000再转发给LAN PC,实现WAN PC访问 LAN PC的服务器。
工具已上传,大家可以下载使用:https://download.youkuaiyun.com/download/lai_2020/90240694
测试组网
路由器WAN口IP:192.168.10.2
LAN PC IP:192.168.1.2
WAN PC IP:192.168.10.1
虚拟服务器设置:外部端口号为8000,内部端口号为7000,server IP为192.168.1.2,协议为TCP/UDP
UDP Test Tool
1、运行UDP Test Tool
在LAN PC和WAN PC上打开UDP Test Tool
2、设置接收端
LAN PC作为UDP接收端使用,在Host窗口内,Local IP Address选择192.168.1.2(此处会显示所有网卡的IP地址,选择要测试网卡的IP即可),Port输入7000并点击Bind按钮,表示UDP test tool会监听并处理目的IP+端口号为192.168.1.2:7000的UDP报文
3、设置发送端
WAN PC作为UDP发送端使用,在Remote窗口,在IP Address/Name中输入路由器WAN口IP192.168.10.2,Port输入8000
4、发送UDP报文
WAN PC上的发送端,在Edit/Send Data框输入需要发送的数据,然后点击Send按钮发送,可以在Sent HEX Data Log窗口看到发送数据的十六进制编码
5、接收UDP报文
在LAN PC的接收端,在Receivd HEX Data Log窗口可以看到收到数据,与发送端一致,点击接收的数据,在Edit/Received Data窗口会解析出接收到数据的ASCII码。
6、抓包结果
发送端报文,目的IP和目的mac及UDP负荷与设置一致
接收端报文,目的IP和目的mac与路由器的虚拟服务器的设置一致
TCP Test Tool
1、运行TCP Test Tool
在LAN PC和WAN PC上运行TCP Test Tool
2、设置接收端
LAN PC作为TCP报文的接收端,在Server窗口内,Listening on选择192.168.1.2(此处会显示所有网卡的IP地址,选择要测试网卡的IP即可),Set Listening Port输入7000并点击Bind按钮,表示TCP Test Tool会监听并处理目的IP+端口号为192.168.1.2:7000的TCP报文。
3、设置发送端
WAN PC作为TCP发送端使用,在Client窗口,在IP Address/Name中输入路由器WAN口IP192.168.10.2,Port输入8000,然后点击Connect按钮,Connection Status变成Connected,表明已经跟LAN PC建立TCP链路。
4、查看接收端状态
在LAN PC的接收端的Current connection可以看到已经建立链路
5、发送TCP报文
在WAN PC的发送端的Edit/Send Data窗口输入数据,然后点击Send按钮,在HEX data log可以看到发送历史数据
6、接收TCP报文
在LAN PC的接收端的HEX Data log窗口可以看到收到数据,与发送端一致,点击收到的数据,可以在Edit/Data Log看到数据被解析成ASCII码
7、抓包结果
TCP报文分三部分,第一部分是建立TCP链路的三次握手,第二部分是发送TCP数据,第三部分是拆除TCP链路的四次挥手。
发送端报文目的IP和目的mac及TCP负荷与设置一致
接收端报文的目的IP和目的mac与路由器的虚拟服务器的配置一致
精彩预告
后续会陆续更新龙卷风、anysend等发包工具的使用方法;有兴趣的网友,欢迎点赞、关注、收藏!