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
我們可以使用一臺(tái)window客戶機(jī)充當(dāng)代理服務(wù)器,并針對(duì)該設(shè)備設(shè)置一系列網(wǎng)絡(luò)限制,從而達(dá)到虛擬服務(wù)器弱網(wǎng)絡(luò)環(huán)境的目的。
1. 設(shè)置Fiddler
打開Fiddler, Tools-> Fiddler Options (配置完后記得要重啟Fiddler)
選中"Decrpt HTTPS traffic", Fiddler就可以截獲HTTPS請(qǐng)求
選中"Allow remote computers to connect". 是允許別的機(jī)器把HTTP/HTTPS請(qǐng)求發(fā)送到Fiddler上來


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

好吧,這時(shí)候我就拿到了IP地址和端口號(hào)了
下面來對(duì)Android手機(jī)進(jìn)行代理設(shè)置

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