TCP怎么测呢?-nc

背景

今天,有个朋友咨询我关于 UDP 协议的测试方法。在给他讲完之后我也顺手将大致的过程记录了下来,在此分享给大家。

因为其是测试 LB(Load Balance)UDP 协议的支持,关于服务端和客户端都需要自己来搭建。

测试工具选型

nc

nc 安装方便,使用简单,可以作为 server 实现 TCP/UDP 端口侦听,也可以作为 client 发起 TCP/UDP 连接。

iperf

安装也比较简单,支持 server 端和 client 端,是业内比较主流的灌包测速工具。在测速方面是比较好的选择。

开始测试

使用 nc

nc 安装

在服务端和客户端都安装 nc

yum install nc

启动服务端

[root@test ~]# nc -uvl 30.30.30.201 8787
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on 30.30.30.201:8787

 # -u 使用UDP协议
 # -v 输出详细的交互信息和错误信息
 # -l 侦听模式即server模式

上面的命令中,建议使用网卡上配置的 IP,不建议使用 127.0.0.1 这种本地环回地址,可能会出现问题。

客户端启动测试

首先创建一个测试文件,然后通过 nc 将这个文件的内容通过 UDP 协议传送到服务端,观察服务端控制台。

客户端:

echo "i am client." > t.txt

nc -u -w 1  30.30.30.201 8787 < t.txt

服务端:

服务端收到的消息

根据服务的响应,我们已经能够判断 UDP 链路已经 OK,此时就可以将服务端对接到 LB 的实例上,我们通过访问 LBIP 和端口就能到达服务端。

对于数据的具体报文详情,我们可以在服务端绑定的网卡上抓包分析即可。

测速

关于 nc 的测速,我们可以通过如下方式进行。

服务端:

将收到的数据扔到黑洞中。

nc -u -l 9999 > /dev/null

客户端:

将无数的 通过 UDP 扔给服务端。

nc -u 30.30.30.201 8787 < /dev/zero

使用 iperf

iperf 安装

在服务端和客户端都安装 iperf

yum install iperf

启动服务端

[root@ ~]# iperf -s -u -p 8899
------------------------------------------------------------
Server listening on UDP port 8899
Receiving 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------

 # -s 以server模式启动
 # -u 使用UDP协议
 # -p 指定侦听端口

启动客户端

[root@agent-1 ~]# iperf -c 30.30.30.201 -u -p 8899
------------------------------------------------------------
Client connecting to 30.30.30.201, UDP port 8899
Sending 1470 byte datagrams, IPG target: 11215.21 us (kalman adjust)
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 30.30.30.147 port 52522 connected with 30.30.30.201 port 8899
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec
[  3] Sent 892 datagrams
[  3] Server Report:
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec   0.042 ms    0/  892 (0%)

# -c 指定client的身份
# -u 使用UDP协议
# -p 指定服务端端口

测试结果

如上,我们除了在客户端能够看到测试结果,服务端也有详细的测试结果。

服务端打印

根据 iperf 的测试结果,我们不但能够知道当前的 UDP 服务正常,而且带宽为: 1.05 Mbits/sec

关于 UDP 的测试我们今天先介绍到这里,后续更精彩。

nc的更多用法

测试TCP链接

启动服务端

nc -nvl 192.168.0.4 6901

客户端

nc -v 192.168.0.4 6901

链接成功后,还可以直接在控制台进行输入聊天。

验证端口连通性

命令:nc -zv 172.1.2.3 8899

验证UDP端口

命令:nc -uvz 192.168.0.125 111

端口扫描

命令:nc -v -w 1 172.16.7.78 -z 22-81

版权声明:除特殊说明,博客文章均为phyger原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。来自:https://u1s1.vip/archives/191
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇