2010-10-10 56 views

回答

4

考慮WANEM

WANem從而使應用程序 開發團隊設置,其中 可以用來模擬WAN 特徵,如網絡延遲, 數據包丟失,包腐敗 透明的應用網關, 斷開連接,數據包重新排序, 抖動等。

2

您可以嘗試scapy。這是一個操縱數據包的Python庫。你可以捕獲一個pcap會話,使用tcpdump,wireshark,無論如何,然後以scapy以任意順序重放捕獲的數據包。

a=rdpcap("/spare/captures/isakmp.cap") 
for pkt in a.reverse(): 
    sendp(pkt) 

取決於你如何catpured數據包,您可能需要發送(第3層),而不是sendp(2層)

3

您可以使用「netem」功能內置到Linux內核中。它與大多數現代發行版一起發貨。 netem是一個流量控制學科模塊,故意延遲,丟棄和重新排序數據包,並且具有高度可配置性。

這隻適用於發送數據包(因爲隊列只是出站),所以你可能希望在兩臺測試機器之間放置一個netem的路由器主機,並在兩個接口上運行netem(如果你喜歡,可以使用不同的參數) 。

實現此目的的最簡單方法是在VM中運行netem以在兩個VM網絡之間路由。我發現這很方便。