玩蛇网提供最新Python编程技术信息以及Python资源下载!

Tcpreplay操作命令功能及使用方法

玩蛇网推荐图文教程:python 列表

Tcpreplay操作命令功能及使用方法,这篇说明书主要介绍tcprelay的一些与测试有关的使用。

在介绍tcpreplay命令的使用之前,先要介绍与之密切相关的一个命令:tcpprep,中文直译就是tcp准备的意思,它的作用可以参见官方网站的介绍说明:

P:<list> - Must be one of the listed packets where the list corresponds to the packet number in the capture file.

Ex: -xP:1-5,9,15 would only send packets 1 through 5, 9 and 15.

根据参数后的参数值(报文编号)发送指定的报文。可以在ethereal中确认报文的编号,然后把需要的报文发送。可以用于排除ARP报文。

F:"<filter>" - BPF filter. See the tcpdump(8) man page for syntax.

-X <match> Send all the packets except those specified

可选参数,就是-x参数的取反,参数内容也是一样。

-v Verbose

可选参数,显示trpprep生成cache文件的处理过程,就是一些信息的即时打印。

-V Version

显示版本号。
Tcpreplay操作命令功能及使用方法,Tcpprep使用小结如下:

再构造cache文件的过程中我用的比较多的选项参数就-v、-P、-xB、-xP,一般都是client和server的模式,其它两种模式没有实验过,暂时还不知道怎么使用,bridge模式我使用过一次,结果发现报文是从一个网卡送出。

对于tcp和udp协议都做了测试,是可以支持的,icmp还没有成功。对于网络上的BT报文,只要你有pcap文件,也是可以构造cache文件来模拟完全真实的BT流量。

目前的使用就是这么多,感觉还是很有用的,tcpreplay的参数有一部分是和tcpprep重复,下面的帮助文件说明就不详细说明了,但是特殊有好用的参数会使用蓝色字体标记出来给予重视。存在的不足是还没有学会在nat模式下重放报文,现在所有的报文重放都是在透明模式下完成的。
Tcpreplay帮助文件说明

Usage: tcpreplay [args] <file(s)>

-A "<args>" Pass arguments to tcpdump decoder (use w/ -v)

可选参数,在使用tcpdump风格打印输出信息时,同时再调用tcpdump中的参数,默认已经带有“-n,-l”,所以一般看到的都是ip地址,而没有主机名的打印,注意这个是在tcpreplay使用了-v参数时,才能使用,不带-v不会报错,但是没有实际意义。格式:-vA “nnt”表示以tcpdump风格输出报文信息,并且不打印时间戳、主机名、端口服务名称。注意不要使用-c参数来指定打印的数据报文的个数,这样发送出去的报文也会变少。

-b Bridge two broadcast domains in sniffer mode

可选参数,没有用过

-c <cachefile> Split traffic via cache file

双网卡回放报文必选参数,后面紧跟cache文件名,该文件为tcpprep根据对应的pcap文件构造出来。

-C <CIDR1,CIDR2,...> Split traffic by matching src IP

可选参数,

-D Data dump mode (set this BEFORE -w and -W)

可选参数,把应用层的数据,使用dump mode写入到指定文件中去,和-w、-W参数一起使用。

-e <ip1:ip2> Specify IP endpoint rewriting

可选参数,指定端点的ip,即把发送报文的和接收的报文的ip都修改称对应的参数值中指定的ip,但是这样发送的出的报文不会区分client和server,还没有发现使用的地方。

-f <configfile> Specify configuration file

可选参数,指定配置文件,目前不会使用。

-F Fix IP, TCP, UDP and ICMP checksums

可选参数,在发送报文时,自动纠正错误的校验和。对测试DUT的校验和检验还是有用的。

-h Help

显示帮助文件。

-i <nic> Primary interface to send traffic out of

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

-I <mac> Rewrite dest MAC on primary interface

可选参数,重写主网卡发送出报文的目的MAC地址。

-j <nic> Secondary interface to send traffic out of

双网卡回放报文必选参数,指定从接口。

-J <mac> Rewrite dest MAC on secondary interface

可选参数,重写从网卡发送出报文的目的MAC地址。

-k <mac> Rewrite source MAC on primary interface

可选参数,重写主网卡发送报文的源MAC地址。

-K <mac> Rewrite source MAC on secondary interface

可选参数,重写从网卡发送报文的源MAC地址。

-l <loop> Specify number of times to loop

可选参数,指定循环的次数,测试过程发现不是那么好用,有待确认。

-L <limit> Specify the maximum number of packets to send

可选参数,指定最大的发包数量。可以在确认连接的调试时使用。

-m <multiple> Set replay speed to given multiple

可选参数,指定一个倍数值,就是必默认发送速率要快多少倍的速率发送报文。
加大发送的速率后,对于DUT可能意味着有更多的并发连接和连接数,特别是对于BT报文的重放,因为连接的超时是固定的,如果速率增大的话,留在session表中的连接数量增大,还可以通过修改连接的超时时间来达到该目的。

-M Disable sending martian IP packets

可选参数,表示不发送“火星”的ip报文,man文件中的定义是0/8、172/8、255/8。

-n Not nosy mode (not promisc in sniff/bridge mode)

可选参数,在使用-S参数,不对混杂模式进行侦听。没有测试过。

-N <CIDR1:CIDR2,...> Rewrite IP's via pseudo-NAT

可选参数,通过伪造的NAT,重写IP地址。这个参数应该有很重要的应用,目前没有测试使用。

-O One output mode

可选参数,没有测试使用

-p <packetrate> Set replay speed to given rate (packets/sec)
Tcpreplay操作命令功能及使用方法就简单介绍到这里。

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/linux/l6964.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
出炉日期:2017-01-12 13:25 玩蛇网 www.iplaypy.com

您现在的位置: 玩蛇网首页 > linux入门教程 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules