• tcprewrite man手册翻译


    NAME

      tcprewrite - 改写pcap文件中的报文

    SYNOPSIS

           tcprewrite [-flag [value]]... [--opt-name [[=| ]value]]...

      所有参数均为选项。

    DESCRIPTION

      该手册简要介绍了tcprewrite的用法。 Tcprewrite是一个改写pcap文件(tcpdump、and ethereal)报文的工具。可以将修改后的报文通过 tcpreplay(1) 重新发送回去。
      tcprewrite 当前支持读如下的DLT(Data Link Types)类型:

           DLT_C_HDLC aka Cisco HDLC
           DLT_EN10MB aka Ethernet
           DLT_LINUX_SLL aka Linux Cooked Socket
           DLT_RAW aka RAW IP
           DLT_NULL aka BSD Loopback
           DLT_LOOP aka OpenBSD Loopback
           DLT_IEEE802_11 aka 802.11a/b/g
           DLT_IEEE802_11_RADIO aka 802.11a/b/g with Radiotap headers


      为了区分客户端、服务器的报文需要tcpprep(1)生成的cache文件支持。

      更多详细信息,请访问 : https://tcpreplay.appneta.com/ 

    OPTIONS

           -r string, --portmap=string
        修改TCP/UDP端口号,该选项可重复出现多次。
        指定端口修改规则 ,将匹配端口修改成指定端口,匹配的端口之间由逗号分割,冒号后边跟着要修改成的指定端口号。
                  示例:
                      --portmap=80:8000 --portmap=8080:80    # 80->8000 and 8080->80
                      --portmap=8000,8080,88888:80           # 3 different ports become 80
                      --portmap=8000-8999:80                 # ports 8000 to 8999 become 80

           -s number, --seed=number

        通过给定的seed随机化 src/dst IPv4/v6 地址,该选项只能出现一次。该选项参数为整型。
        伪随机化IPv4/v6地址,随机化的地址仍然保持客户端/服务器之间的关系。因为基于相同seed的随机关系是确定的,所以通过相同的seed创造相同的流量。

           -N string, --pnat=string
        改写 IPv4/v6 地址,该选项最多能重复出现2次,该选项不能跟 srcipmap 选项混合使用。

                  IPv4 示例:
                      --pnat=192.168.0.0/16:10.77.0.0/16,172.16.0.0/12:10.1.0.0/24
                  IPv6 示例:
                      --pnat=[2001:db8::/32]:[dead::/16],[2001:db8::/32]:[::ffff:0:0/96]

           -S string, --srcipmap=string
        改写 IPv4/v6 源 IP 地址,该选该项只能出现一次,该选项不能同 pnat 选项混合使用。
        工作原理跟 --pnat 选项类似,但是只影响IPv4/v6 源IP地址。

           -D string, --dstipmap=string
        改写 IPv4/v6 目的地址,该选项只能出现一次, 该选项不能同 pnat 选项联合使用。
        工作原理跟 --pnat 类型,但是只影响 IPv4/v6 的目的 IP 地址。

           -e string, --endpoints=string
        点对点修改IP地址,该选项只能出现一次。该选项必须跟 --cachefile 选项联合使用。

        [实例操作发现就是指定了servier address : client address,将pcap文件中的所有客户端、服务器都改成这一对IP地址]

                  IPv4 示例:
                      --endpoints=172.16.0.1:172.16.0.2
                  IPv6 示例:
                      --endpoints=[2001:db8::dead:beef]:[::ffff:0:0:ac:f:0:2]

           -b, --skipbroadcast
        跳过广播/组播地址改写。
        默认情况下, --seed, --pnat and --endpoints 会修改 IPv4/v6 的组播广播地址以及 MAC 地址。设置该选项可以保持组播、广播数据包IP及MAC地址不变。

           -C, --fixcsum
        强制重新计算 IPv4/TCP/UDP 头部校验和,选项 --seed, --pnat, --endpoints,--fixlen 自动使能。
        
           -m number, --mtu=number
        修改默认的MTU长度(1500字节),该选项只能出现一次,该选项为 1 through MAXPACKET的整数。
        修改默认的1500字节MTU长度能决定最大的补全长度(--fixlen=pad)或者截取(--mtu-trunc)
           --mtu-trunc
                  Truncate packets larger then specified MTU.  This option may appear up to 1 times.
        截取报文到指定的MTU,该选项只能出现一次。
        跟 --fixlen 类似,该选项丢弃数据包中长于MTU的部分。
           -E, --efcs
        丢弃位于报文尾部的 Ethernet checksums (FCS) 部分。
        声明,该选项有些危险!我们并不检查FCS是否真正存在,而是盲目的删掉最后两个字节数据。因此,必须在确保你的系统在读raw报文时候提供 FCS 时候才用该选项。

           --ttl=string
        修改IPv4/v6 TTL。
                  示例:
                      --ttl=10
                      --ttl=+7
                      --ttl=-64

           --tos=number
                  Set the IPv4 TOS/DiffServ/ECN byte.  This option may appear up to 1 times.  This option takes
                  an integer number as its argument.  The value of number is constrained to being:
                      in the range  0 through 255
        修改 IPv4 TOS/DiffServ/ECN 位,该选项只能出现一次。该选项参数为 0-255 的整数。

           --tclass=number
        设置 IPv6 Traffic Class 位。该选项只能出现一次,该选项参数为 0-255的整数。

           --flowlabel=number
        设置IPv6 Flow Label,参数为 0 - 1048575 整数。

           -F string, --fixlen=string
        补充或者截断报文数据,使得跟头部长度匹配。该选该项只能出现一次。

        当捕获报文时候,如果 snaplen 小于实际的报文长度,报文会被截断。该选项允许通过补全、修改报文长度的方式使得报文数据长度跟头部长度相匹配。

        pad    : 补全截断的报文
        trunc     :重写IPv4头部长度来匹配实际报文长度。
        del     : 删除报文
           --skipl2broadcast
        跳过修改广播、组播二层地址。

        默认情况下,修改二层地址会修改广播、组播MAC地址,设置该选项会保持广播、组播MAC地址不变。

           --dlt=string

        修改的输出的 LDT 封装,该选项只能出现一次。
        默认情况下不会修改DLT封装。改变输出报文的DLT类型可以选取下边几个值:
                  enet Ethernet aka DLT_EN10MB
                  hdlc Cisco HDLC aka DLT_C_HDLC
                  user User specified Layer 2 header and DLT type


           --enet-dmac=string
        修改以太网目的地址。该选该项只能出现一次。
        第一个mac地址用于服务器到客户端,第二个mac地址用于客户端到服务器。
                  示例:
                      --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66

           --enet-smac=string
        修改源mac地址。该选项只能出现一次。
        第一个mac地址用于服务器到客户端,第二个mac地址用于客户端到服务器。
                  示例:
                      --enet-smac=00:12:13:14:15:16,00:22:33:44:55:66

           --enet-vlan=string
        修改以太网 802.1q VLAN tag,该选项只能出现一次。

          add : 给以太网头添加802.1q VLAN 头部
                  del : 删除 vlan tags

           --enet-vlan-tag=number
        指定新的 vlan tag 值,该选项只能出现一次。该选型必须跟 enet-vlan 联合使用。该选项参数为 0-4095 整数。

           --enet-vlan-cfi=number
        指定 vlan tag 的 CFI 值,该选项只能出现一次,该选项必须跟 enet-vlan 联合使用。该选项参数为 0-1 的整型。

           --enet-vlan-pri=number
        指定 vlan tag 的优先级。该选项只能出现一次,该选项参数为 0-7 整型。

           --hdlc-control=number
        指定 HDLC control 值,该选项只能出现一次,该选项参数为整数。
        Cisco HDLC 头部有 1 位为“控制”域,通常情况下该值为 0, 你可以给这个域制定 1 字节的数值。

           --hdlc-address=number
        指定 HDLC 地址,该选项只能出现一次,该选项参数为整数。
        Cisco HDLC头部有 1 字节的地址,有两个有效数值:
                  0x0F Unicast
                  0xBF Broadcast

          可以指定任意的单字节数值。

           --user-dlt=number
        设置输出的DLT类型。该选项只能出现一次,该选项参数为整数。

        设置输出 pcap 文件的 DLT 值。

           --user-dlink=string
        设置用户定义的 Data-Link layer 数据,该选项最多出现 2 次。
        该选项第一个参数会用户修改客户端、服务器,但是如果指定了第二个参数,第一个参数会被用于客户端。
                  示例:
                      --user-dlink=01,02,03,04,05,06,00,1A,2B,3C,4D,5E,6F,08,00

           -d number, --dbug=number
        参见 tcpreplay man手册翻译

           -i string, --infile=string
        指定要处理的 pcap 文件,改选项只能出现一次。

           -o string, --outfile=string
        输出 pcap 文件,该选项只能出现一次。

           -c string, --cachefile=string
                  Split traffic via tcpprep cache file.  This option may appear up to 1 times.
        通过 tcpprep 的 cache 文件划分流量,该选项只能出现一次。
                  Use tcpprep cache file to split traffic based upon client/server relationships.
        通过 tcpprep 的cache 文件区分客户端。

           -v, --verbose
        参见 tcpreplay man手册翻译

           -A string, --decode=string
        参见 tcpreplay man手册翻译
           --fragroute=string
        解析 fragroute 配置文件(配置文件中说明如何修改报文)。
           --fragdir=string

        必须与 cachefile 联合使用,可选参数为:c2s(客户端到服务器), s2c(服务器到客户端), both(双向)。
           --skip-soft-errors
        跳过不能修改的报文,该选项只能出现一次。

        某些情况下,报文不能被解码获取不能被修改,正常情况下报文会被原封不动的写到输出文件中,所以tcpprep file 仍然可用。

        但是如果你愿意,可以丢球该类报文。

        一个例子是没有数据的 802.11 管理报文。

           -V, --version
                  参见 tcpreplay man手册翻译

           -h, --less-help
                  参见 tcpreplay man手册翻译

           -H, --help
                  参见 tcpreplay man手册翻译

           -!, --more-help
                  参见 tcpreplay man手册翻译

           --save-opts[=rcfile]
                  参见 tcpreplay man手册翻译

           --load-opts=rcfile, --no-load-opts
                  参见 tcpreplay man手册翻译

    OPTION PRESETS

           Any option that is not marked as not presettable may be preset by loading values from configuration
           ("RC" or ".INI") file(s).  The homerc file is "$$/", unless that is a directory.  In that case, the
           file ".tcprewriterc" is searched for within that directory.

    SEE ALSO

           tcpdump(1), tcpprep(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 tcprewrite option definitions.

    (tcprewrite )                                    2010-04-04                                   TCPREWRITE(1)

    参考资料:

      • fragroute的使用和规则:
        https://blog.51cto.com/yanwang/367740

    原文链接:

    https://www.cnblogs.com/rivsidn/p/10964940.html

  • 相关阅读:
    Appium+python自动化17-appium1.6在mac上环境搭建启动ios模拟器上Safari浏览器
    Appium+python自动化18-启动iOS模拟器APP源码案例
    Appium+python自动化16-在Mac上环境搭建
    Appium+python自动化14-native和webview切换
    Appium+python自动化15-查看webview上元素(DevTools)
    Appium+python自动化13-appium元素定位
    Appium+python自动化11-AVD 模拟器
    Appium+python自动化12-adb必知必会的几个指令
    Appium+python自动化10-SDK Manager
    jenkins+gitlab配置
  • 原文地址:https://www.cnblogs.com/superbaby11/p/15836779.html
Copyright © 2020-2023  润新知