歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Tcpreplay使用

Tcpreplay使用

日期:2017/2/28 14:36:58   编辑:Linux教程

TCPReplay主要功能是將PCAP包重新發送,用於性能或者功能測試。但是在測試環境與原轉包系統結構一般是不同的。比如被測試機的二層MAC地址與抓包機器的MAC不同,所以被測試機在二層處理時發現目的MAC不是自己,就會把packet丟棄。協議棧把目的MAC與本機的MAC匹配,才會將packet交給上層處理。為了實現測試,需要使用TCPReplay的兩個配套工具,TCPPrep和TCPRewrite。這兩個工具和TCPReplay的詳細用法可以通過MAN來查詢,這裡不再細講。此處通過一個經過測試的實例來介紹他們的用法。

測試拓撲圖如下圖所示

其中TCPReplay機器的配置為:
OS: Ubuntu9.04
內核版本:2.6.28
TCPReplay版本:3.3.2(不同版本命令可能稍有不同,具體請通過MAN查詢)
網卡:Intel e1000e 雙千兆
PCAP文件:test.tcpdump

測試第一步:預處理生成Cache,命令為
tcpprep -a client -i test.tcpdump -o test.cache

這條命令將PCAP文件分成客戶端和服務端,默認為客戶端。發送時packet將分別從客戶端和服務端發出。

測試第二步:重寫IP地址和MAC地址,命令為:
tcprewrite -e 192.85.1.2:192.85.2.2 --enet-dmac=00:15:17:2b:ca:14,00:15:17:2b:ca:15 --enet-smac=00:10:f3:19:79:86,00:10:f3:19:79:87 -c test.cache -i test.tcpdump -o 1.pcap

這條命令將eth0設為服務端接口,eth1設為客戶端接口,重寫了IP和MAC,可通過wireshark等工具打開1.pcap,查看修改是否成功。

測試第三步:重放packet,首先為了獲取更高的發送速度,可以把文件放到/dev/shm目錄下,最高速度有1倍左右的加速。重放命令為:
tcpreplay -i eth0 -I eth1 -l 1000 -t -c /dev/shm/test.cache /dev/shm/1.pcap

這條命令將文件以最高速率循環發送1000次。

上述步驟通過測試,保證能夠通過。

Tcpreplay 的詳細介紹:請點這裡
Tcpreplay 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved