intrig-unicamp/mininet-wifi

GitHub: intrig-unicamp/mininet-wifi

Mininet-WiFi 是 Mininet 的分支项目,为软件定义无线网络提供支持 WiFi 节点和接入点的网络仿真环境。

Stars: 537 | Forks: 277

![](https://github.com/ramonfontes/miscellaneous/blob/master/mininet-wifi/mininet-wifi-logo.png) ### 关于 Mininet-WiFi Mininet-WiFi 是 Mininet (http://mininet.org/) 的一个分支,它支持同时使用 WiFi Station 和 Access Point。Mininet-WiFi 仅添加了 WiFi 功能,你可以像使用 Mininet 一样来使用它。 [![构建状态](https://travis-ci.org/intrig-unicamp/mininet-wifi.svg?branch=master)](https://travis-ci.org/intrig-unicamp/mininet-wifi) ### 使用 Mininet-WiFi 时的注意事项 * 你可以使用任何无线网络工具(例如 iw, iwconfig, wpa_supplicant 等) * 在邮件列表中提问之前,请考虑使用计算机网络故障排查步骤来解决问题(例如:station 是否已关联到 ap?OpenFlow 规则是否正确运行?等等) * 需要帮助吗?在邮件列表提问时请务必谨慎,并请尽可能多地提供相关信息。 ### 用例目录 ## 安装 **我们强烈建议使用 Ubuntu 16.04 或更高版本。Ubuntu 14.04 可能无法支持 hostapd 的某些新特性。** 步骤 1: $ sudo apt-get install git 步骤 2: $ git clone https://github.com/intrig-unicamp/mininet-wifi 步骤 3: $ cd mininet-wifi 步骤 4: $ sudo util/install.sh -Wlnfv #### install.sh 选项: -W: 无线依赖 -n: mininet-wifi 依赖 -f: OpenFlow -v: OpenvSwitch -l: wmediumd _可选_: -P: P4 依赖 -6: wpan tools #### Docker **如果你使用的是安装脚本不支持的 Linux 发行版,建议使用此方法。** 如果你更喜欢配合 Docker 使用 Mininet-WiFi,请按照以下步骤操作: 1. 构建 docker 镜像: docker build -t mn-wifi:v1 . 2. 运行容器:Mininet-WiFi 依赖宿主机的 Kernel 模块,需要提升权限,并且需要宿主机网络接口: docker run -it --rm --privileged --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" -v /tmp/.X11-unix:/tmp/.X11-unix:rw --net host -v /sys/:/sys -v /lib/modules:/lib/modules -v /sys/kernel/debug:/sys/kernel/debug -v /var/run/netns:/var/run/netns mn-wifi:v1 ### 使用 GUI 构建拓扑 ![](https://github.com/ramonfontes/vnd/blob/master/miniedit.png) 我是一个初学者,我不懂 Python,但我想用 GUI 创建一个自定义的拓扑。在这种情况下,[MiniEdit](https://github.com/intrig-unicamp/mininet-wifi/blob/master/examples/miniedit.py) 可以提供帮助,因为它提供了一个 GUI 来生成 Python 脚本。 ### 开发 有关更便捷的开发说明,请查看[此辅助文件](doc/dev_help.md)。 ## 预配置的虚拟机 为了你的方便,我们提供了预构建的虚拟机镜像,其中包含 Mininet-WiFi 以及其他实用的软件。这些虚拟机镜像为 .ova 格式,适用于任何现代的 x64 虚拟化系统。 [[4.6GB 大小] - Lubuntu 20.04 x64](https://drive.google.com/file/d/1R8n4thPwV2krFa6WNP0Eh05ZHZEdhw4W/view?usp=sharing) - Mininet-WiFi (_密码: wifi_) ## 注意事项 Mininet-WiFi 在 Ubuntu 14.04 及以上的任何 Ubuntu 发行版中都应该能正常运行。但在某些情况下(仅限启动时遇到问题),你需要通过 `sudo systemctl stop network-manager` 或 `sudo service network-manager stop` 来停止 _Network Manager_。 ## 书籍 我们很高兴地宣布,关于 Mininet-WiFi 的书已经出版了! 这里是该书的链接: 印刷版和电子书版本:https://mininet-wifi.github.io/book/ - 提供英语和葡萄牙语版本 包含书中所有用例的 Github 仓库: https://github.com/ramonfontes/mn-wifi-book-pt ### 团队 Ramon dos Reis Fontes (ramon.fontes@imd.ufrn.br) Christian Rodolfo Esteve Rothenberg (chesteve@dca.fee.unicamp.br) 我们是巴西圣保罗州坎皮纳斯州立大学 (University of Campinas - Unicamp) [INTRIG (信息与网络技术研究与创新小组)](http://intrig.dca.fee.unicamp.br) 的成员。
标签:Mininet, OpenFlow, WiFi, 无线网络, 网络仿真器, 网络运维工具, 请求拦截, 软件定义网络, 逆向工具