在做硬件终端与服务器通信时,由于没有服务器、没有TCP或UDP服务后台,非常不方便进行TCP、UDP协议的测试,我这里为大家分别提供TCP和UDP测试平台。
TCP测试服务平台信息:
TCP协议硬件地址(报文上报地址)IP:47.107.99.203 端口:8002
客户端TCP报文查看和报文下发地址: http://47.107.99.203:8012/
UDP测试服务平台信息:
UDP协议硬件地址(报文上报地址)IP:47.107.99.203 端口:5003
客户端UDP报文查看和报文下发地址: http://47.107.99.203:8013/
如下进行简单演示硬件终端与服务平台的交互过程
1、TCP协议终端与平台交互过程演示
1.1 打开浏览器输入客户端地址: http://47.107.99.203:8012/ ,即可访问到测试TCP协议的前端页面,如下图所示
1.2 用TCP调试工具进行测试,输入终端测试服务器地址IP:47.107.99.203 端口:8002,建立SOCKET连接,并向服务器发送报文,如下图所示
1.3 服务器接收到终端发送的报文,并实时的展示出来,如下图所示
1.4 在下发输入框,输入需要下发的报文,然后点击”SEND”按钮,服务平台将向终端发送报文,如下图所示,终端接收到服务平台发送的报文
2、UDP协议终端与平台交互过程演示
2.1 打开浏览器输入客户端地址: http://47.107.99.203:8013/ ,即可访问到测试UDP协议的前端页面,如下图所示
2.2 用UDP调试工具进行测试,输入终端测试服务器地址IP:47.107.99.203 端口:5003,建立UDP连接,并向服务器发送报文,如下图所示
2.3 服务器接收到终端发送的报文,并实时的展示出来,如下图所示
2.4 在下发输入框,输入需要下发的报文,然后点击”SEND”按钮,服务平台将向终端发送报文,如下图所示,终端接收到服务平台发送的报文
yum -y install nmap
nmap -sU -p 123 10.0.8.7
nmap -sU -p 222 10.0.8.7
yum -y install nc
nc -zuv ntp.aliyun.com 123
nc -zuv ntp.aliyun.com 222
关于nc用于udp端口连通性测试注意点:
udp 没有类似 tcp 那样的状态报文, 所以单纯对 UDP 抓包是看不到啥异常信息。
那么当 IP 不通时, 为啥nc udp 命令显示成功 ?
因为 nc 默认的探测逻辑很简单,只要在 2 秒钟内没有收到 icmp ECONNREFUSED 异常报文, 那么就认为 UDP 连接成功。
所以, UDP 客户端给无法连通的地址发 UDP 报文时,其实也不会报错, 这时候通常会认为发送成功。
UDP 没有 TCP 那样的握手步骤,像 TCP 发送 syn 总得不到回报时, 协议栈会在时间退避下尝试 6 次,当 6 次还得不到回应,内核会给与错误的 errno 值。
所以如果要用 nc 测试 目标upd端口的连通性,先测试下到目标ip网络是否通畅。
UDP端口port unreachable
https://mp.weixin.qq.com/s/Ve_faFF87SxMVhTO9S-yKw
黑客工具之nmap详细使用教程
https://mp.weixin.qq.com/s/lsz-c6ZLC4iKyF47KaYgHg
让人迷糊的 socket udp 连接问题
https://xiaorui.cc/archives/7255
测试UDP端口方法TCP端口大家都知道,比如80端口,可以使用 telnet ip 80,来验证端口是否正常监听,那UDP端口是否可以同样测试呢?详细如下:
下面我们来进行测试,123端口是服务器42.11.12.13打开的UDP端口,
udp 0 0 42.11.12.13:123 0.0.0.0:* 1472/ntpd
1.我们首先使用telnet连接,如下
[root@kr-sg-test ~]# telnet 42.11.12.13 123
Trying 42.11.12.13…
telnet: connect to address 42.11.12.13: Connection refused
telnet: Unable to connect to remote host: Connection refused
很明显,telnet连接被拒绝,无法测试成功。
2.我们使用nc来进行测试,如下
[root@kr-sg-test ~]# nc -vuz 42.11.12.13 123
Connection to 42.11.12.13 123 port [udp/ntp] succeeded!
结果证明UDP 123端口正常监听。
nc命令用法:
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)