tcpreplay使用手册

tcpreplay使用手册
2013年4月27日星期六
陈海敏
简介
Tcpreplay是一系列工具的总称,包括tcpreplay、tcprewrite和tcpprep等工具,这也是Tcpreplay的第一个字母大写的原因。它用来在Unix系统或类Unix系统上重放网络包。这些包是由tcpdump、ethereal和wireshark等软件抓取到的,即pcap格式的数据包。正因为Tcpreplay有重放数据包的功能,所以它常被用来模拟IDS攻击等测试环境,被广泛地用来测试防火墙和IDS工具的安全性。
一、tcpreplay使用方法
1 基本用法
将抓取到的pcap包通过eth0网口进行回放,当存在多网卡时,可以选择通过哪个口进行发送,
一般一台机子只有一个网卡eth0人体芝术
# tcpreplay --intf1=eth0 sample.pcap
或者缩写
#tcpreplay  -i eth0 sample.pcap
关于缩写,一般都是全称的首字母,不再给出特别说明,自己可以通过tcpreplay h 命令进行查看,附录部分也给出了部分常用的,可以参考。
2 以不同的速度回放
1)以尽可能大的速度回放
# tcpreplay --topspeed --intf1=eth0 sample.pcap
2)以10Mbps速率回放
# tcpreplay --mbps=10.0 --intf1=eth0 sample.pcap
美国洛杉矶大地震3)以原速度的7.3倍速率回放
# tcpreplay --multiplier=7.3 --intf1=eth0 sample.pcap
4)以原速度的0.5倍速率回放
# tcpreplay --multiplier=0.5 --intf1=eth0 sample.pcap
5)以每秒回放25个包的速率回放
# tcpreplay --pps=25 --intf1=eth0 sample.pcap
6)以一次一个包的速率发送数据包(debug时很有用)
# tcpreplay --oneatatime --verbose --intf1=eth0 sample.pcap
3 循环播放数据包
1)重放10次
# tcpreplay --loop=10 --intf1=eth0 sample.pcap
2)无限循环重放,直到Ctrl+C结束
# tcpreplay --loop=0 --intf1=eth0 sample.pcap
4 两个网口之间重放数据包
1)可以利用tcpprep将数据包通信双方区分为客户端和服务器端,这样在eth0和eth1之间通信就相当于是客户端和服务器。
# tcpreplay --cachefile=sample.prep --intf1=eth0 --intf2=eth1 sample.pcap
说明:cachefile为由tcpprep生成,会在下面的tcpgrep部分介绍具体用法
2)如果已经将数据包分成两个文件,那么tcpreplay就可以用如下的命令在两个网口之间进行数据的重放。
# tcpreplay --dualfile --intf1=eth0 --intf2=eth1 side-a.pcap side-b.pcap
更多详细信息.请查看: tcpreplay.synfin/trac/wiki/tcpreplay
二、tcpprep使用方法
1 基本用法
tcpprep用于将pcap数据包分解为客户端和服务器端.
tcpprep所支持的模式:京广铁路
•  Auto/Bridge
•  Auto/Router
•  Auto/Client
•  Auto/Server
•  IPv4 matching CIDR
•  IPv4 matching Regex
•  TCP/UDP Port
•  MAC address
1.1 auto/bridge模式
在auto/bridge模式下,tcpprep根据clinet和server的行为分析数据包.
client行为如下定义:
•  发送一个 TCP Syn 包到另外一台主机
•  发送一个 DNS 请求
•  收到一个 ICMP 端口不可达
Server行为如下定义:
北京拉拉沙龙
•  发送一个 TCP Syn/Ack 包到另外一台主机
•  发送一个 DNS 应答
•  发关一个 ICMP 端口不可达
例: tcpprep --auto=bridge --pcap=input.pcap --cachefile=input.cache2010江苏数学
如果数据包中有任何一个包无法分类.tcpprep将报错.在分类完后,服务器端到客户端的数据包率将被设置为此数据包的数据率,客户端到服务器端的数据率将会是它的两倍.不然.你也可以用ratio参数修改它.ratio对每一种模式都是有效的.例如:
tcpprep --auto=bridge --pcap=input.pcap --cachefile=input.cache --ratio=3.5
1.2 auto/router模式
在auto/router模式下,首先是按auto/bridger模式的方法标记出client和server.对于存在那些未标记的主机.通过分析其与其它主机的数据包,将其划分到相同的子网,并标记为与其子网内其它主机相同的标记.例:
tcpprep --auto=router --pcap=input.pcap --cachefile=input.cache
1.3 auto/client模式
在auto/client模式下,其分类标准与auto/birdge相同,只不过对于那些被标记为client的IP.其只
对ip 的第一个行为做判断,而不是每一次都做判断.例:
tcpprep --auto=client --pcap=input.pcap --cachefile=input.cache
1.4 auto/server模式
auto/server与auto/client相似.不同在于它是对被标记为server的ip做处理.
1.5 Cidr模式
在Cidr模式下.用户手动给出server所在的网段.而不像在auto模式下由tcpprep来区分.例:
Tcpprep    --cidr=10.0.0.0/8,172.16.0.0/12    --pcap=input.pcap    --cachefile=input.cache
1.6 Regex模式
在Regex模式下.用户给出能匹配server的正则表达式.例:
tcpprep --regex="(10|20)\..*" --pcap=input.pcap --cachefile=input.cache
1.7 port模式
在port模式下,用端口号来区分server 和client.默认情况下,0—1024端口为server端所有.1024以外为client所有.当然.你也可以在自己/etc/services中划分服务器端口.
金号网tcpprep --port --services=/etc/services --pcap=input.pcap --cachefile=input.cache
1.8 mac模式
在mac模式下.由用户指定那些mac为服务端mac.例:
Tcpprep    --mac=00:21:00:55:23:AF,00:45:90:E0:CF:A2    --pcap=input.pcap    --cachefile=input.cache
2 跳过数据包
2.1 参数include
在include下.可以指定所要处理的数据包
1)只处理源IP在10.0.0.0/8,192.168.0.0/16网段的数据包
Tcpprep    --auto=bridge --include=S:10.0.0.0/8,192.168.0.0/16 --pcap=input.pcap --cachefile=input.cache
2)只处理目的IP在10.0.0.0/8,192.168.0.0/16网段的数据包
tcpprep --include=D:10.0.0.0/8,192.168.0.0/16 --pcap=input.pcap --cachefile=input.cache

本文发布于:2024-09-22 18:15:37,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/366040.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议