TCPPREP(1) Programmer's Manual TCPPREP(1)
NAME
tcpprep - 通过 pcap 文件生成 tcpreplay (--cachefile) 用的cache文件
SYNOPSIS
tcpprep [-flag [value]]... [--opt-name [[=| ]value]]...
所有参数均为选项。
tcpprep 是一个pcap(3)文件预处理工具,提供tcprewrite(1)处理报文、tcpreplay(1)发送报文的规则。
DESCRIPTION
该手册简单的描述了 tcpprep 的用法。 tcpreplay 的基本操作是将pcap文件中的所有报文发送到单一接口中。
Tcpprep 通过用户定义的一系列规则处理 pcap 文件,生成cache文件,通过cache文件tcpreply可以确定单个报文是否发送以及通过哪个接口发送。
更多详细信息,请查看Tcpreplay手册 : http://tcpre‐play.appneta.com
OPTIONS
-d number, --dbug=number
使能 debug 输出。
该选项最多只能出现一次,number为 0-5 之间的整数,默认值为 0。
如果编译时候配置(./configure)了 --enable-debug,可以通过该选项设置 debug 输出,数字越大则输出的内容越详细。
-a string, --auto=string
使能报文自动区分。该选项只能出现一次,且不能同 cidr, port, regex, mac 选项混合使用。
Tcpprep 会通过捕获的报文推测对应 IP 地址是服务器还是客户端。可用的参数为:
bridge : Bridge模式处理每个报文,尽量去判断该报文的发送者是client还是server。处理完所有报文之后,结果会根据比率(--ratio)调整。如果存在不能正确分类的报文,程序会退出。
router : Router模式跟Bridge工作模式工作方式类似。报文根据比率调整之后,tcpprep会调整掩码(从minmask到maxmask),直到不能正确识别的地址跟到某个客户端或者服务器落入同一网段中。Router模式有很大几率成功区分client、server,但不百分之百保证。
client : client模式跟bridge模式工作方式类似,不能正确分类的报文会被认为是客户端。client模式应该一直成功。
server : Server模式跟bridge工作方式类似,不能正确分类的报文会被认为为servers。server模式应该一直成功。
first : First 模式该通过查看每个IP地址首先在SRC中出现还是在DST中出现。如果IP地址首先在SRC域中出现,IP被认为是客户端,如果IP地址首先在DST域中出现,IP地址被识别为服务器。该模式一直能执行成功。
-c string, --cidr=string
CIDR-split 分割模式。该选项只能出现一次。该选项不能跟 auto, port, regex, mac 选项联合使用。
指定一系列通过逗号分割的网段,每个报文的源IP地址跟该网段匹配,能匹配到的报文即为服务器端。
IPv4 示例:
--cidr=192.168.0.0/16,172.16.0.0/12,10.0.0.0/8
IPv6 示例:
--cidr=[::ffff:0:0/96],[fe80::/16]
-r string, --regex=string
正则表达式模式。该选项只能出现一次,该选该项不能与 auto, port, cidr, mac 混合使用。
指定正则表达式取匹配每个报文的源IP地址,匹配成功的报文被认为是服务器。
-p, --port
端口区分模式。该选项只能出现一次。该选项不能跟下列选项混合使用 auto, regex, cidr, mac。
特定的TCP、UDP报文可以通过报文头部的目的端口区分client、server。
-e string, --mac=string
源mac地址区分模式,该选项只能出现一次。该选项不能跟下列选项混合使用:auto, regex, cidr, port。
定义一系列MAC地址图匹配每个报文的源MAC地址,成功匹配的报文为服务器。
--reverse
成功匹配的为 client 而不是 server。该选项只能出现一次。
默认情况下 --mac, --regex, --cidr都用与匹配服务器,匹配不到的报文为client。通过--reverse,匹配到的报文为client,匹配不到的报文为server。
-C string, --comment=string
将注释嵌入到缓存文件中。该选项只能出现一次。
--no-arg-comment
不嵌入任何注释到cache文件中,该选项只能出现一次。
默认情况下, tcppreptcpprep将用户传递的参数作为注释存在cache文件中,如果你不想要这样,定义该选项。
-x string, --include=string
只包括匹配成功的报文。该选项只能出现一次。该选该项不能跟 exclude 选项混合使用。
覆盖默认的处理方式,只处理、发送成功匹配规则的报文。规则可以为下列值:
S:<CIDR1>,... - 源IP地址匹配
D:<CIDR1>,... - 目的IP地址匹配
B:<CIDR1>,... - 源IP地址目的IP地址必须斗匹配
E:<CIDR1>,... - 源IP地址、目的IP地址任意匹配
P:<LIST> - 处理在pcap文件中下列 index 的报文。
F:'<bpf>' - BPF 过滤器。查看 tcpdump(8) man手册查看语法。
-X string, --exclude=string
排除匹配该规则的任意报文,该选项只能出现一次。该选项不能跟 include 选项联合使用。
剔除匹配下列规则的报文,只发送、编辑不匹配提供规则的报文。规则可以为:
S:<CIDR1>,... - 源IP地址匹配
D:<CIDR1>,... - 目的IP地址匹配
B:<CIDR1>,... - 源IP地址、目的IP地址同时匹配
E:<CIDR1>,... - 源IP地址、目的IP地址任意匹配
P:<LIST> - 剔除在pcap文件中下列 index 的报文。
-o string, --cachefile=string
输出cache文件,该选项只能出现一次。
-i string, --pcap=string
输入要处理的pcap文件,该选项只能出现一次。
-P string, --print-comment=string
打印在cache文件中嵌入的注释信息,该选项只能出现一次。
-I string, --print-info=string
从cache文件中打印基本信息。该选项只能出现一次。
-S string, --print-stats=string
打印特定cache文件的统计信息,该选项只能出现一次。
-s string, --services=string
加载服务端口的服务文件,该选项只能出现一次。该选项必须跟 port 选项联合使用。
该选项必须跟选项 port 联合使用。
用一系列服务器端口跟 /etc/services 格式一致:
<service_name> <port>/<protocol> # comment
示例: http 80/tcp
-N, --nonip
发送非IP流量到server 接口。该选项只能出现一次。
默认情况下,非IP流量不能不区分为服务器或者客户端的被分类为“客户端”,指定--nonip选项之后会被处理成服务器。
注意,如果指定了 --reverse 选项,该选项的意义就反转了。
-R string, --ratio=string
客户端/服务器的报文个数比率。该选项只能出现一次。该选项必须跟 auto 选项联合使用。该选项的默认值为:
2.0
因为一个给定的IP地址可能是客户端也可能是服务器,tcpprep 通过该比率来调整该IP地址两种报文数量的比例。如果你想要覆盖默认值,定义一个浮点型数值。
-m number, --minmask=number
auto模式下最小的网络掩码长度。该选项只能出现一次,该选项只能跟 auto 选项联合使用。该选项为参数为 0-32 位的整型,默认值为 30。
默认情况下,auto模式用最小网络掩码30取建立网络包含服务器、客户端。该选项允许你修改这个值,大的数值能提高效率,但是可能会导致不正确的结果。
-M number, --maxmask=number
auto模式下最大网络掩码长度,该选项只能出现一次,该选项为0-32的整数,该选项只能跟 auto 联合使用。
The default number for this option is:
8
该选项的默认值为 8。
-v, --verbose
通过tcpdump将报文解码,并将解码后的报文输出到标准输出。该选项只能出现一次。
-A string, --decode=string
传递个tcpdump解码器的参数,该选项只能出现一次,该选项必须跟 verbose 联合使用。
指定 verbose 模式时,你可能需要指定多个参数传递给tcpdump取修改报文解码方式。默认情况下, 参数为 -n、-l。确保参数在引号内,所以该参数不会被tcprewrite解析。
下列为可用的参数:
[ -aAeNqRStuvxX ]
[ -E spi@ipaddr algo:secret,... ]
[ -s snaplen ]
-V, --version
打印版本号信息
-h, --less-help
输出简要使用信息退出。
-H, --help
输出用法并退出。
-!, --more-help
输出用法并退出。
--save-opts[=rcfile]
保存选项配置到rcfile中。
--load-opts=rcfile, --no-load-opts
从rcfile中加载选项。
OPTION PRESETS
SEE ALSO
tcpdump(1), tcprewrite(1), tcpreplay(1)
AUTHOR
Copyright 2000-2010 Aaron Turner
For support please use the tcpreplay-users@lists.sourceforge.net mailing list.
The latest version of this software is always available from: http://tcpreplay.synfin.net/
Released under the Free BSD License.
This manual page was AutoGen-erated from the tcpprep option definitions.
(tcpprep ) 2010-04-04 TCPPREP(1)
参考资料
- http://tcpreplay.appneta.com/wiki/tcpprep
something to know
- --no-load-opts 选项用处,暂时没弄明白