Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应力测试-连接饱和_C#_Testing_Udp_Stress Testing - Fatal编程技术网

C# 应力测试-连接饱和

C# 应力测试-连接饱和,c#,testing,udp,stress-testing,C#,Testing,Udp,Stress Testing,我用C#(UDP数据包泛洪器)制作了一个快速压力测试仪 我用家里的另一台电脑作为测试目标 第一次,我以80Mbps的速率将计算机淹没 这在几秒钟内就切断了(目标计算机中的)互联网连接,使得访问任何页面都不可能 但后来,我以1Gbps的速度淹没了目标计算机(比第一次攻击强10倍多),令我惊讶的是,它没有切断互联网连接 虽然1Gbps的洪水确实让互联网连接速度慢了很多,但它并没有让它死掉。几分钟后,页面成功加载。是的,很慢,但还活着 但是在80Mbps的洪水中,页面根本没有加载,甚至在一个小时之后。

我用C#(UDP数据包泛洪器)制作了一个快速压力测试仪

我用家里的另一台电脑作为测试目标

第一次,我以80Mbps的速率将计算机淹没

这在几秒钟内就切断了(目标计算机中的)互联网连接,使得访问任何页面都不可能

但后来,我以1Gbps的速度淹没了目标计算机(比第一次攻击强10倍多),令我惊讶的是,它没有切断互联网连接

虽然1Gbps的洪水确实让互联网连接速度慢了很多,但它并没有让它死掉。几分钟后,页面成功加载。是的,很慢,但还活着

但是在80Mbps的洪水中,页面根本没有加载,甚至在一个小时之后。80Mbps完全摧毁了它


这怎么可能呢?

因此,在80 Mbps时,您每秒发送2800万个数据包,在1 Gbps时,您每秒发送16400个数据包。问题不在于数据量,而在于数据包的数量。每个数据包都有一定的开销。不仅存在数据开销,还存在交换开销,包括网络硬件和解码数据包的软件

如果在80Mbps测试中增加数据包大小,它不会失败

对评论的答复 计算数据包的数量只需将数据速率除以数据包大小即可。80Mbps除以每个数据包3个字节得到的数据约为2800万

我不知道你用什么软件发动洪水攻击。a的全部要点是在短时间内发送尽可能多的数据包。因此,您希望数据包数据非常小。在1 Gbps测试中发送大数据包会阻止它发送尽可能多的数据包


UDP数据包头为8字节。为80Mbps测试中使用的数据添加三个字节,并将其四舍五入(考虑可能的开销)为16个字节。您的1 Gbps测试使用了65500字节或2^16(65536)的数据包长度(包括标头)。所以一个大数据包可以容纳2^12(4096)个小数据包。使用两个线程只会使您的数据包速率加倍。它仍然没有接近您运行的数据包速率,数据包只有3个字节(加上报头)。

因此,在80 Mbps时,您每秒发送2800万个数据包,在1 Gbps时,您每秒发送16400个数据包。问题不在于数据量,而在于数据包的数量。每个数据包都有一定的开销。不仅存在数据开销,还存在交换开销,包括网络硬件和解码数据包的软件

如果在80Mbps测试中增加数据包大小,它不会失败

对评论的答复 计算数据包的数量只需将数据速率除以数据包大小即可。80Mbps除以每个数据包3个字节得到的数据约为2800万

我不知道你用什么软件发动洪水攻击。a的全部要点是在短时间内发送尽可能多的数据包。因此,您希望数据包数据非常小。在1 Gbps测试中发送大数据包会阻止它发送尽可能多的数据包


UDP数据包头为8字节。为80Mbps测试中使用的数据添加三个字节,并将其四舍五入(考虑可能的开销)为16个字节。您的1 Gbps测试使用了65500字节或2^16(65536)的数据包长度(包括标头)。所以一个大数据包可以容纳2^12(4096)个小数据包。使用两个线程只会使您的数据包速率加倍。它仍然没有接近您运行的数据包速率,数据包只有3个字节(加上报头)。

因此,在80 Mbps时,您每秒发送2800万个数据包,在1 Gbps时,您每秒发送16400个数据包。问题不在于数据量,而在于数据包的数量。每个数据包都有一定的开销。不仅存在数据开销,还存在交换开销,包括网络硬件和解码数据包的软件

如果在80Mbps测试中增加数据包大小,它不会失败

对评论的答复 计算数据包的数量只需将数据速率除以数据包大小即可。80Mbps除以每个数据包3个字节得到的数据约为2800万

我不知道你用什么软件发动洪水攻击。a的全部要点是在短时间内发送尽可能多的数据包。因此,您希望数据包数据非常小。在1 Gbps测试中发送大数据包会阻止它发送尽可能多的数据包


UDP数据包头为8字节。为80Mbps测试中使用的数据添加三个字节,并将其四舍五入(考虑可能的开销)为16个字节。您的1 Gbps测试使用了65500字节或2^16(65536)的数据包长度(包括标头)。所以一个大数据包可以容纳2^12(4096)个小数据包。使用两个线程只会使您的数据包速率加倍。它仍然没有接近您运行的数据包速率,数据包只有3个字节(加上报头)。

因此,在80 Mbps时,您每秒发送2800万个数据包,在1 Gbps时,您每秒发送16400个数据包。问题不在于数据量,而在于数据包的数量。每个数据包都有一定的开销。不仅存在数据开销,还存在交换开销,包括网络硬件和解码数据包的软件

如果在80Mbps测试中增加数据包大小,它不会失败

对评论的答复 计算数据包的数量只需将数据速率除以数据包大小即可。80Mbps除以每个数据包3个字节得到的数据约为2800万

我不知道你用什么软件发动洪水攻击。a的全部目的是一次发送尽可能多的数据包