首页 > 其他分享 >【报文修改利器】tcprewrite的安装和使用方法

【报文修改利器】tcprewrite的安装和使用方法

时间:2023-10-13 16:01:26浏览次数:38  
标签:enet addresses -- 报文 利器 num str tcprewrite pcap

tcprewrite作为tcpreplay的一个工具,可以对数据包的2-4层进行修改,功能非常强大。下面主要介绍下安装方法、整体的步骤和每层具体的修改方法。

一、安装方法

以下服务器信息为该文档安装tcpreplay服务环境

服务器信息:CentOS7 

内核版本:3.10.0-1160.el7.x86_64

1.直接使用yum进行安装

yum -y install tcpreplay

2.查看安装是否成功(如果有输出代表安装成功)

tcpreplay -V

 ps:安装好后就能看到tcpprep、tcpwrite,和tcpreplay一起配合使用

二、整体步骤

步骤1:先为待修改的pcap包(test1.pcap)生成一个中间件(test_cache.cache)

tcpprep -p --pcap=test1.pcap --cachefile=test_cache.cache

步骤2:导入待修改包和中间件,利用tcprewrite输出修改后的文件(test2.pcap)

tcprewrite -i test1.pcap -o test2.pcap --cachefile=test_cache.cache [具体修改项]

三、修改方法

# tcprewrite -h
tcprewrite (tcprewrite) - Rewrite the packets in a pcap file.
Usage:  tcprewrite [ -<flag> [<val>] | --<name>[{=| }<val>] ]...

   -r, --portmap=str          Rewrite TCP/UDP ports
   -s, --seed=num             Randomize src/dst IPv4/v6 addresses w/ given seed
   -N, --pnat=str             Rewrite IPv4/v6 addresses using pseudo-NAT
   -S, --srcipmap=str         Rewrite source IPv4/v6 addresses using pseudo-NAT
   -D, --dstipmap=str         Rewrite destination IPv4/v6 addresses using pseudo-NAT
   -e, --endpoints=str        Rewrite IP addresses to be between two endpoints
       --tcp-sequence=num     Change TCP Sequence (and ACK) numbers /w given seed
   -b, --skipbroadcast        Skip rewriting broadcast/multicast IPv4/v6 addresses
   -C, --fixcsum              Force recalculation of IPv4/TCP/UDP header checksums
   -m, --mtu=num              Override default MTU length (1500 bytes)
       --mtu-trunc            Truncate packets larger then specified MTU
   -E, --efcs                 Remove Ethernet checksums (FCS) from end of frames
       --ttl=str              Modify the IPv4/v6 TTL/Hop Limit
       --tos=num              Set the IPv4 TOS/DiffServ/ECN byte
       --tclass=num           Set the IPv6 Traffic Class byte
       --flowlabel=num        Set the IPv6 Flow Label
   -F, --fixlen=str           Pad or truncate packet data to match header length
       --fuzz-seed=num        Fuzz 1 in X packets.  Edit bytes, length, or emulate packet drop
       --fuzz-factor=num      Set the Fuzz 1 in X packet ratio (default 1 in 8 packets)
       --skipl2broadcast      Skip rewriting broadcast/multicast Layer 2 addresses
       --dlt=str              Override output DLT encapsulation
       --enet-dmac=str        Override destination ethernet MAC addresses
       --enet-smac=str        Override source ethernet MAC addresses
       --enet-subsmac=str     Substitute MAC addresses
       --enet-mac-seed=num    Randomize MAC addresses
       --enet-mac-seed-keep-bytes=num Randomize MAC addresses
       --enet-vlan=str        Specify ethernet 802.1q VLAN tag mode
       --enet-vlan-tag=num    Specify the new ethernet 802.1q VLAN tag value
       --enet-vlan-cfi=num    Specify the ethernet 802.1q VLAN CFI value
       --enet-vlan-pri=num    Specify the ethernet 802.1q VLAN priority
       --enet-vlan-proto=str  Specify VLAN tag protocol 802.1q or 802.1ad
       --hdlc-control=num     Specify HDLC control value
       --hdlc-address=num     Specify HDLC address
       --user-dlt=num         Set output file DLT type
       --user-dlink=str       Rewrite Data-Link layer with user specified data
   -i, --infile=str           Input pcap file to be processed
   -o, --outfile=str          Output pcap file
   -c, --cachefile=str        Split traffic via tcpprep cache file
   -v, --verbose              Print decoded packets via tcpdump to STDOUT
   -A, --decode=str           Arguments passed to tcpdump decoder
       --skip-soft-errors     Skip writing packets with soft errors
   -V, --version              Print version information
   -h, --less-help            Display less usage information and exit
   -H, --help                 display extended usage information and exit
   -!, --more-help            extended usage information passed thru pager
       --save-opts[=arg]      save the option state to a config file
       --load-opts=str        load options from a config file

1.链路层数据的修改

2.ip层数据的修改

3.传输层数据的修改

标签:enet,addresses,--,报文,利器,num,str,tcprewrite,pcap
From: https://www.cnblogs.com/Mourinkun/p/17762362.html

相关文章

  • Flink测试利器之DataGen初探
    什么是FlinksqlFlinkSQL是基于ApacheCalcite的SQL解析器和优化器构建的,支持ANSISQL标准,允许使用标准的SQL语句来处理流式和批处理数据。通过FlinkSQL,可以以声明式的方式描述数据处理逻辑,而无需编写显式的代码。使用FlinkSQL,可以执行各种数据操作,如过滤、聚合、连......
  • 利用ChatGPT提升测试工作效率——测试工程师的新利器(一)
    1、前言随着ChatGPT的爆火,各个行业开始尝试利用ChatGPT来提升工作效率。其中,测试工程师们也开始探索如何应用ChatGPT来加强测试工作。在本文中,我们将从测试工程师的角度出发,探讨ChatGPT在测试工作中的应用。通过ChatGPT,测试工程师可以快速进行人机对话,从而加速测试任务的执行。无......
  • 物联网开发利器:基于web的强大的可拖拽组态软件
    BY组态是一款功能强大的基于Web的可视化组态编辑器,采用标准HTML5技术,基于B/S架构进行开发,支持WEB端呈现,支持在浏览器端完成便捷的人机交互,简单的拖拽即可完成可视化页面的设计。可快速构建和部署可扩展的SCADA、HMI、仪表板或IIoT系统。使用BY组态编辑器,可以创建现代化、可视化、......
  • 解析纳米级测量仪器:窥探微观世界的利器
    纳米科技的迅猛发展将我们的视野拓展到了微观世界,而测量纳米级尺寸的物体和现象则成为了时下热门的研究领域。纳米级测量仪器作为一种重要的工具,扮演着重要的角色。那么,如何才能准确测量纳米级物体呢?在纳米级测量中,由于物体尺寸的相对较小,传统的测量仪器往往无法满足精确的要求。......
  • 现代打包工具:优化前端开发流程与性能的利器
    ......
  • JavaScript框架:构建交互性、现代化Web应用的利器
    ......
  • Node.js:构建高效、可扩展的后端应用的利器
    ......
  • 深入理解正则表达式:高效处理文本数据的利器
    ......
  • 岩土工程安全监测利器:振弦采集仪的发展
    岩土工程安全监测利器:振弦采集仪的发展岩土工程安全监测是保障建筑物、地下工程和地质环境安全稳定运行的重要手段。传统上,监测手段主要依靠人工巡视以及基础设施安装的传感器,但是这些方法都存在着缺陷。人工巡视存在的问题是数据采集精度低、数据量小、数据更新周期长,而传感器安装......
  • 深入解析 curl:掌握命令行的网络传输利器
    当我们使用curl进行网络请求时,了解如何有效地使用参数是非常重要的。curl提供了许多参数,用于控制请求的行为和配置。在这篇博客文章中,我们将详细解释一些常用的curl参数,帮助你更好地理解如何利用这个强大的工具。什么是curl?curl是一个命令行工具,用于发送和接收数据,通常用于......