我在Python上学习网络编程:用TCP、UDP、ICMP、ARP等协议编写客户端服务器和客户端软件。在
我需要一个工具来模拟具有以下功能的N个主机的网络:
轻量级软件,可以创建N(2,5,10,…)个主机,每个主机上都有python解释器(都在我的电脑上!)。像Virtualbox这样的虚拟机看起来太重了,而且对RAM的要求很高。我只需要python解释器和网络堆栈支持。
配置整个网络质量的能力,如“丢弃10%的数据包”或“使信号延迟到500毫秒”
为每台主机单独配置对某些请求的响应的能力。像“平托”谷歌从主机#5应返回“远程网络不可访问”,但“ping to”雅虎从主机#5“应该可以。
当然,我的网络里有一个完整的日志记录。
是否有这样的软件或框架(适用于Windows 7和Linux)?
对于仅监听,您可以创建多个接口(别名),如下所示:
稍后,让应用程序的每个实例监听另一个接口。在
但是,如果你需要从不同的ifaces发送包,那么每次你都必须重新配置路由表。这不包括您指定的其他函数。在
我会选择一些轻量级的、高度可配置的linux发行版,在单独的虚拟机上没有ui。在
你必须编写自己的代码来覆盖你的具体规范
random
和time.sleep
语句。在logging
模块非常出色。在Python内置了一个simple HTTP server:
或者您可以使用^{} 之类的方法来服务python请求
^{pr2}$只需将
myapp
替换为要执行的python命令。在相关问题 更多 >
编程相关推荐