我們的專案,可能會涉及到各種網路環境,比如通過家庭寬頻接入、通過手機接入,這些環境相對於我們測試時候使用的網路環境要複雜的多,如何模擬現網可能出現的各種網路情況,使得我們的程式,在各種環境下都能夠正常的執行,是我們需要解決的難題。
1具體操作
模擬延遲傳輸
# tc qdisc add dev eth0 root netem delay 100ms
該命令將 eth0 網絡卡的傳輸設定為延遲100毫秒傳送。
更真實的情況下,延遲值不會這麼精確,會有一定的波動,我們可以用下面的情況來模擬出帶有波動性的延遲值:
# tc qdisc add dev eth0 root netem delay 100ms 10ms
該命令將 eth0 網絡卡的傳輸設定為延遲 100ms ± 10ms (90 ~ 110 ms 之間的任意值)傳送。
還可以更進一步加強這種波動的隨機性:
# tc qdisc add dev eth0 root netem delay 100ms 10ms 30%
該命令將 eth0 網絡卡的傳輸設定為 100ms ,同時,大約有30%的包會延遲 ±10ms 傳送。
實驗驗證:設定後通過ping命令進行驗證。
2模擬網路丟包:
# tc qdisc add dev eth0 root netem loss 1%
該命令將 eth0 網絡卡的傳輸設定為隨機丟掉 1% 的資料報。
也可以設定丟包的成功率:
# tc qdisc add dev eth0 root netem loss 1% 30%
該命令將 eth0 網絡卡的傳輸設定為隨機丟掉 1% 的資料報,成功率為30% 。
實驗驗證:設定後通過抓包工具進行分析丟包率。
3模擬包重複:
# tc qdisc add dev eth0 root netem duplicate 1%
該命令將 eth0 網絡卡的傳輸設定為隨機產生 1% 的重複資料報。
4模擬資料報損壞:
# tc qdisc add dev eth0 root netem corrupt 0.2%
該命令將 eth0 網絡卡的傳輸設定為隨機產生 0.2% 的損壞的資料報。 (核心版本需在2.6.16以上)
5模擬資料報亂序:
# tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%
該命令將 eth0 網絡卡的傳輸設定為:有25%的資料報(50%相關)會被立即傳送,其他的延遲10秒。
6新版本中,如下命令也會在一定程度上打亂發包的次序:
# tc qdisc add dev eth0 root netem delay 100ms 10ms
IELAB網路實驗室 理解IGRP協議
igrp interior gateway routing protocol 是一種內部閘道器路由協議,它由cisco公司八十年代中期設計。使用組合使用者配置尺度,包括延遲 頻寬 可靠性和負載。預設情況下,igrp每90秒傳送一次路由更新廣播,在3個更新週期內 即270秒 沒有從路由中的第乙個路由器...
IE LAB網路實驗室 LACP技術詳解
鏈路聚合 link aggregation 技術簡言之就是將多條物理鏈路聚合成一條頻寬更高的邏輯鏈路,該邏輯鏈路的頻寬等於被聚合在一起的多條物理鏈路的頻寬之和。聚合在一起的物理鏈路的條數可以根據業務的頻寬需求來配置。因此鏈路聚合具有成本低,配置靈活的優點,此外,鏈路聚合還具有鏈路冗餘備份的功能,聚合...
BTS滲透測試實驗室 安裝與實戰
一 簡介 bts滲透測試實驗室是乙個開放原始碼的脆弱的web應用程式,建立的網路安全和隱私的基礎 www.cysecurity.org 它可以用來了解許多不同型別的web應用程式漏洞。目前,該應用程式包含以下型別的漏洞 sql注入 xss 包括flash xss csrf 點選劫持 ssrf 檔案包...