跳转到主要内容

一个轻量级网络仿真器,内嵌于小型Python库中。

项目描述

nemu3

Nemu (网络仿真器) 是一个小的Python库,用于创建仿真网络并在其中运行和测试程序。

不同的程序,或者同一程序的副本,可以在不同的仿真节点上运行,仅使用仿真网络进行通信,而不会意识到它们都在同一台计算机上运行。

Nemu提供了一种非常简单的接口来创建节点,用虚拟接口任意连接它们,配置IPv4和IPv6地址和路由,并在节点中启动程序。虚拟接口也支持仿真数据包的延迟、丢失和重排序,以及带宽限制。

您甚至可以通过在不同节点上打开xterms来启动交互会话,Nemu对将X会话转发到仿真节点有特殊支持。

更高级的配置,如设置netfilter(iptables)规则、启动VPN隧道、路由守护进程等,都可以通过在仿真节点上执行适当的命令来简单地支持,就像在真实网络中的真实机器上执行一样。

所有这些功能都是通过非常小的开销实现的,这得益于Linux内核的网络命名空间功能,这是更大型的Linux容器项目的一部分。

为了了解Nemu能做什么,请查看这个示例脚本,它创建了3个相互连接的节点,运行一些测试,然后启动xterms运行tcpdump,以便您可以看到数据包从一个节点流向另一个节点。

Nemu最初是在INRIA(法国计算机与自动化研究学院,一家法国研究机构)作为研究项目启动的,而这个Python 3版本是由Nexedi完成的,并由其维护。

由以下提供支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面