筆者最近因為需要在區域網內模擬乙個實際情況(即存在丟包、延遲等情況)。網上搜了很多任務具,大多基於linux。後來好不容易在網上搜尋到一款2023年出現的網路模擬工具----clumsy。
(參考了
clumsy是基於c語言開發的一款開源網路模擬工具。它能在windows平台下人工造成不穩定的網路狀態,應用它可以方便除錯應用程式在極端網路狀態下的表現。
clumsy 首先根據使用者選擇的filter來攔截指定的網路資料。在 filter中可以設定你感興趣的協議(tcp/udp),埠號,是接收還是發出的埠。你也可以通過簡單的邏輯語句來進一步縮小範圍。當 clumsy 被啟用時,只有符合這些標準的網路資料會被進行處理,而你不感興趣的資料仍然會由系統正常傳輸。當被 filter 的網路資料報被攔截後,你可以選擇 clumsy 提供的功能來有目的性的調整網路情況,下面是clumsy提供的功能介紹。
(1)延遲(lag):把資料報快取一段時間後再發出,這樣能夠模擬網路延遲的狀況;
(2)丟包(drop):隨機丟棄一些資料;
(3)截流(throttle):把一小段時間內的資料攔截下來後再在之後的同一時間一同發出去;
(4)重發(duplicate):隨機複製一些資料並與其本身一同傳送;
(5)亂序(out of order):打亂資料報傳送的順序;
(6)篡改(tamper):隨機修改小部分的包裹內容。
圖1是clumsy介面(此時丟包率為50%)。
圖1:clumsy 0.2 執行頁面
在區域網(正常情況下,零丟包)環境下,通過ping測試,不同丟包率下的實際丟包率。結果如下:
clumsy設定的丟包率
0%5%
10%20%
30%40%
50%60%
70%80%
90%ping實驗丟包率
0%(734次)
6%(677次)
11%(782次)
19%(506次)
31%(664次)
38%(725次)
51%(1120次)
58%(823次)
70%(544次)
84%(604次)
91%(455次)
因此從一定程度上證明了該工具的效果很好,延遲也有測試,效果明顯。
筆者用該工具測試了udp的傳輸、jgroups的組播通訊。有興趣研究可靠性的讀者可以參考該工具,目前該工具更新到0.2版本。
歡迎交流!
Clumsy 弱網路環境模擬工具使用介紹
clumsy弱網路環境模擬工具使用介紹 by 授客qq 1033553122 簡介利用封裝 winodws filtering platform 的windivert 庫,clumsy 能實時的將系統接收和發出的網路資料報攔截下來,人工的造成延遲,掉包和篡改操作後再進行傳送。無論你是要重現網路異常造...
思科模擬工具
router enable 檢視路由器的路由表 router show ip route 配置快速乙太網埠 router config inte ce fastethernet 0 0 router config if no shudown router config if ip address 1...
弱網路模擬測試工具 易測app
易測功能介紹 易測是一款基於無線客戶端研發場景的通用測試工具,它通過在研發人員的自持機上提供各種輔助能力 標準化的專項測試服務來提公升研發質量 效率。1.介面操作說明 2.實時資料 警告 易測能夠提供被測應用的實時效能資料及變化值檢視。它會自動監控應用的cpu,應用記憶體,應用流量並主動告警 鈴聲 ...