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.