Clumsy主要是利用封裝 Winodws Filtering Platform 的WinDivert 庫,從而實(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í)用!
Clumsy軟件特色
1、下載即用,不需要安裝任何東西。
2、不需要額外設(shè)置,不需要修改你的程序的代碼。
3、系統(tǒng)級(jí)別的網(wǎng)絡(luò)控制,可以適用于命令行,圖形界面等任何 Windows 應(yīng)用程序。
4、不僅僅只支持 HTTP,任何 TCP, UDP 的網(wǎng)絡(luò)連接都可以被處理。
5、支持本地調(diào)試(服務(wù)器和客戶端都在 localhost)
6、"熱插拔",你的程序可以一直運(yùn)行,而 clumsy 可以隨時(shí)開啟和關(guān)閉。
7、實(shí)時(shí)調(diào)節(jié)各種參數(shù),詳細(xì)控制網(wǎng)絡(luò)情況。
使用說明
1、根據(jù)你系統(tǒng)的版本(32位或64位)下載 clumsy 最新版本。軟件需要管理員權(quán)限才能正常工作。雙擊打開 clumsy 的話會(huì)彈出 UAC 對(duì)話框。如果沒有的話請(qǐng)右鍵點(diǎn)擊 clumsy.exe 選擇“以管理員身份運(yùn)行”。
2、當(dāng)你輸入了 filter 點(diǎn)擊 ‘開始’ 后,clumsy 就已經(jīng)開始截獲包裹。這個(gè)一定會(huì)有一定的效率損失。但好消息是 clumsy 本身就是為了模擬網(wǎng)絡(luò)狀況糟糕的軟件所以這個(gè)問題不是很嚴(yán)重。 另一方面,你應(yīng)該精確的設(shè)置 filter 的內(nèi)容,讓它盡可能準(zhǔn)確的捕捉你感興趣的數(shù)據(jù)包。
延遲比在 Lag 里設(shè)置的要嚴(yán)重很多。
這個(gè)問題的重點(diǎn)在于,clumsy 里面的設(shè)置并不是準(zhǔn)確的可以用來做測(cè)速的值。其作用更傾向于作為參數(shù)控制軟件的行為。 另一個(gè)需要理解的是,這里的延遲是作用于每一個(gè)網(wǎng)絡(luò)包裹的。比如建立一個(gè) TCP 連接需要至少 3 個(gè)包裹。那么如果 clumsy 引入了 20ms 的延遲,對(duì)于每一個(gè)TCP 連接則至少引入了 3*20=60ms 的延遲。如果是要載入一個(gè)網(wǎng)頁的話,有部分 HTTP 請(qǐng)求必須是要按順序完成后頁面才能開始渲染。假如要完成 1, 2, 3 這三個(gè)請(qǐng)求,那么 clumsy 在這里至少引入了 3*60=180ms 的延遲。 所以說如果 clumsy 讓網(wǎng)絡(luò)變的很慢的話也不用太擔(dān)心。