FaceBook/atc 环境搭建的总结
2016-03-05 17:15
661 查看
一直给自己找借口不去动手实践,今天难得抽了个时间,总算把环境给搭建完成了, 虽然可能目前还有点小问题,但是基本的测试时可以保证了,以后一些弱网环境的测试就可以靠你了。
现在已经是APP时代了,由于手机网络的特殊性,移动APP需要面临更加复杂的网络环境。在设计之初就要考虑如何应对各种网络环境,比如很高的延迟,经常丢包,频繁的断线。特别是手游,断线重连机制设计的好坏直接影响到游戏的体验。所以,在开发过程中模拟各种网络环境进行测试变得越来越重要
所以ATC实际上就是用于模拟网络环境的,那它与其他软件的区别在哪里呢?
在手机上通过Web界面就可以随时切换不同的网络环境。
多个手机可以连接到同一个WIFI下,相互之间模拟的网络环境各不影响。
这里贴一张 ATC的原理图:
ATC工具的搭建需要分为两个部分:wifi热点以及Atc环境搭建
首先我们先让无线USB接入到虚拟机中。
在终端查看是否已经读到了我们的无线网卡
这里面的 ID f201:5370 就是我们的无线网卡了。
下来我们就需要创建一个wifi了,那创建wifi的话 也是需要有3个步骤的,
DHCP服务器:用来设备连接上来后分配IP地址用的
hostapd :用于wifi的认证
数据转发 : 将终端设备发送过来的数据包转发到另一个能够连接到外网的网卡上
安装 hostapd以及dhcpd
安装完后我们可以验证是否安装成功
配置SSID以及认证的信息
这里看了很多地方的配置都是 10信道,正常我们的wifi应该是在1,6,11信道上才是正常无干扰的才对的。
配置dhcp地址信息
这里的dns的地址直接通过
启动 hostapd
如果上面的启动出现失败的话可以加一条
来解锁该无线设备
设置无线网卡
启动dhcp-server
开启IP转发
设置NAT
以上就完成了wifi热点的创建了。这个只是第一步而已。下来我们需要搭建ATC的环境了。
通过pip安装ATC
创建一个django的项目,并配置的相应内容。这里的步骤就不说了
启动ATC
启动atc profile配置界面
下来我们就可以通过手机访问对应的页面了。
不太清楚 为什么这个ui比别人的难看多了,不过功能倒是都是正常的,另外我们会发现默认没有任何的配置模板。所以我们可以导入facebook的2g 3g的网络模板
要在服务运行的情况下,且不要使用sudo 。
这样子就做我们的弱网测试了。
介绍
首先还是得说下什么是ATC,它的作用是什么呢?现在已经是APP时代了,由于手机网络的特殊性,移动APP需要面临更加复杂的网络环境。在设计之初就要考虑如何应对各种网络环境,比如很高的延迟,经常丢包,频繁的断线。特别是手游,断线重连机制设计的好坏直接影响到游戏的体验。所以,在开发过程中模拟各种网络环境进行测试变得越来越重要
所以ATC实际上就是用于模拟网络环境的,那它与其他软件的区别在哪里呢?
在手机上通过Web界面就可以随时切换不同的网络环境。
多个手机可以连接到同一个WIFI下,相互之间模拟的网络环境各不影响。
这里贴一张 ATC的原理图:
ATC工具的搭建需要分为两个部分:wifi热点以及Atc环境搭建
wifi 热点的搭建
这里用的是 水星(Mercury)MW150U 150M无线USB网卡首先我们先让无线USB接入到虚拟机中。
在终端查看是否已经读到了我们的无线网卡
这里面的 ID f201:5370 就是我们的无线网卡了。
下来我们就需要创建一个wifi了,那创建wifi的话 也是需要有3个步骤的,
DHCP服务器:用来设备连接上来后分配IP地址用的
hostapd :用于wifi的认证
数据转发 : 将终端设备发送过来的数据包转发到另一个能够连接到外网的网卡上
安装 hostapd以及dhcpd
sudo apt-get install hostapd isc-dhcp-server
安装完后我们可以验证是否安装成功
配置SSID以及认证的信息
这里看了很多地方的配置都是 10信道,正常我们的wifi应该是在1,6,11信道上才是正常无干扰的才对的。
配置dhcp地址信息
这里的dns的地址直接通过
nmcli dev list iface eth0 | grep IP4进行查看
启动 hostapd
sudo hostapd -B /etc/hostapd/hostapd.conf
如果上面的启动出现失败的话可以加一条
sudo rfkill unblock wlan
来解锁该无线设备
设置无线网卡
sudo ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
启动dhcp-server
sudo dhcpd wlan0 -pf /var/run/dhcp-server/dhcpd.pid
开启IP转发
sudo bash -c "echo 1 >/proc/sys/net/ipv4/ip_forward"
设置NAT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
以上就完成了wifi热点的创建了。这个只是第一步而已。下来我们需要搭建ATC的环境了。
ATC环境搭建
最好的参考文档就是官方的github了。通过pip安装ATC
pip install atc_thrift atcd django-atc-api django-atc-demo-ui django-atc-profile-storage
创建一个django的项目,并配置的相应内容。这里的步骤就不说了
启动ATC
sudo atcd --atcd-wan eth0 --atcd-lan wlan0
启动atc profile配置界面
python manage.py runserver 0.0.0.0:8000
下来我们就可以通过手机访问对应的页面了。
不太清楚 为什么这个ui比别人的难看多了,不过功能倒是都是正常的,另外我们会发现默认没有任何的配置模板。所以我们可以导入facebook的2g 3g的网络模板
使用样例模板
utils/restore-profiles.sh localhost:8080
要在服务运行的情况下,且不要使用sudo 。
这样子就做我们的弱网测试了。
相关文章推荐
- 总线设备驱动模型---platform篇
- 20145120 《Java程序设计》第1周学习总结
- 调试路由方法
- uva 2453 凸包
- leetcode:121. Best Time to Buy and Sell Stock(Java)解答
- Kotlin学习系列(一)
- 输出当前视图程序集所在的路径
- SQL编程
- 字段和属性(C#)
- 九度题目1433
- Java中如何使用排序详解
- 防止表单重复提交的几种策略
- linux下Eclipse安装启动后报错
- caffe训练灰度图像的时候识别率很高,但是在使用matlab接口重新测试的时候识别率却很低?
- GDB对STL容器的查看
- ajax上传图片的本质
- OSX下编译安装opencv3.1.0与opencv_contrib_master
- IDEA SSH
- Buffalo最佳实践
- 算法导论之堆排序