有没有那种模拟网络条件不好的软件?如模拟一定的丢包率,或者出模拟网络延时等等

时间:2022-12-29 20:05:44
在网络学习中,小弟碰到一个问题,即网络软件开发完成后,在自己小范围内测试时,比如用实验室同学的机器组成的一个局域网内,可以成功顺畅无阻地运行,可是,疑惑的是,在自己小范围的测试结果不一定能代表在真正实施运行时的情况,因为真实实施时,网络条件会复杂得多:可能会有丢包,也有可能会有一定的延时。所以,这里请教各位网友,有没有一种软件,可以模拟网络的丢包和延时条件呢?在此谢谢了先。

PS:有一同学给出一个思路来作这种软件:发往网络程序A的包都用Hook先截获,然后,随机选择把包丢掉(即不往后发),或者故意在n个毫秒后再发给A以达到延时的目的。这种思路可行吗?

欢迎讨论。

20 个解决方案

#1


各位兄弟,帮忙顶啊,众兄弟中就没有人想过这个问题吗

#2


呵呵 自己写 你够强!
参考下软件NS-2把 我们实验室写论文都会用到这个

#3


兄弟,俺还没有去考虑过自己写这种软件的,就俺这水平,汗~
俺只是想知道是否有这种软件存在。如果连俺都可以想到有某种基本思路可以实现这种软件,那么网络上的高人们早就想到了,进而,这种软件应该早就出来了。
NS-2就是传说中的这种软件?我得赶紧去看看。

#4


有用过Chariot软件的兄弟吗,该软件貌似可以达到上述功能

我也是今天才知道,想和了解该软件的兄弟们交流下

#5


sniffer就可以

#6


近日把Net Chariot这个软件细细折腾了一番,目的是想找出它是否是本贴要找的软件,不过,最后的结论很可惜,Net Chariot是一个测试软件,它可以检测网络的诸多状况,但是,也只是限于检测,而不是使网络造成丢包或延时。不过,作为测试软件,Net Chariot做得真不错,兄弟们可以试试它。

Jia20003(gloomy fish)兄,Sniffer可是做到模拟发包或延时吗?以前我简单地用过Sniffer,现在听你这一说我要去细琢磨Sniffer了,谢谢你先。

如果能找到满足本贴的软件,结贴时将额外散分给兄弟们。

#7


1. 买一个价钱最便宜的hub, 质量一定很差,可以造成丢包或者延时
2. 有条件的话,可以用2个ADSL在公网测试,以前我在上海和香港之间用ADSL测试软件,几乎是不通的,丢包非常严重,延时也很长

#8


感谢mango279(木目)兄提供的方法,对于方法1:

质量差的Hub可以造成丢包或延时,但是,这时丢包或延时不怎么好量化。举个例子,我们想要看看丢包率在5%左右时我写好的软件是否将出现一些问题,这时方法1是很难满足条件的。因为我们很难保证买来的质量差的Hub造成的丢包率大概是5%。除非,我们去电脑城跟老板商量,把他仓库里所有的Hub都拿来先测试一下后,再把丢包率不同的Hub各买一个回来用。

#9


把网线弄得似断非断,接触不良 ^_^

#10


从国外转一圈再回来吧

#11


有一个名叫ipwave的软件(很贵的),可以使局域网模拟公网环境;它可以设置网络丢包率,抖动,延时等,还可以统计各种参数

#12


楼主,ip wave不可以用吗?你再看看
http://www.spirentcom.cn/analysis/ip_wave.asp
http://www.spirentcom.cn/old/product/adtech_1.htm

#13


HOOK丢包是没有用的,HOOK到的包是应用层的,没多大意义,要模拟,得用NDIS在网络层截包,
不知道需要这种软件的人多不多,老子倒是会写这种

#14


多谢skykeen提供的网页信息,这几天没事就上去逛。skykeen对这个工具熟吗。

TO iori:
我们的目的是对应用软件造成模拟丢包,只要能实现,我认为用hook方法也有意义(当然,用NIDS这种终极大法也行)。

#15


关注

#16


up

#17


關注一下。

#18


自己写个代理服务器不就行了吗,把A客户端连接发来的数据转发到B服务端,中间模拟网络的丢包和延时。

#19


这个问题最终有结果了~~
我所知道的现有工具,有Shunra公司的Cloud(软件)和Storm(硬件),这两个产品都是以前的,现在Shunra公司推的是一个叫VE(Virtual Enterprise)硬件。在shunra公司的主页上找不到Cloud和storm的详细介绍和技术指导。
另一个是Spirent(思博伦)公司的IPWave。两个公司的任何一个产品,价格都比较高,似乎Spirent更贵的说。

Cloud的实现原理是工作在数据链接层,用驱动来实现。

我自己用SPI方法来模拟,现在结果是SPI模拟UDP包的丢包基本做到了并且效果不错,但对于TCP包,SPI怎么实现模拟我一直没搞明白,因为SPI是工作在上层的,对于TCP这种可靠的链接,怎么实现丢包我没有找寻到好的方法。

#20


Cloud不能针对某个进程进行网络损伤模拟。它的丢包是建立在IP层的。
个人感觉Cloud还是很有多的,除了丢包、延时外,还有可以制造抖动,限制上行/下传的带宽,(乱序好像也可以),等等,个人感觉Cloud做得还是不错的。

#1


各位兄弟,帮忙顶啊,众兄弟中就没有人想过这个问题吗

#2


呵呵 自己写 你够强!
参考下软件NS-2把 我们实验室写论文都会用到这个

#3


兄弟,俺还没有去考虑过自己写这种软件的,就俺这水平,汗~
俺只是想知道是否有这种软件存在。如果连俺都可以想到有某种基本思路可以实现这种软件,那么网络上的高人们早就想到了,进而,这种软件应该早就出来了。
NS-2就是传说中的这种软件?我得赶紧去看看。

#4


有用过Chariot软件的兄弟吗,该软件貌似可以达到上述功能

我也是今天才知道,想和了解该软件的兄弟们交流下

#5


sniffer就可以

#6


近日把Net Chariot这个软件细细折腾了一番,目的是想找出它是否是本贴要找的软件,不过,最后的结论很可惜,Net Chariot是一个测试软件,它可以检测网络的诸多状况,但是,也只是限于检测,而不是使网络造成丢包或延时。不过,作为测试软件,Net Chariot做得真不错,兄弟们可以试试它。

Jia20003(gloomy fish)兄,Sniffer可是做到模拟发包或延时吗?以前我简单地用过Sniffer,现在听你这一说我要去细琢磨Sniffer了,谢谢你先。

如果能找到满足本贴的软件,结贴时将额外散分给兄弟们。

#7


1. 买一个价钱最便宜的hub, 质量一定很差,可以造成丢包或者延时
2. 有条件的话,可以用2个ADSL在公网测试,以前我在上海和香港之间用ADSL测试软件,几乎是不通的,丢包非常严重,延时也很长

#8


感谢mango279(木目)兄提供的方法,对于方法1:

质量差的Hub可以造成丢包或延时,但是,这时丢包或延时不怎么好量化。举个例子,我们想要看看丢包率在5%左右时我写好的软件是否将出现一些问题,这时方法1是很难满足条件的。因为我们很难保证买来的质量差的Hub造成的丢包率大概是5%。除非,我们去电脑城跟老板商量,把他仓库里所有的Hub都拿来先测试一下后,再把丢包率不同的Hub各买一个回来用。

#9


把网线弄得似断非断,接触不良 ^_^

#10


从国外转一圈再回来吧

#11


有一个名叫ipwave的软件(很贵的),可以使局域网模拟公网环境;它可以设置网络丢包率,抖动,延时等,还可以统计各种参数

#12


楼主,ip wave不可以用吗?你再看看
http://www.spirentcom.cn/analysis/ip_wave.asp
http://www.spirentcom.cn/old/product/adtech_1.htm

#13


HOOK丢包是没有用的,HOOK到的包是应用层的,没多大意义,要模拟,得用NDIS在网络层截包,
不知道需要这种软件的人多不多,老子倒是会写这种

#14


多谢skykeen提供的网页信息,这几天没事就上去逛。skykeen对这个工具熟吗。

TO iori:
我们的目的是对应用软件造成模拟丢包,只要能实现,我认为用hook方法也有意义(当然,用NIDS这种终极大法也行)。

#15


关注

#16


up

#17


關注一下。

#18


自己写个代理服务器不就行了吗,把A客户端连接发来的数据转发到B服务端,中间模拟网络的丢包和延时。

#19


这个问题最终有结果了~~
我所知道的现有工具,有Shunra公司的Cloud(软件)和Storm(硬件),这两个产品都是以前的,现在Shunra公司推的是一个叫VE(Virtual Enterprise)硬件。在shunra公司的主页上找不到Cloud和storm的详细介绍和技术指导。
另一个是Spirent(思博伦)公司的IPWave。两个公司的任何一个产品,价格都比较高,似乎Spirent更贵的说。

Cloud的实现原理是工作在数据链接层,用驱动来实现。

我自己用SPI方法来模拟,现在结果是SPI模拟UDP包的丢包基本做到了并且效果不错,但对于TCP包,SPI怎么实现模拟我一直没搞明白,因为SPI是工作在上层的,对于TCP这种可靠的链接,怎么实现丢包我没有找寻到好的方法。

#20


Cloud不能针对某个进程进行网络损伤模拟。它的丢包是建立在IP层的。
个人感觉Cloud还是很有多的,除了丢包、延时外,还有可以制造抖动,限制上行/下传的带宽,(乱序好像也可以),等等,个人感觉Cloud做得还是不错的。

#21