TCP、UDP协议测试

TCP、UDP协议测试,第1张

基于Nodejs、socket.io,开发了TCP和UDP服务平台,帮助大家做TCP和UDP协议的测试

       在做硬件终端与服务器通信时,由于没有服务器、没有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]]


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/555516.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-29
下一篇2023-06-29

发表评论

登录后才能评论

评论列表(0条)

    保存