http://www.shnenglu.com/kenkao/archive/2016/12/15/214489.html
http://blog.csdn.net/sb___itfk/article/details/45250771
http://www.cnblogs.com/findyou/p/3491014.html
我們可以使用一臺window客戶機充當(dāng)代理服務(wù)器,并針對該設(shè)備設(shè)置一系列網(wǎng)絡(luò)限制,從而達到虛擬服務(wù)器弱網(wǎng)絡(luò)環(huán)境的目的。
1. 設(shè)置Fiddler
打開Fiddler, Tools-> Fiddler Options (配置完后記得要重啟Fiddler)
選中"Decrpt HTTPS traffic", Fiddler就可以截獲HTTPS請求
選中"Allow remote computers to connect". 是允許別的機器把HTTP/HTTPS請求發(fā)送到Fiddler上來


記住這個端口號是:8888
2. 設(shè)置Android手機
首先獲取PC的ip地址:命令行中輸入:ipconfig,獲取ip地址

好吧,這時候我就拿到了IP地址和端口號了
下面來對Android手機進行代理設(shè)置

3. 下載Fiddler的安全證書
使用Android手機的瀏覽器打開:http://10.20.100.159:8888, 點"FiddlerRoot certificate" 然后安裝證書
安裝完成后,就可以在fiddler上看到手機的HTTP請求
clumsy 0.2模擬網(wǎng)速
clumsy 能在 Windows 平臺下人工造成不穩(wěn)定的網(wǎng)絡(luò)狀況,方便你調(diào)試應(yīng)用程序在極端網(wǎng)絡(luò)狀況下的表現(xiàn)。
簡介
利用封裝 Winodws Filtering Platform 的WinDivert 庫, clumsy 能實時的將系統(tǒng)接收和發(fā)出的網(wǎng)絡(luò)數(shù)據(jù)包攔截下來,人工的造成延遲,掉包和篡改操作后再進行發(fā)送。無論你是要重現(xiàn)網(wǎng)絡(luò)異常造成的程序錯誤,還是評估你的應(yīng)用程序在不良網(wǎng)絡(luò)狀況下的表現(xiàn),clumsy 都能讓你在不需要額外添加代碼的情況下,在系統(tǒng)層次幫你達到想要的效果:
特色:
- 下載即用,不需要安裝任何東西。
- 不需要額外設(shè)置,不需要修改你的程序的代碼。
- 系統(tǒng)級別的網(wǎng)絡(luò)控制,可以適用于命令行,圖形界面等任何 Windows 應(yīng)用程序。
- 不僅僅只支持 HTTP,任何 TCP, UDP 的網(wǎng)絡(luò)連接都可以被處理。
- 支持本地調(diào)試(服務(wù)器和客戶端都在 localhost)
- "熱插拔",你的程序可以一直運行,而 clumsy 可以隨時開啟和關(guān)閉。
- 實時調(diào)節(jié)各種參數(shù),詳細控制網(wǎng)絡(luò)情況。
實例
下面的動畫展示了 clumsy 作用于一個本地的基于 netcat 的 UDP 服務(wù)器/客戶端的情況。仔細觀察你可以看到數(shù)據(jù)根據(jù)在 clumsy 的影響下產(chǎn)生了相應(yīng)的變化。 如果你基本知道了 clumsy 是干什么用的,不妨到下載頁面選擇適用于你系統(tǒng)的版本進行下載。
詳細信息
clumsy 首先根據(jù)用戶選擇的 filter 來攔截指定的網(wǎng)絡(luò)數(shù)據(jù)。在 filter 中可以設(shè)定你感興趣的協(xié)議(tcp/udp),端口號,是接收還是發(fā)出的端口。你也可以通過簡單的邏輯語句來進一步縮小范圍。當(dāng) clumsy 被激活時,只有符合這些標(biāo)準(zhǔn)的網(wǎng)絡(luò)數(shù)據(jù)會被進行處理,而你不感興趣的數(shù)據(jù)仍然會由系統(tǒng)正常傳輸。
當(dāng)被 filter 的網(wǎng)絡(luò)數(shù)據(jù)包被攔截后,你可以選擇 clumsy 提供的功能來有目的性的調(diào)整網(wǎng)絡(luò)情況:
- 延遲(Lag),把數(shù)據(jù)包緩存一段時間后再發(fā)出,這樣能夠模擬網(wǎng)絡(luò)延遲的狀況。
- 掉包(Drop),隨機丟棄一些數(shù)據(jù)。
- 節(jié)流(Throttle),把一小段時間內(nèi)的數(shù)據(jù)攔截下來后再在之后的同一時間一同發(fā)出去。
- 重發(fā)(Duplicate),隨機復(fù)制一些數(shù)據(jù)并與其本身一同發(fā)送。
- 亂序(Out of order),打亂數(shù)據(jù)包發(fā)送的順序。
- 篡改(Tamper),隨機修改小部分的包裹內(nèi)容。
盡管當(dāng)前寬帶網(wǎng)絡(luò)連接十分普及,但網(wǎng)絡(luò)傳輸其本身在本質(zhì)上總不是穩(wěn)定的。如果你的應(yīng)用程序中沒有應(yīng)對各種情況的處理,那么有可能一個丟失的 UDP 包裹都會讓你的程序崩潰。正確的調(diào)試這類行為 顯然需要再代碼結(jié)構(gòu)上進行仔細的設(shè)計和處理,還會很花功夫。而且在某些封裝緊密的開發(fā)環(huán)境(Unity3D 自帶的網(wǎng)絡(luò)庫可能是一個例子)下會更麻煩。clumsy 以盡可能減輕程序員負擔(dān)為目標(biāo), 希望提供一個簡單方便(但并不完美)的解決方案。
項目的代碼可以在github上獲取。在下載頁面有編譯好的版本。強烈建議在使用前花點時間閱讀一下文檔,來 了解 clumsy 的功能和限制。
filter需要勾選all sending packets
posted on 2017-02-04 13:38
思月行云 閱讀(2232)
評論(0) 編輯 收藏 引用 所屬分類:
服務(wù)器\Ops