Linux下Pcap包重放工具Tcpreplay的简单使用

Linux下Pcap包重放工具Tcpreplay的简单使用

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
Linux下Pcap包重放工具Tcpreplay的简单使用
2、yum install tcpreplay进行安装,需要使用EPEL源
Linux下Pcap包重放工具Tcpreplay的简单使用
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
Linux下Pcap包重放工具Tcpreplay的简单使用
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
Linux下Pcap包重放工具Tcpreplay的简单使用
5、更新数据包的校验和
tcprewrite –infile=rsyslog_2.pcap –outfile=rsyslogfinal.pcap –fixcsum
Linux下Pcap包重放工具Tcpreplay的简单使用
6、完成数据包重写后,重放最终的数据包
tcpreplay -v  -i eth0 -M 1000 rsyslogfinal.pcap
Linux下Pcap包重放工具Tcpreplay的简单使用
Linux下Pcap包重放工具Tcpreplay的简单使用


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

原文始发于微信公众号(WalkingCloud):Linux下Pcap包重放工具Tcpreplay的简单使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/243128.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!