1宜鸯、工具介紹:
下載地址:http://jagt.github.io/clumsy/cn/download
界面展示
2昂勉、使用說(shuō)明
例如? IP地址 :ip.DstAddr == 129.196.0.0 or ip.SrcAddr == 129.196.0.0? 表示過(guò)濾從這個(gè)IP的是發(fā)來(lái)的包和發(fā)向這個(gè)IP地址的包
基本操作:
1.設(shè)置過(guò)濾器
2.功能設(shè)置(可選)
3.點(diǎn)擊Start
4.其它測(cè)試操作
5.點(diǎn)擊Stop
3浪讳、Filter 語(yǔ)法:
官方說(shuō)明:詳細(xì)地址
ip.DstAddr:destination 的縮寫 是IP目的地址
ip.SrcAddr:source 的縮寫 是IP源地址
outbound:從當(dāng)前計(jì)算機(jī)發(fā)送出去的數(shù)據(jù)包矮嫉。
inbound:?當(dāng)前計(jì)算機(jī)接收到的數(shù)據(jù)包。其來(lái)源可能是網(wǎng)絡(luò)上的其他機(jī)器匕积,也可能就是本機(jī)匆绣。
ifldx:網(wǎng)絡(luò)設(shè)備index
subIfIdx:副網(wǎng)絡(luò)設(shè)備index
ip:是否為IPv4
ipv6:是否為Ipv6
icmp:是否為ICMP
tcp:是否為TCP
udp:是否為UDP
ip.*: IPv4的參數(shù)(見(jiàn)DIVERT_IPHDR
ipv6.*:IPv6的參數(shù)(見(jiàn)DIVERT_IPV6DHR
icmp.*:ICMP的參數(shù)(見(jiàn)DIVERT_ICMPHDR
icmpv6.*:ICMPV6的參數(shù)(見(jiàn)DIVERT_ICMPV6HDR
tcp.*:TCP的參數(shù)(見(jiàn)DIVERT_TCPHDR
tcp.PayloadLength:TCP數(shù)據(jù)長(zhǎng)度
udp.*:UDP的參數(shù)(見(jiàn)DIVERT_UDPHDR
可以用“< ==”,“> ==”,“and”,? “or”起惕,? “=”進(jìn)行過(guò)濾器設(shè)置
預(yù)設(shè)過(guò)濾器
可以將常用個(gè)過(guò)濾器寫到clumsy.exe所在文件夾下的config.txt中涡贱。
4、functions
Lag:設(shè)置延遲; 把數(shù)據(jù)包緩存一段時(shí)間后再發(fā)出惹想,這樣可以模擬網(wǎng)絡(luò)延遲的狀況
-Inbound/Outbound: 是否處理輸入/輸出數(shù)據(jù)包问词。這里在 filter 的控制之外額外提供一個(gè)選擇的機(jī)會(huì),并且也可以在實(shí)時(shí)生效嘀粱。? ?
-Delay:延遲多少毫秒
Drop: 設(shè)置掉包激挪;隨機(jī)丟棄一些數(shù)據(jù)
-Chance設(shè)置該功能發(fā)生的概率;
Throttle:設(shè)置節(jié)流锋叨; 把一小段時(shí)間內(nèi)的數(shù)據(jù)攔截下來(lái)垄分,并再在之后的統(tǒng)一時(shí)間一起發(fā)出去
Duplicate:重發(fā) ;隨機(jī)復(fù)制一些數(shù)據(jù)并與其本身一同發(fā)送
Out of order:亂序打亂數(shù)據(jù)包發(fā)送的順序
Tamper:篡改娃磺;隨機(jī)修改小部分的數(shù)據(jù)包內(nèi)容
Tips:
延遲比在 Lag 里設(shè)置的要嚴(yán)重很多薄湿。
這個(gè)問(wèn)題的重點(diǎn)在于,clumsy 里面的設(shè)置并不是準(zhǔn)確的可以用來(lái)做測(cè)速的值偷卧。其作用更傾向于作為參數(shù)控制軟件的行為豺瘤。 另一個(gè)需要理解的是,這里的延遲是作用于每一個(gè)網(wǎng)絡(luò)包裹的听诸。比如建立一個(gè) TCP 連接需要至少 3 個(gè)包裹炉奴。那么如果 clumsy 引入了 20ms 的延遲,對(duì)于每一個(gè) TCP 連接則至少引入了 3*20=60ms 的延遲蛇更。如果是要載入一個(gè)網(wǎng)頁(yè)的話瞻赶,有部分 HTTP 請(qǐng)求必須是要按順序完成后頁(yè)面才能開(kāi)始渲染。假如要完成 1, 2, 3 這三個(gè)請(qǐng)求派任,那么 clumsy 在這里至少引入了 3*60=180ms 的延遲砸逊。
類似軟件
以下是有類似功能的軟件,如果 clumsy 不能滿足你的需求你可以試試這些掌逛。
Network Emulator for Windows Toolkit(Windows) - 微軟提供的網(wǎng)絡(luò)模擬工具师逸。
ipfw or pfctl(FreeBSD/OSX) - BSD 下的網(wǎng)絡(luò)模擬工具。
wipfw(Windows) - ipfw Windows 移植豆混,但功能只有 ipfw 的一個(gè)子集篓像。
netem(Linux) - Linux Kernel 提供的網(wǎng)絡(luò)模擬。
tc(Linux) - 配置 Linux Kernel 的網(wǎng)絡(luò)流量控制皿伺。
Throttle(Mac) - 通過(guò)分享無(wú)線網(wǎng)絡(luò)來(lái)模擬 3G 網(wǎng)絡(luò)员辩。
Network Link Conditioner(Mac) - XCode 自帶的網(wǎng)絡(luò)模擬工具。