A. 产品测试中,如何模拟网络不佳的情况
1. 前言
下面将描述怎么用最快和最低成本搭建一个ATC服务来构造一个弱网络wifi,然后使用自研的PC工具“网络分析大师”来快捷地切换不同的弱网络场景,免去配置ATC弱网络参数的繁杂。
1.1 安装程序
包括:
1. Vmware Workstation虚拟机
2. Ubuntu 14.04操作系统虚拟机镜像vmdk
3. Ubuntu 14.04操作系统iso-64位
4.网络分析大师
1.2 网络环境
需要使用体验网或外网
1.3 硬件要求
一台PC,一块无线网卡(建议如下的带多天线的PCI网卡,亲测半层楼无遮挡可以满格信号)
2. Ubuntu安装
Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统 , 弱网络应用的ATC将搭载在其上,所以要现行安装。
2.1 虚拟机or双系统
虚拟机装起来略为方便,因为提供的虚拟机镜像已经装好了整个环境,只需要启动ATC就可以了。
但是虚拟机没有双系统稳定,还是建议做双系统,直接把Ubuntu装起来,然后再安装python 2.7+和Django 1.7+
2.2 虚拟机安装
安装Vmware Workstation,同时直接加载服务器上提供的Ubuntu操作系统虚拟机镜像vmdk即可
2.3 双系统安装
如果需要下载32位的Ubuntu安装镜像,可去官网:
Download Ubuntu Desktop
3. Ubuntu wifi 热点创建
最终我们的测试手机将连上Ubuntu的wifi热点来接入弱网络环境。
Ubuntu的环境下有多种创建热点的方式,自己也尝试过不同的方法,有的方法可以创建成功,但Android系统无法找到,有的根本就无法创建成功,最终选择了一个linux系统安装软件的方式来尝试,成功创建并启动。把这最简单的方法备份一下。
3.1 选择Ubuntu版本,更新软件源
这里选择的ubuntu版本为稳定的14.04版本,若选择最新的15.04版本,可能会存在无相应的软件源。当然,如果你能找到对应的软件源,也可以手动进行安装。
$sudo add-apt-repository ppa:nilarimogard/webupd8
$sudo apt-get update
$sudo apt-get install ap-hotspot
3.2 配置ap-hotspot
更新好软件源,然后安装完成ap-hotspot,进入配置界面,输入ssid和密码,即可:
$sudo ap-hotspot configure //配置界面,需要输入ssid和密码
Detecting configuration...
Detected eth0 as the network interface connected to the Internet. Press ENTER if this is correct or enter the desired interface below (e.g.- eth0, ppp0 etc.)://默认按Enter即可
Detected wlan0 as your WiFi interface. Press ENTER if this is correct or enter the desired interface (e.g.- wlan1)://默认按Enter即可
Enter the desired Access Point name or press ENTER to use the default one (myhotspot)://Wifi名字
Enter the desired WPA Passphrase below or press ENTER to use the default one (qwerty0987)://wifi 密码
3.3 启动wifi热点
执行完以上步骤之后,可以启动wifi
$sudo ap-hotspot start //启动wifi
Starting Wireless Hotspot...
Wireless Hotspot active
当出现以上内容即为启动成功,这个时候可以通过移动设备连接。
3.4 可能会碰到的问题3.4.1 一直处于Starting Wireless Hotspot…状态
ubuntu14.04上使用的版本为hostapd2.x版本,但hostapd2.x版本存在bug,这里的解决方案是需要将默认版本移除,使用hostapd1.0版本即可
$sudo apt-get remove hostapd
重新安装hostapd1.0版本,这里在网上提供的版本中,找不到对应的包,这里在父目录下找到了对应1.0的安装包,下载安装之:
$wget http://old-releases.ubuntu.com/ubuntu/pool/universe/w/wpa/hostapd_1.0-3ubuntu2.1_amd64.deb //如果是32位系统,此目录下可找到32位包
sudo dpkg -i hostapd*.deb //指定刚才下载的安装包
sudo apt-mark hold hostapd //禁止hostapd自动更新到新版本
安装完成之后,重启即可使用。
3.4.2 “Another process is already running”问题
这个问题是在已经有一个wifi热点在运行的时候,重新进入的时候尝试重新打开时,会报此错误,按照如下操作即可解决
sudo rm /tmp/hotspot.pid //删除已有的热点之后重新启动即可
4. ATC安装4.1 ATC简介
ATC是Facebook开源移动网络测试工具,可以用来模拟不同的网络环境,可控制的方面主要包括带宽、时延抖动、丢包率、错包率、包重排等衡量网络质量的重要指标。其主要的工作原理是利用了Linux流量控制系统,通过纯python的网络库pyroute2调用netlink的API控制的。刚才提到的几个重要的指标:
· bandwidth
· latency
· packet loss
· corrupted packets
· packet ordering
至此,通过ATC API即可完成对设备的查询、设置、删除。
5.网络分析大师
网络分析大师目前提供抓包、弱网络接入的功能。本文中只介绍弱网络接入步骤:
·启动ATC
·启动PC上启动网络分析大师,插上移动设备,点击“连接设备”
·移动设备连上ATC服务器的热点wifi
·通过下方的带宽限制、网络类型直接切换当前设备的弱网络环境
当然如果想快速模拟弱网络环境,腾讯有一款非常好用的产品,WeTest云真机--弱网络测试。云端有很多真机,在弱网络环境下,在网页上使用云端真机操作APP产品,进行测试。
这个平台上的机型很全。你可以测试各个机型在弱网络环境下的产品操作。感觉很方便
B. 安卓模拟器BlueStacks怎么非常卡还有网络被干扰。
安卓模拟器中的音视频软件是很占宽带的,我家50兆的宽带,开着模拟器听收音机,有时打开网页就会丢包。不开模拟器不会发生丢包的情况。
C. 如何在Windows环境下模拟丢包
做法有两步:
1. 本地Fiddler开启,手机连代理到本机Fiddler;
2. 本地运行clumsy.exe,设置Presets为“all sending packets”,勾选“Drop”并将“Chance”设置为90,这就意味着丢包率为90%,非常糟糕的网络。然后点击“Start”就可以开始模拟丢包了。
D. 求思路,C++怎么编程 实现模拟网络状况:数据包延时、抖动、丢包、乱序等
收包线程在等反馈线程解锁时,比如来了个记号m的包,等解开锁后,收包线程还是能收到m包的。这样只可能造成两个收包线程接收时间或顺序上有点时间差。应该不会因为这个原因把m包丢掉。两个接收线程,收到数据放入一个列表(或其它里面),第三个线程用来排序(你是根据什么排序的?发送前打了rtp头?还是自己加了序号?)。线程间可以使用共享数据,应该不会丢掉信息吧
E. 怎么用Java编程模拟一个网络,并监测其丢包率
楼主您好,编码如下,直接运行即可:importjava.util.Scanner;publicclassAtmGetMoney{publicstaticvoidmain(String[]args){Stringpassword="111111";intcount=0;inta=0;while(count<3){System.out.println("请输入银行卡密码:");Scannerscan=newScanner(System.in);Stringpasswd=scan.nextLine();while(passwd.equals(password)){System.out.println("请输入取款金额:");intamount=scan.nextInt();if(amount%100==0&&amount<=1000){System.out.println("您的取款金额为:"+amount);System.out.println("交易完成,请读卡!");a=a+1;break;}else{System.out.println("只能提取100元纸币,要求最低0,最高1000!");continue;}}if(a==1){break;}elseif(count<2){System.out.println("银行卡密码错误");count=count+1;continue;}else{System.out.println("密码错误请读卡");break;}}}}
F. Android手机如何测试ping值以及网络丢包率
1.拨号键上按:*#*#4636#*#* 出来的界面中有“进行ping测试”。
2.下载一个叫超级终端的软件,可以直接ping。
G. 怎样利用packet tracer模拟丢包现象
PC(服务器)和交换机之间,交换机和路由器之间都是用直通线。另外2621二手价大概550-6502950貌似停产了,如果是2960百兆口的二手是800-1000PC和Server这些价格就不一定了
H. 如何在linux上模拟网络丢包
Linux 中使用 tc 进行流量管理。具体命令的使用请参考 tc 的 man 手册。1.设置延时
# tc qdisc add dev eth0 root netem delay 30ms2. 丢包
设置丢包命令如下:
# tc qdisc add dev eth0 root netem loss 10%
如果你是通过 SSH 登陆设备进行配置丢包的话,配置完这条命令就会感觉到机器访问时有点一卡一卡的。这说明,设备已经开始丢包了,可以通过具体抓包查看。
其他诸如修改、查看、删除的命令,都可以参考上面延时的设置。关于Linux命令的介绍,看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html.