弱網模擬tc/netem輔助工具pynetem

https://github.com/GuoTengda1993/pynetem
因為tc/netem只在linux系統(tǒng)中存在命咐,所以只能在Linux系統(tǒng)中安裝:

pip install pynetem

使用

有兩種模式:命令行模式舔稀、Web模式,兩種模式下每次傳入新規(guī)則都會將舊規(guī)則替換掉季春。

  • 命令行模式
    輸入pynetem -h可以查看幫助信息,參數和tc/netem基本一致,只使用上有些許區(qū)別腹暖,點擊此鏈接即可查看tc/netem的相關文檔:netem
    使用示例:
# 該命令將 eth0 網卡的傳輸設置為 100ms ,同時愿阐,大約有 30% 的包會延遲 ± 10ms 發(fā)送
pynetem -i eth0 --delay=100ms,10ms,30%

# 該命令將 eth0 網卡的傳輸設置為隨機丟掉 1% 的數據包微服,成功率為 30%
pynetem -i eth0 --loss=1%,30%

# 該命令將 eth0 網卡的傳輸設置為隨機產生 1% 的重復數據包
pynetem -i eth0 --duplicate=1%

# 該命令將 eth0 網卡的傳輸設置為隨機產生 0.2% 的損壞的數據包 。 (內核版本需在2.6.16以上)
pynetem -i eth0 --corrupt =0.2%

# 該命令將 eth0 網卡的傳輸設置為:有 25% 的數據包(50%相關)會被立即發(fā)送缨历,其他的延遲 10ms
pynetem -i eth0 --delay=10ms --reorder=25%,50%

# 該命令將 eth0 網卡的傳輸設置為 延遲100ms以蕴,同時限定網卡的出速率
pynetem -i eth0 --delay=100ms --rate=256kbit

# 該命令將 eth0 網卡的傳輸設置為 在符合CIDR條件下延遲100ms&限定網卡的出速率
pynetem -i eth0 --delay=100ms --rate=256kbit --dst=10.10.10.10/32
  • Web模式
    運行此模式可以對外提供接口,默認開啟8899端口辛孵,也可以指定其它端口丛肮。
pynetem --web --port=9000

共有5個API可以調用:

[GET] /pynetem/help                                     -- Get demo post data and simple description
[GET] /pynetem/listInterfaces                           -- Get interfaces name of host
[GET] /pynetem/getRules?eth=<interface name>            -- Get qdisc rules by interface
[GET/DELETE] /pynetem/clear?eth=<interface name>        -- Clear all rules
[POST] /pynetem/setRules?eth=<interface name>           -- Set tc qdisc rule

請求體中,如果設置參數為None""魄缚,則會忽略此參數宝与,請求體示例如下:

{
    "delay": "100ms 10ms 25%",
    "distribution": "normal",
    "reorder": "25% 50%",
    "loss": "0.3% 25%",
    "duplicate": "1%",
    "corrupt": "0.1%",
    "rate": "256kbit",
    "buffer": 1600,
    "limit": 3000,
    "dst": "10.10.10.0/24"
}

需要注意的是,當按下ctrl + c關停web服務時冶匹,會自動將所有網卡接口下的所有qdisc規(guī)則全部清空习劫。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市嚼隘,隨后出現的幾起案子诽里,更是在濱河造成了極大的恐慌,老刑警劉巖飞蛹,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谤狡,死亡現場離奇詭異,居然都是意外死亡卧檐,警方通過查閱死者的電腦和手機墓懂,發(fā)現死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來霉囚,“玉大人捕仔,你說我怎么就攤上這事。” “怎么了榜跌?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵闸天,是天一觀的道長。 經常有香客問我斜做,道長,這世上最難降的妖魔是什么湾揽? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任瓤逼,我火速辦了婚禮,結果婚禮上库物,老公的妹妹穿的比我還像新娘霸旗。我一直安慰自己,他們只是感情好戚揭,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布诱告。 她就那樣靜靜地躺著,像睡著了一般民晒。 火紅的嫁衣襯著肌膚如雪精居。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天潜必,我揣著相機與錄音靴姿,去河邊找鬼。 笑死磁滚,一個胖子當著我的面吹牛佛吓,可吹牛的內容都是我干的。 我是一名探鬼主播垂攘,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼维雇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了晒他?” 一聲冷哼從身側響起吱型,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仪芒,沒想到半個月后唁影,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡掂名,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年据沈,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饺蔑。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡锌介,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情孔祸,我是刑警寧澤隆敢,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站崔慧,受9級特大地震影響拂蝎,放射性物質發(fā)生泄漏。R本人自食惡果不足惜惶室,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一温自、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧皇钞,春花似錦悼泌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至可柿,卻和暖如春鸠踪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背复斥。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工慢哈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人永票。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓卵贱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親侣集。 傳聞我的和親對象是個殘疾皇子键俱,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359