如何测试应用程序如何处理数千个 TCP 连接?

如何测试应用程序如何处理数千个 TCP 连接?

我们正在尝试追踪客户端在向我们的网关注入大量邮件时遇到的问题,在某个时候,他的连接被拒绝。不幸的是,除此之外,客户端没有提供太多有用的数据,除了他似乎没有收到 SYN ACK 消息。

我们希望对我们的服务进行一些测试,并确定它在阻塞之前可以建立多少个 TCP 连接(以及稍后我们可以注入的消息)。是否有任何实用程序可用于与目标同时建立数千个 TCP 连接?无需有效负载。

理想情况下,这个工具应该为我们提供它能够建立多少个连接、建立连接的速度等的概要。

非常感谢您的任何想法!

答案1

你可以用hping它来生成流量。但你最好尝试实际复制真实世界的负载。

hping例子

将 TCP SYN 数据包发送到主机 example.com 上的端口 0(请注意,对于每个发送的数据包,hping 将把源端口增加 1):

hping example.com -S -V

向主机 example.com 上的端口 443 发送 TCP SYN 数据包:

hping example.com -S -V -p 443

将设置了 SYN + ACK 标志的 TCP 数据包发送到主机 example.com 上的端口 443:

hping example.com -S -A -V -p 443

将设置了 SYN + ACK + FIN 标志的 TCP 数据包发送到主机 example.com 上的端口 443:

hping example.com -S -A -F -V -p 443

每 5 秒向主机 example.com 上的端口 443 发送一次 TCP SYN 数据包:

hping example.com -S -V -p 443 -i 5

每 100,000 微秒(即每 0.1 秒或每秒 10 个)向主机 example.com 上的端口 443 发送一次 TCP SYN 数据包。请注意,verbose 已被删除:

hping example.com -S -p 443 -i u100000

每 10,000 微秒(即每 0.01 秒或每秒 100 个)向主机 example.com 上的端口 443 发送一次 TCP SYN 数据包:

hping example.com -S -p 443 -i u10000

每 10,000 微秒(即每 0.01 秒或每秒 100 个)向主机 example.com 上的端口 443 发送一次 TCP SYN 数据包。在 500 个数据包后停止:

hping example.com -S -p 443 -i u10000 -c 500

相关内容