返回顶部
首页 > 资讯 > 后端开发 > Python >facebook atc弱网环境搭建和踩
  • 946
分享到

facebook atc弱网环境搭建和踩

环境facebookatc 2023-01-30 22:01:33 946人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

facebook atc介绍 Augmented Traffic Control(又名atc)是一种模拟网络状况的工具。由facebook开源,是一个允许开发人员控制设备与互联网连接的项目。atc可以模拟不同的网络条件,包括控制带宽,延迟

facebook atc介绍

Augmented Traffic Control(又名atc)是一种模拟网络状况的工具。由facebook开源,是一个允许开发人员控制设备与互联网连接的项目。atc可以模拟不同的网络条件,包括控制带宽,延迟,数据包丢失、数据包损坏、数据包重排序等几个因素都可以由atc来控制。atc运行在网关,可以控制连接到该网络的手机,设备的网络,atc有一个WEB界面,通过这个界面可以来切换不同的网络情况。atc内部使用了iptables和tc,因此只支持linux平台。

 

下面介绍facebook atc在 ubuntu 18.04(使用vmware 安装的虚拟机)系统下facebook atc 的安装和使用。

准备环境:

1、用vmware装个ubuntu
2、准备一个无线网卡,建议选择一个linux免驱的无线网卡,不然在开启热点的时候会提示失败。

 

ubuntu需要利用hostapd和dhcp开启ap热点,首先安装hostapd和dhcp

sudo apt-get install hostapd isc-dhcp-server

 

然后编辑/etc/hostapd/hostapd.conf文件,内容如下图:

 

  • ssid 为wifi名称
  • wpa_passphrase 为wifi密码

 

接着启动hostapd服务

sudo hostapd /etc/hostapd/hostapd.conf 

 

如果没报错并搜到热点证明启动ap热点成功,如果有报错可以用以下命令解决:

sudo nmcli radio wifi off
sudo rfkill unblock wlan

 

如果提示hostapd进程已存在,则需要先杀掉进程

sudo killall hostapd

 

配置dhcp

编辑文件/etc/dhcp/dhcpd.conf, 内容如下图:

 

  • subnet为子网范围,netmask为子网掩码
  • range为可分配的IP地址范围
  • option router 为配置的网关
  • option domain-name-servers 为配置的dns,我用的8.8.8.8,即谷歌的dns服务器

 

设置无线网卡接口地址

sudo ifconfig wlx00026fb9727b 192.168.179.1 netmask 255.255.255.0

 

启动dhcp-server服务

sudo dhcpd wlx00026fb9727b -pf /var/run/dhcp-server/dhcpd.pid

 

若有提示pid或leases文件错误,就按照提示就去创建文件并赋予权限

sudo touch /var/lib/dhcp/dhcpd.leases
chmod a+x /var/lib/dhcp/dhcpd.leases

 

若开启dhcp服务没有提示报错,则代表开启成功,此时wifi应该可以连上,但是还不可以上网。

 

设置IP转发

sudo bash -c "echo 1 >/proc/sys/net/ipv4/ip_forward"

 

设置NAT转发

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

 

因为设置步骤较多,可以写成2个脚本,ap-start.sh, ap-stop.sh。一切顺利的话,此时wifi应该可以连上了

 

配置facebook atc 

首先安装python2.7和pip,和Django

sudo apt-get install Python
sudo apt-get install python-pip
sudo apt-get install djanGo

 

安装atc的组件

pip install atc_thrift atcd django-atc-api django-atc-demo-ui django-atc-profile-storage

 

创建atc工程

django-admin startproject atcui
cd atcui

 

配置setting.py 的 INSTALLED_APPS

INSTALLED_APPS = (
...
# Django ATC API
'rest_framework',
'atc_api',
# Django ATC Demo UI
'bootstrap_themes',
'django_static_Jquery',
'atc_demo_ui',
# Django ATC Profile Storage
'atc_profile_storage',
)

 

配置atcui/urls.py

from django.views.generic.base import RedirectView
from django.conf.urls import include

urlpatterns = [
...
# Django ATC API
url(r'^api/v1/', include('atc_api.urls')),
# Django ATC Demo UI
url(r'^atc_demo_ui/', include('atc_demo_ui.urls')),
# Django ATC profile storage
url(r'^api/v1/profiles/', include('atc_profile_storage.urls')),
url(r'^$', RedirectView.as_view(url='/atc_demo_ui/', permanent=False)),
]

 

更新数据库

python manage.py migrate

 

启动atc

sudo atcd --atcd-wan ens33 --atcd-lan wlx00026fb9727b

 

不过启动atc的时候我遇到了https://GitHub.com/facebook/augmented-traffic-control/issues/302 这里所说的问题,加上里面说的参数就解决了

--atcd-dont-drop-packets

 

启动atc web

python manage.py runserver 0.0.0.0:8000

 

导入facebook默认的几个配置文件

utils/restore-profiles.sh localhost:8000

 

这时用手机连上wifi热点,访问 Http://192.168.179.1:8000

此时可以看到下图

 

使用方法为

turn on
select
update shaping

 

然后就大功告成了,可以试着切换不同的模拟网络试试效果。

 

 

 参考文章:

 https://www.cnblogs.com/coderzh/p/AugmentedTrafficControl.html

 https://blog.csdn.net/itfootball/article/details/46763731

--结束END--

本文标题: facebook atc弱网环境搭建和踩

本文链接: https://lsjlt.com/news/179490.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • facebook atc弱网环境搭建和踩
    facebook atc介绍 Augmented Traffic Control(又名atc)是一种模拟网络状况的工具。由facebook开源,是一个允许开发人员控制设备与互联网连接的项目。atc可以模拟不同的网络条件,包括控制带宽,延迟...
    99+
    2023-01-30
    环境 facebook atc
  • Docker快速搭建PHP+Nginx+Mysql环境及踩坑
    目录准备创建目录配置PHP拉取php-fpm镜像启动php-fpm配置Nginx拉取Nginx镜像配置nginx.conf启动Nginx配置MySQL拉取MySQL镜像启动MySQL...
    99+
    2022-11-13
    Docker搭建PHP Nginx Mysq Docker PHP Nginx Mysq
  • vps如何搭建网站环境
    vps搭建网站环境的方法:可以借助Web服务器软件,一键搭建网站环境,Web服务器软件有:USBWebserver是一款免费的电脑网站架设工具,可以快速搭建PHPVersion、Apache、PhpMyAdmin、MySQL等网站运行必备的...
    99+
    2024-04-02
  • PHP搭建Workerman + MQTT 搭建物联网传输环境
    PHP搭建Workerman + MQTT 搭建物联网传输环境 最近一个项目需要用到MQTT作为物联网传输协议, 为防止以后再用到的时候方便配置,特此记录, 有不对的地方请指正并一起学习 M...
    99+
    2023-10-04
    php 物联网 服务器 网络协议 linux
  • Python 开发环境搭建(01):vmware workstation 网络搭建
    为了在linux环境下开发环境,可以连到其它服务器进行巡检,同时也可以本地shell连接,敲击命令,特别突击研究了一下虚拟机的网络配置,具体步骤如下一、虚拟机设置为了使本地shell可以连接虚机,配置了NAT,具体步骤如下:打开虚拟网络编辑...
    99+
    2023-06-02
  • android开发环境和正式环境怎么搭建
    要搭建Android开发环境和正式环境,你需要遵循以下步骤:1. 安装Java开发工具包(JDK):Android开发需要使用Java编程语言,所以需要先安装Java开发工具包。你可以从Oracle官网下载最新版本的JDK并按照安装指南...
    99+
    2023-08-11
    android
  • 如何搭建网站运行环境
    搭建网站运行环境的案例:在Linux操作系统打开终端管理页面(快捷键ctrl+alt+T)一、jdk安装与配置:获取jdk命令:wget http://download.oracle.com/otn-pub/java/jdk/8u...
    99+
    2024-04-02
  • 本地环境如何搭建网站
    在本地环境使用phpstuay搭建网站下载安装好phpstuay软件,进入phpstuay操作界面;在phpstuay操作界面中,点击“其他选项菜单”,选择“站点域名管理”;在站点域名设置页面中,填写网站域名和端口号,并选择网站根目录路径,...
    99+
    2024-04-02
  • 搭建网站如何配置环境
    在Windows系统中配置网站搭建环境在Windows操作界面中,进入“控制板面”,选择打开“默认程序”应用;进入默认程序页面后,点击“程序和功能”,选择“打开或关闭Windows功能”;在弹出的“Windows功能”窗口中,勾选“iis管...
    99+
    2024-04-02
  • python内网环境安装第三方包【内网搭建开发环境】
    文章目录 一、问题 二、解决方法 三、代码实现 一、问题 内网安装第三方包的应用场景,一般是一些需要在没网的环境下进行开发的情况。这些环境一般仅支持本地局域网访问,所以只能在不...
    99+
    2023-09-06
    python windows linux
  • Laravel 环境搭建以及网站部署
             尽管干开发5年+,但奈何linux命令不常用所以写播客会luoluosuosuo,见谅见谅哈! sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具 --摘...
    99+
    2023-09-14
    laravel ubuntu nginx mysql php
  • 搭建 Python 环境配置系统网络
    1. 选择云服务器 在搭建 Python 环境之前,首先需要选择一台云服务器。常见的云服务器提供商有阿里云、腾讯云、华为云等。选择云服务器时需要考虑服务器的配置、价格、地理位置等因素。 2. 安装 Python 在选择好云服务器后,需要安...
    99+
    2023-10-26
    环境 系统 网络
  • Hadoop安装和环境搭建方法
    这篇文章主要介绍“Hadoop安装和环境搭建方法”,在日常操作中,相信很多人在Hadoop安装和环境搭建方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hadoop安装和环境搭建方法”的疑惑有所帮助!接下来...
    99+
    2023-06-20
  • 升级python版本和搭建环境
    ModuleNotFoundError: No module named '_contextvars' 由于上面这个错误我需要把我的Python版本从python3.7.2升级到3.7.3。官网下载最新的python安装文件之后,双击选择...
    99+
    2023-01-31
    版本 环境 python
  • 企业搭建网站使用什么环境
    企业搭建网站最终都要运行在一定的硬件、软件环境下,其关键是服务器的支撑。按照不同的硬件配置来分,服务器可以分为企业级、部门级、工作组级等不同的档次;按照不同的操作系统来划分,服务器又可以分为UNIX,Windows,Linux等不同的配置。...
    99+
    2024-04-02
  • docker一键搭建网站环境nginx+php+mysql
    docker 类似虚拟机,但不是虚拟机。 首先在你的服务器上安装docker,以我的服务器ubuntu server系统为例安装docker sudo apt-get install docker.i...
    99+
    2023-09-03
    docker nginx php
  • 内网环境下registry搭建步骤详解
    目录背景docker环境配置http可访问重新加载docker启动registry启动registry-web 背景 在实际的开发运维过程中,经常需要使用镜像仓库的情况,虽然阿里云、...
    99+
    2022-11-13
    内网环境registry搭建 registry 搭建
  • Redis环境搭建和使用的方法
    这篇文章主要介绍“Redis环境搭建和使用的方法”,在日常操作中,相信很多人在Redis环境搭建和使用的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis环境搭建和...
    99+
    2024-04-02
  • React-Native 环境搭建和基本介绍
    环境搭建准备 1.环境搭建 React Native中文网 2.开发工具 前端开发软件:Visual Studio Code 移动端开发软件:Xcode、Android Studio...
    99+
    2024-04-02
  • Windows下Apache和php环境怎么搭建
    这篇文章主要讲解了“Windows下Apache和php环境怎么搭建”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Windows下Apache和php环境怎...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作