【tcpcopy】離線回放功能


最近因調試問題,需要一直進行tcpcopy,拿有問題的包進行測試。決定使用tcpcopy對錄制腳本進行回放,以下為我操作的具體步驟。主要是三塊

1 下載安裝具有離線回放功能的tcpcopy

2 使用tcpdump進行腳本錄制

3 回放離線文件

一 tcpcopy下載安裝

原微博里說0.98版本以上即可支持離線回放功能。保險起見,我下載了最新的即1.0.0版本的tcpcopy和intercept來測試離線回放。

tcpcopy的git路徑:https://github.com/wangbin579/tcpcopy

intercept的git路徑:https://github.com/wangbin579/intercept

分別上傳到對應的服務器和客戶端,進行安裝

tcpcopy安裝步驟:

1 上傳至路徑/opt/soft,並解壓 tar -xzvf tcpcopy-1.0.0.tar.gz
2 cd /opt/soft/tcpcopy-1.0.0/進入路徑,執行./configure --offline(若不能執行成功,則使用./configure --offline進行查看)
3 make
4 make install

intercept安裝步驟:

1 上傳至路徑/opt/soft,並解壓 tar -xzvf intercept-1.0.0.tar.gz
2 cd /opt/soft/intercept-1.0.0/進入路徑,執行./configure --offline(若不能執行成功,則使用./configure --offline進行查看)
3 make
4 make install

問題1 :“can't find pcap.h”(網卡流量監控軟件),需要安裝libpcap-devel。

1 yum list libpcap-devel*查到到對應的lib包名稱
2 yum install libpcap-devel.x86_64

二 使用tcpdump錄制pcap離線文件

tcpdump -i eth0 -w online.pcap tcp and port 80 

-i eth0:eth0為網卡,獲取方式可在liunx系統下執行ifconfig查看所有的網卡,選取需要的那個。
-w online.pcap:為獲取pcap文件進行回放,可設置路徑,e.g. -w /home/user/test.pcap
tcp and port 80:截獲端口為80的tcp請求,也可添加udp請求,和更改服務端口80,e.g. tcp and port 16001
-s 0:默認的話,tcpdump只顯示部分數據包,-s snaplen是控制包長度的,默認是68字節,-s 0 則為全部字節,在使用過程中,如果添加-s則回放時會出現錯誤。可不使用該參數

三 回放

1 whereis tcpcopy,可在/usr/local/tcpcopy/sbin下發現tcpcopy命令
2 ./tcpcopy -x 16001-服務器ip:16001  -s 服務器ip -i /home/user/test.pcap
3 服務端抓包測試:tcpdump -n port 16001


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM