intrig-unicamp/mininet-wifi
GitHub: intrig-unicamp/mininet-wifi
Mininet-WiFi 是 Mininet 的分支项目,为软件定义无线网络提供支持 WiFi 节点和接入点的网络仿真环境。
Stars: 537 | Forks: 277

### 关于 Mininet-WiFi
Mininet-WiFi 是 Mininet (http://mininet.org/) 的一个分支,它支持同时使用 WiFi Station 和 Access Point。Mininet-WiFi 仅添加了 WiFi 功能,你可以像使用 Mininet 一样来使用它。
[](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 构建拓扑

我是一个初学者,我不懂 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, 无线网络, 网络仿真器, 网络运维工具, 请求拦截, 软件定义网络, 逆向工具