zoukankan      html  css  js  c++  java
  • Linux下Pcap包重放工具Tcpreplay的简单使用

    Tcpreplay是一种pcap包的重放工具, 它可以将tcpdump和Ethereal/Wireshark等工具捕捉到的网络流量包进行编辑修改和重放. 重写Layer 2、3、4层数据包,并将流量重新发送至目标网络, 这样通过重放网络流量包从而实现复现问题情景以定位bug

    tcpreplay本身包含了几个辅助工具(tcpprep、tcprewrite、tcpreplay和tcpbridge等等)

    » tcpreplay:以任意速度将pcap文件重播到网络上

    » tcprewrite:编辑pcap文件并创建一个新的pcap文件

    » tcpreplay-edit:编辑pcap文件并重放到网络上

    » tcpprep:创建tcpreplay / tcprewrite使用的客户端/服务器定义缓存文件

    » tcpbridge:使用tcprewrite的功能桥接两个网段

    » tcpliveplay:以服务器识别的方式重放TCP pcap文件

    » tcpcapinfo:raw pcap文件解码器和调试器

    下面只简单介绍使用tcpreplay重放syslog UDP报文

    1、先使用tcpdump抓取一段syslog的报文

    tcpdump -i eth0 -s 0 -v -w syslog.pcap port 514

    2、yum install tcpreplay进行安装,需要使用EPEL源

    3、who 以及arp 命令查看本机的IP地址192.168.60.106 MAC地址为74:d4:35:88:68:e6

    然后利用tcprewire重写目标IP地址和MAC地址

    tcprewrite --infile=syslog.pcap --outfile=rsyslog_1.pcap --dstipmap=0.0.0.0/0:192.168.60.106 --enet-dmac=74:d4:35:88:68:e6

    4、当然也可对源IP地址以及源MAC地址进行改写

    tcprewrite --infile=rsyslog_1.pcap --outfile=rsyslog_2.pcap --srcipmap=0.0.0.0/0:172.16.11.5 --enet-smac=00:11:32:12:33:8e

    5、更新数据包的校验和

    tcprewrite --infile=rsyslog_2.pcap --outfile=rsyslogfinal.pcap --fixcsum

    6、完成数据包重写后,重放最终的数据包

    tcpreplay -v -i eth0 -M 1000 rsyslogfinal.pcap

    上图Kiwi Syslog Server中可以看到重放到本机192.168.60.106的syslog报文,说明重放成功

  • 相关阅读:
    不同storyboard间跳转
    WWDC2014:留给微软的时间不多了!
    IBOutletCollection 索引获取顺序问题
    iOS下单例模式实现(二)利用宏定义快速实现
    iOS下单例模式实现(一)(objective-c arc gcd)
    windows phone UI吐槽---跑偏了就再也跑不回来了
    iOS沙盒(SanBox)机制与文件操作
    转载:iOS静态库与动态库
    KVO与KVC理解
    iOS多线程编程的几种方式
  • 原文地址:https://www.cnblogs.com/carey9420/p/14641197.html
Copyright © 2011-2022 走看看