tcpreplay的使用方法

      Tcpreplay 是一系列工具的总称,包括 Tcpreplay Tcprewrite Tcpprep ,是用来Unix linux 系统上重放数据包的软件。实现数据报文回放分为三步:

  1. Tcpprep 对报文的通信流量的两方(服务器/ 客户端)进行分离

Tcpprep 的作用是划分客户端和服务器,区分PCAP 数据包的流向,即划分哪些包是客户端的,哪些包是服务器的。在回放包时数据包会按照不同的发包方向从两个网卡分别发出。

Tcpprep 的常用参数如下(只列举这里用到的参数):

-a 表示按模式自动分离通信流量生成缓存文件。

-i 生成缓存文件必带参数,后跟PCAP 文件名,表示这个PCAP 文件需要处理。

-o 生成缓存文件必带参数,后跟缓存文件。表示由前面的PCAP 文件生成的缓存文件。

举例:tcpprep -a client -i test.pcap -o test.cache

表示将名称为test.pcap 的数据包的通信流量进行自动分离,生成名称为test.cache 的文件。

2 )用Tcprewrite 对报文进行改写

     Tcprewrite用来修改报文,主要修改数据包的2 层,3 层,4 层报文头,即MAC 地址,IP 地址和端口等,目的是为了将原始数据包通过自己搭建的环境进行回放。所以在路由模式的环境下,这一步必不可少。

     Tcprewrite 的常用参数如下:

-e 重写IP 地址,后跟PC 上两网卡的IP 地址,前面表示服务器端,后面表示客户端,用冒号隔开。(注意要与发包顺序对应)

--enet_dmac 重写目的MAC 地址,后跟防火墙的两个接口的MAC 地址,注意要与PC 上的两个网卡对应,中间用,隔开。

--enet_smac 重写源MAC 地址,后跟PC 上两个网卡的MAC 地址,注意要与前面对应,中间用,隔开。

-c 使用生成的缓存文件分离流量,后跟第二步生成的缓存文件名。

-i 处理输入PCAP 文件,后跟最原始的PCAP 文件名。

-o 输出PCAP 文件,后跟改写后最终生成的PCAP 文件名。

     举例:改写的命令为tcprewrite -e 192.168.2.100:192.168.3.101 --enet_dmac=28:51:32:0b:d2:60,28:51:32:0b:d2:61 --enet_smac=00:0a:1c:0b:0e:24,08:00:27:49:7e:38 -c test.cache -i test.pcap -o 01.pcap

生成的01.pcap 就是重写后的攻击包,可以用Wireshark的打开查看是否改写正确。

仅修改包内的端口号:tcprewrite --portmap=80:8080 -i http-pdf-up.pcap -o http8080.pcap

3 )用Tcpreplay 回放数据包

Tcpreplay 是最终真正发包的工具,可以选择主网卡,从网卡,发包速度等,对重写后的数据包进行回放。

    Tcpreplay 的常用参数如下:

-c 双网卡回放报文必选参数,后跟文件名

-i 双网卡回放报文必选参数,指定主接口

-I  (大写i)双网卡回放报文必选参数,指定从接口

举例:tcpreplay -c test.cache -i%2 -I%3 01.pcap

表示将最后改写的01.pcap 数据包分别从两个网卡分方向进行回放。

总结:

拓扑:

分包回放需要3步:

1,tcpprep -a client -i test.pcap -o test.cache      

2,tcprewrite -e 10.10.10.1:20.20.20.1 --enet_dmac=28:51:32:0b:d2:60,28:51:32:0b:d2:61 --enet_smac=00:0a:1c:0b:0e:24,08:00:27:49:7e:38 -c test.cache -i test.pcap -o 01.pcap

3,tcpreplay -c test.cache -i ge1 -I ge2 01.pcap

第二种:不将包分离成客户端服务器回放的命令

如图1所示,对端接口设置成旁路模式

2,在PC端回放的命令:tcpreplay -i eth0 -t test.pcap   

回放大量报文的shell脚本

#!/bin/bash

cd /huifang  #存放包的目录

while true
do

for f in $(find $pwd -maxdepth 2)
do
tcpreplay -i eth1 -t  $f
done
done

将上面脚本保存为.sh的脚本fabao.sh

在linux环境运行./fabao.sh即可

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值