烏班圖網路找不到eth0
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產品,進行測試。
這個平台上的機型很全。你可以測試各個機型在弱網路環境下的產品操作。感覺很方便