您的位置:首页 > 其它

FaceBook/atc 环境搭建的总结

2016-03-05 17:15 661 查看
一直给自己找借口不去动手实践,今天难得抽了个时间,总算把环境给搭建完成了, 虽然可能目前还有点小问题,但是基本的测试时可以保证了,以后一些弱网环境的测试就可以靠你了。

介绍

首先还是得说下什么是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 。

这样子就做我们的弱网测试了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: