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

摘要:
Tcpreplay是一种pcap包的重放工具,它可以将tcpdump和Ethereal/Wireshark等工具捕捉到的网络流量包进行编辑修改和重放.重写Layer2、3、4层数据包,并将流量重新发送至目标网络,这样通过重放网络流量包从而实现复现问题情景以定位bugtcpreplay本身包含了几个辅助工具(tcpprep、tcprewrite、tcpreplay和tcpbridge等等)tcpre

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的简单使用第1张

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

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

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的简单使用第3张

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的简单使用第4张

5、更新数据包的校验和

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

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

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

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

Linux下Pcap包重放工具Tcpreplay的简单使用第6张
Linux下Pcap包重放工具Tcpreplay的简单使用第7张

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

免责声明:文章转载自《Linux下Pcap包重放工具Tcpreplay的简单使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇csrf攻击原理和防御-生成token防御代码python(一):python语言基础下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

彻底解决Mac无线网络故障和网速慢的问题

应该可以上网了。这个方法就是完全重置你电脑的控制器了,会将设置都恢复初始化,但是不影响硬盘数据,不必备份。很多时候macbook出现莫名其妙的问题都用得上。...

简谈docker-compose内存控制Java问题

最近,我正在整理docker合成内存的问题,并编写了一个模板供您参考。命令:/ceshi/start。Sh#在启动时重新启动脚本:始终#--cpu共享:当cpu资源充足时,设置cpu权重没有意义。只有当容器竞争CPU资源时,#CPU的权重才能使不同容器使用不同数量的CPU。我们可以将其设置为2以获得非常低的权重,但将其设置成0以获得默认值1024。上面写了相...

c# Socket心跳试验,自定义发送包 和 使用KeepAlive

我记录了我心跳的位置,但WireShark无法检测到正在发送的消息,主要是因为发送的数据大小为0。如果网络电缆被拔掉,下次检测到心跳时就会报告错误。虽然这种方法可以检测套接字是否断开,但它不是很好,响应也不及时。当使用KeepAlive时,WireShark通常会检测到它不停地向Socket服务器发送消息,即心跳检测。图:通过三次握手(前三次握手)建立连接后...

2.页面绘制和引入组件库uView

文本+背景色的形式,而不是横幅图的形式,可以节省未来的工作量。在index.vue中,关于开关的代码:EFGHIJKLMNOPQRSTUWXYZB˃DEFGHIJKLNNOPQRSTUVWXYZEFGHIJKLMNOPQRSTUVWXYZ导出默认值{data(){return{}},onLoad()},方法:{}}。横幅{width:100%;height:...

Winform知识点

BringToFront()将控件移动到Z顺序的前面。...

为什么运行CMD后,一闪就不见了 解决方案

方法1:如果您中毒,系统中的一个进程正在监视您的命令。如果您看到CMD,可以关闭它。您可以检查任务管理中是否有流程。如果你关闭它,你应该可以打开它。如果没有,则说明已注入系统进程。很难杀死病毒。方法2:注册表:HKEY_LOCAL__清除MACHINE Software Microsoft CommandProcessor AutoRun中的值,即删除带有d...