tcpreplay是什么呢?man手冊說明:
https://tcpreplay.appneta.com/
https://github.com/appneta/tcpreplay
Replay network traffic stored in pcap files
tcpreplay is a tool for replaying network traffic from files saved with tcpdump or other tools which write pcap files.
換句話說就是,回放pcap文件中網絡流量的工具。
選項:
-A "<args>" 在使用 [tcpdump](http://man.linuxde.net/tcpdump "tcpdump命令") 風格打印輸出信息時,同時再調用tcpdump中的參數, 默認已經帶有“-n,-l”,所以一般看到的都是[ip](http://man.linuxde.net/ip "ip命令")地址,而沒有主機名的打印,注意這個是在tcpreplay使用了-v參數時才能使用,不帶-v不會報錯,但是沒有實際意義。格式:-vA “nnt”表示以tcpdump風格輸出報文信息,并且不打印時間戳、主機名、端口服務名稱。注意不要使用-c參數來指定打印的數據報文的個數,這樣發(fā)送出去的報文也會變少。
-c <cachefile> 雙網卡回放報文必選參數,后面緊跟cache文件名,該文件為tcpprep根據對應的pcap文件構造出來。
-D 把應用層的數據,使用[dump](http://man.linuxde.net/dump "dump命令") mode寫入到指定文件中去,和-[w](http://man.linuxde.net/w "w命令")、-W 參數一起使用。
-e <ip1:ip2> 指定端點的ip,即把發(fā)送報文的和接收的報文的ip都修改稱對應的參數值中指定的ip,但是這樣發(fā)送的出的報文不會區(qū)分client和server。。
-f <configfile> 指定配置文件。
-F 在發(fā)送報文時,自動糾正錯誤的校驗和。對測試DUT的校驗和檢驗。
-h 顯示幫助文件。
-i <nic> 雙網卡回放報文必選參數,指定主接口。
-I <mac> 重寫主網卡發(fā)送出報文的目的MAC地址。
-j <nic> 雙網卡回放報文必選參數,指定從接口。
-J <mac> 重寫從網卡發(fā)送出報文的目的MAC地址。
-k <mac> 重寫主網卡發(fā)送報文的源MAC地址。
-K <mac> 重寫從網卡發(fā)送報文的源MAC地址。
-l <loop> 指定循環(huán)的次數。
-L <limit> 指定最大的發(fā)包數量??梢栽诖_認連接的調試時使用。
-m <multiple> 指定一個倍數值,就是必默認發(fā)送速率要快多少倍的速率發(fā)送報文。 加大發(fā)送的速率后,對于DUT可能意味著有更多的并發(fā)連接和連接數,特別是對于BT報文的重放, 因為連接的超時是固定的,如果速率增大的話, 留在session表中的連接數量增大,還可以通過修改連接的超時時間來達到該目的。
-M 表示不發(fā)送“火星”的ip報文,[man](http://man.linuxde.net/man "man命令")文件中的定義是 0/8、172/8、 255/8。
-n 在使用-S參數,不對混雜模式進行偵聽。
-N <CIDR1:CIDR2,...> 通過偽造的NAT,重寫IP地址。這個參數應該有很重要的應用,目前沒有測試使用。
-O 沒有測試使用。
-p <packetrate> 指定每秒發(fā)送報文的個數,指定該參數,其它速率相關的參數被忽略,最后的打印信息不會有速率和每秒發(fā)送報文的統(tǒng)計。
-P 表示在輸出信息中打印PID的信息,用于單用戶或單帳戶模式下暫停和重啟程序。
-r <rate> 指定發(fā)送的速率。目前-m/-r/-p這3個參數的相互關系。
-R 讓網卡極限速度發(fā)數據包。
-t <mtu> 指定MTU,標準的10/100M網卡的默認值是1500。
-T Truncate packets > 截去報文中MTU大于標準值的部分再發(fā)送出去,默認是不發(fā)送,skip掉。
-v 每發(fā)送一個報文都以 tcpdump 的風格打印出對應的信息。
-V 查看版本號。
-w <[file](http://man.linuxde.net/file "file命令")> 將主網卡發(fā)送的報文寫入一個文件中,參數后緊跟文件名。</pre>
tcpreplay本身包含了幾個輔助工具, 用于準備發(fā)包的cache, 重寫報文(重寫前需要將其準備為cache文件)等:
- tcpreplay: replays pcap files at arbitrary speeds onto a network
- tcprewrite: edits pcap files and creates a new pcap file
-
tcpreplay-edit: edits pcap files and replhttps://man.linuxde.net/tcpreplay
ays onto a network - tcpprep: creates client/server definition cache files used by tcpreplay/tcprewrite
- tcpbridge: bridge two network segments with the power of tcprewrite
- tcpliveplay: replay a TCP pcap file in a manner that a server will recognize
- tcpcapinfo: raw pcap file decoder and debugger
參考: