<span id="vexk9"><table id="vexk9"></table></span>

      tcpreplay

      將PCAP包重新發送,用于性能或者功能測試

      補充說明

      簡單的說, tcpreplay 是一種pcap包的重放工具,它可以將用ethreal、wireshark工具抓下來的包原樣或經過任意修改后重放回去。它允許你對報文做任意的修改(主要是指對2層、3層、4層報文頭),指定重放報文的速度等,這樣tcpreplay就可以用來復現抓包的情景以定位bug,以極快的速度重放從而實現壓力測試。

      選項

      -A "<args>" 在使用 tcpdump 風格打印輸出信息時,同時再調用tcpdump中的參數, 默認已經帶有“-n,-l”,所以一般看到的都是ip地址,而沒有主機名的打印,注意這個是在tcpreplay使用了-v參數時才能使用,不帶-v不會報錯,但是沒有實際意義。格式:-vA “nnt”表示以tcpdump風格輸出報文信息,并且不打印時間戳、主機名、端口服務名稱。注意不要使用-c參數來指定打印的數據報文的個數,這樣發送出去的報文也會變少。
      -c <cachefile> 雙網卡回放報文必選參數,后面緊跟cache文件名,該文件為tcpprep根據對應的pcap文件構造出來。 
      -D 把應用層的數據,使用dump mode寫入到指定文件中去,和-w、-W 參數一起使用。 
      -e <ip1:ip2> 指定端點的ip,即把發送報文的和接收的報文的ip都修改稱對應的參數值中指定的ip,但是這樣發送的出的報文不會區分client和server。。 
      -f <configfile> 指定配置文件。
      -F 在發送報文時,自動糾正錯誤的校驗和。對測試DUT的校驗和檢驗。
      -h 顯示幫助文件。 
      -i <nic> 雙網卡回放報文必選參數,指定主接口。
      -I <mac> 重寫主網卡發送出報文的目的MAC地址。 
      -j <nic> 雙網卡回放報文必選參數,指定從接口。
      -J <mac> 重寫從網卡發送出報文的目的MAC地址。 
      -k <mac> 重寫主網卡發送報文的源MAC地址。 
      -K <mac> 重寫從網卡發送報文的源MAC地址。
      -l <loop> 指定循環的次數。
      -L <limit> 指定最大的發包數量。可以在確認連接的調試時使用。 
      -m <multiple> 指定一個倍數值,就是必默認發送速率要快多少倍的速率發送報文。 加大發送的速率后,對于DUT可能意味著有更多的并發連接和連接數,特別是對于BT報文的重放, 因為連接的超時是固定的,如果速率增大的話, 留在session表中的連接數量增大,還可以通過修改連接的超時時間來達到該目的。
      -M 表示不發送“火星”的ip報文,man文件中的定義是 0/8、172/8、 255/8。
      -n 在使用-S參數,不對混雜模式進行偵聽。
      -N <CIDR1:CIDR2,...> 通過偽造的NAT,重寫IP地址。這個參數應該有很重要的應用,目前沒有測試使用。
      -O 沒有測試使用。
      -p <packetrate> 指定每秒發送報文的個數,指定該參數,其它速率相關的參數被忽略,最后的打印信息不會有速率和每秒發送報文的統計。
      -P 表示在輸出信息中打印PID的信息,用于單用戶或單帳戶模式下暫停和重啟程序。
      -r <rate> 指定發送的速率。目前-m/-r/-p這3個參數的相互關系。
      -R 讓網卡極限速度發數據包。 
      -t <mtu> 指定MTU,標準的10/100M網卡的默認值是1500。 
      -T Truncate packets > 截去報文中MTU大于標準值的部分再發送出去,默認是不發送,skip掉。
      -v 每發送一個報文都以 tcpdump 的風格打印出對應的信息。
      -V 查看版本號。
      -w <file> 將主網卡發送的報文寫入一個文件中,參數后緊跟文件名。
      

      實例

      **1、重放在客戶端 ftp 連接的報文?**

      a、在客戶端使用 ethereal 抓包,存為 ftp.pcap 文件。

      b、 將 ftp.pcap 文件進行 tcpprep 操作,制作 cache 文件。

      [root@A ~]# tcpprep -an client -i ftp.pcap -o ftp.cache –v 
      

      c、 將 DUT 設備的兩個接口和 PC 的兩個接口使用網線連接,使用 tcpreplay 重 放報文。注意防火墻的配置為網橋(透明)模式。?

      [root@A ~]# tcpreplay -c ftp.cache -i eth0 -j eth1 ftp.pcap -R –v 
      

      -R 參數表示全速發送,-v 顯示打印信息。?

      **2、重放在客戶端 BT 連接的報文?**

      a、在實驗室 BT 下載一些臺灣的娛樂節目和熱門的大片,使用 ethereal 抓包, 存為 bt.pcap 文件。注意 pcap 文件大小的控制,對 pc 的內存要求比較高,我保 存了一個 600 多 M 的 pcap 文件用了 40 多分鐘,大家有需要可以直接從實驗室 copy。?

      b、將 bt.pcap 文件進行 tcpprep 操作,制作 cache 文件。

       [root@A ~]# tcpprep -an client -i bt.pcap -o bt.cache -C "100M BT Packet" –v
      

      制作 cache 文件,在 cache 文件中寫入“100M BT Packet”的注釋。?

      c、使用 tcpreplay 重放報文。?

      [root@A ~]# tcpreplay -c bt.cache -i eth0 -j eth1 bt.pcap -v –R 
      

      **3、重放 tftp 服務器上抓到的報文?**

      a、在 tftp 服務器上使用 ethereal 抓包,存為 tftp.pcap 文件。?

      b、將 pcap 文件進行 tcpprep 的操作,制作 cache 文件。?

      [root@A ~]# tcpprep -an server -i tftp.pcap -o tftp.cache –v 
      

      注意:我在測試的時候犯了一個錯誤,使用 DUT 的 tftp 升級來做實驗,同時穿 過 DUT 重放報文,結果在網卡發送報文的后,DUT 的 mac 地址做了的回應,導致 交互過程沒有穿過 DUT,這個問題比較搞笑,上午弄了半天才發現原因,開始還 以為 udp 的連接不能重放。?

      c、使用 tcpreplay 重放報文。?

      [root@A ~]# tcpreplay -c tftp.cache -i eth0 -j eth1 tftp.pcap –v
      
      主站蜘蛛池模板: 一日本道伊人久久综合影| 国产激情电影综合在线看 | 亚洲狠狠成人综合网| 久久亚洲精品人成综合网| 色综合久久天天影视网| 热久久综合这里只有精品电影| 东京热TOKYO综合久久精品 | 狠色狠色狠狠色综合久久| 亚洲综合区图片小说区| 日日狠狠久久偷偷色综合0| 国内偷自视频区视频综合| 亚洲色欲啪啪久久WWW综合网| 五月丁香六月综合缴清无码| 亚洲综合成人网在线观看| 五月丁香六月综合缴清无码| 亚洲国产欧美国产综合一区| 无码专区久久综合久中文字幕| 国产精品亚洲综合| 久久综合亚洲色hezyo| 色综合中文综合网| 亚洲AV综合色一区二区三区| 亚洲偷自拍拍综合网| 亚洲色婷婷综合开心网| 亚洲精品第一国产综合亚AV| 色综合综合色综合色综合| 伊人久久大香线焦综合四虎| 久久久久综合国产| 亚洲综合男人的天堂色婷婷| 亚洲欧洲日产国产综合网| 久久综合色天天久久综合图片 | 青青草原综合久久大伊人精品| 99久久综合狠狠综合久久一区| 狠狠色狠狠色综合日日不卡| 国产在线五月综合婷婷| 狠狠色丁香婷婷综合激情| 国产综合色在线精品| 久久久久青草线蕉综合超碰| 亚洲色欲啪啪久久WWW综合网| 色噜噜狠狠色综合欧洲| 亚洲综合精品网站| 久久久久青草大香线综合精品|