FaceBook/atc 环境搭建的总结

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

介绍


首先还是得说下什么是ATC,它的作用是什么呢?

现在已经是APP时代了,由于手机网络的特殊性,移动APP需要面临更加复杂的网络环境。在设计之初就要考虑如何应对各种网络环境,比如很高的延迟,经常丢包,频繁的断线。特别是手游,断线重连机制设计的好坏直接影响到游戏的体验。所以,在开发过程中模拟各种网络环境进行测试变得越来越重要

所以ATC实际上就是用于模拟网络环境的,那它与其他软件的区别在哪里呢?

  • 在手机上通过Web界面就可以随时切换不同的网络环境。
  • 多个手机可以连接到同一个WIFI下,相互之间模拟的网络环境各不影响。

这里贴一张 ATC的原理图:

ATC工具的搭建需要分为两个部分:wifi热点以及Atc环境搭建

wifi 热点的搭建

这里用的是 水星(Mercury)MW150U 150M无线USB网卡

  1. 首先我们先让无线USB接入到虚拟机中。
    这里写图片描述

  2. 在终端查看是否已经读到了我们的无线网卡
    这里写图片描述
    这里面的 ID f201:5370 就是我们的无线网卡了。

  3. 下来我们就需要创建一个wifi了,那创建wifi的话 也是需要有3个步骤的,

    • DHCP服务器:用来设备连接上来后分配IP地址用的
    • hostapd :用于wifi的认证
    • 数据转发 : 将终端设备发送过来的数据包转发到另一个能够连接到外网的网卡上
  4. 安装 hostapd以及dhcpd
    sudo apt-get install hostapd isc-dhcp-server

    安装完后我们可以验证是否安装成功
    这里写图片描述

    这里写图片描述

  5. 配置SSID以及认证的信息
    这里写图片描述

    这里看了很多地方的配置都是 10信道,正常我们的wifi应该是在1,6,11信道上才是正常无干扰的才对的。

  6. 配置dhcp地址信息
    这里写图片描述
    这里的dns的地址直接通过 nmcli dev list iface eth0 | grep IP4 进行查看

  7. 启动 hostapd

    sudo hostapd -B /etc/hostapd/hostapd.conf

    如果上面的启动出现失败的话可以加一条

    sudo rfkill unblock wlan

    来解锁该无线设备

  8. 设置无线网卡

    sudo ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
  9. 启动dhcp-server

    sudo dhcpd wlan0 -pf /var/run/dhcp-server/dhcpd.pid
  10. 开启IP转发

    sudo bash -c "echo 1 >/proc/sys/net/ipv4/ip_forward"
  11. 设置NAT

    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

以上就完成了wifi热点的创建了。这个只是第一步而已。下来我们需要搭建ATC的环境了。

ATC环境搭建

最好的参考文档就是官方的github了。

  1. 通过pip安装ATC

    pip install atc_thrift atcd django-atc-api django-atc-demo-ui django-atc-profile-storage
  2. 创建一个django的项目,并配置的相应内容。这里的步骤就不说了

  3. 启动ATC

    sudo atcd --atcd-wan eth0 --atcd-lan wlan0
  4. 启动atc profile配置界面

    python manage.py runserver 0.0.0.0:8000

    下来我们就可以通过手机访问对应的页面了。

这里写图片描述

不太清楚 为什么这个ui比别人的难看多了,不过功能倒是都是正常的,另外我们会发现默认没有任何的配置模板。所以我们可以导入facebook的2g 3g的网络模板

使用样例模板

utils/restore-profiles.sh localhost:8080

要在服务运行的情况下,且不要使用sudo 。

这样子就做我们的弱网测试了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值