1、修改报文IP到同一指定值

tcpprep -p --pcap=input.pcap --cachefile=output.cache

tcprewrite -i input.pcap -o output.pcap --cachefile=ouput.cache -e 1.1.1.1:2.2.2.2

批量处理shell脚本:

#!/bin/sh

myFile=/root/IP_connect.txt

file_path=/root/pcap_file

cat $myFile | while read line

do

echo $line

m=`echo $line |awk '{print $1}'`

n=`echo $line |awk '{print $2}'`

f=`echo $line |awk '{print $3}'`

cd $file_path

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

sleep 1

tcprewrite -i succ_change.pcap -o $f --cachefile=test_cache.cache -e $m:$n

sleep 1

mv $f $file_path/pcap/

sleep 1

cd $file_path

rm -rf test_cache.cache

sleep 3

echo "finished!"

done

2、修改端口到指定端口,不区分源、目的

tcprewrite --portmap=53:54 --infile=input.pcap --outfile=output.pcap

3、随机生成指定数量的IP

tcprewrite --seed=200 --infile=input.pcap --outfile=output.pcap

4、修改源IP到指定段

tcprewrite --srcipmap=172.16.0.0/12:10.1.0.0/24 --infile=input.pcap --outfile=output.pcap

【参数选项】详解:

-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 地址,该选项只能出现一次。随机化的地址仍然保持客户端/服务器之间的关系。

-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 选项混合使用。

-D string, --dstipmap=string

改写 IPv4/v6 目的地址,该选项只能出现一次, 该选项不能同 pnat 选项联合使用。

-e string, --endpoints=string

点对点修改IP地址,该选项只能出现一次,将pcap文件中的所有客户端、服务器都改成这一对IP地址。该选项必须跟 --cachefile 选项联合使用。

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的整数。

--mtu-trunc

截取报文到指定的MTU,该选项只能出现一次。跟 --fixlen 类似,该选项丢弃数据包中长于MTU的部分。

-E, --efcs

丢弃位于报文尾部的 Ethernet checksums (FCS) 部分。并不检查FCS是否真正存在,必须在确保你的系统在读raw报文时候提供 FCS 时候才用该选项。

--ttl=string

修改IPv4/v6 TTL。

示例:

--ttl=10

--ttl=+7

--ttl=-64

--tos=number

修改 IPv4 TOS/DiffServ/ECN 位,该选项只能出现一次。该选项参数为 0-255 的整数。

--tclass=number

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

--flowlabel=number

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

-F string, --fixlen=string

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

pad:补全截断的报文

trunc:重写IPv4头部长度来匹配实际报文长度。

del: 删除报文

--skipl2broadcast

跳过修改广播、组播二层地址。该选项会保持广播、组播MAC地址不变。

--dlt=string

修改的输出的 LDT 封装,该选项只能出现一次。改变输出报文的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 值,该选项只能出现一次,该选项参数为整数。通常情况下该值为 0, 你可以给这个域制定 1 字节的数值。

--hdlc-address=number

指定 HDLC 地址,该选项只能出现一次,该选项参数为整数。有 1 字节的地址,可以设置数值:

0x0F:Unicast

0xBF:Broadcast

--user-dlt=number

设置输出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

-i string, --infile=string

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

-o string, --outfile=string

输出 pcap 文件,该选项只能出现一次。

-c string, --cachefile=string

通过tcpprep的cache文件划分流量,该选项只能出现一次。

pcap封包修改服务器数据,tcprewrite批量修改pcap数据报文相关推荐

  1. Windows批量修改服务器密码,expect批量修改linux服务器密码

    expect批量修改linux服务器密码 内容精选 换一换 批量修改弹性云服务器信息.当前仅支持批量修改云服务器名称,一次最多可以修改1000台.PUT /v1/{project_id}/clouds ...

  2. 域用户如何批量修改服务器时间,如何批量修改word中的域

    Sub FieldsToPictures() Application.ScreenUpdating = False   '关闭屏幕刷新 Dim aField As Field, aStart& ...

  3. php 批量修改表格数据,PHP批量修改数据库表前缀教程+代码

    有时候需要批量修改数据库表前缀,最简单的方法就是一个表一个表的手动修改,但是非常浪费时间.这里为大家分享一段自用的利用PHP批量修改数据库表前缀的方法,亲测可用,下面上代码. PHP修改表前缀代码&l ...

  4. excel导入mysql并批量查询_EXCEL批量导入到Sqlserver数据库并进行两表间数据的批量修改...

    Excel 大量数据导入到sqlserver生成临时表并将临时表某字段的数据批量更新的原表中的某个字段 1:首先要对EXCEL进行处理 列名改成英文,不要有多余的列和行(通过ctrl+shift 左或 ...

  5. 实现对easyui-datagrid的数据行批量修改(包括修改内容和删除)

    先上一个easyui-datagrid的数据. 而我们要实现的功能是1.对三条记录进行批量的删除和批量的修改状态. 1.批量的删除 我们选择传入三条记录的id值,并利用service层的deleteB ...

  6. 批量修改图片名及批量进行图像数据预处理

    1.批量修改文件名:首先声明所有图片所在的文件夹路径GOOD_dirpath,然后用os库的listdir函数遍历,再用rename方法进行改名,如下: num=1 #图片序号 for img_nam ...

  7. tcprewrite批量修改报文ip地址一

    简单的说,tcpreplay是一种pcap包的重放工具, 它可以将用ethreal, wireshark工具抓下来的包原样或经过任意修改后重放回去. 它允许你对报文做任意的修改(主要是指对2层, 3层 ...

  8. mysql update 批量修改数据_MySQL 中实现数据的批量修改

    今天遇到一个数据的批量更新,查了一下官方文档,还好找到了.英文东东,大家耐心哈 http://dev.mysql.com/doc/refman/5.7/en/update.html 一般在使用数据编辑 ...

  9. 服务器mac地址查询修改,服务器mac地址查询修改

    服务器mac地址查询修改 内容精选 换一换 OBS Browser+是一款用于访问和管理对象存储服务的图形化工具,支持通过配置内网DNS服务器地址的方式,使在华为云上的Windows ECS通过内网直 ...

最新文章

  1. Java笔试题二:读程序
  2. 项目视频光盘项目中所学概览-html5+批处理+bat转exe
  3. 为创世纪图书馆(Library Genesis)作镜像
  4. html显示本地磁盘 图片,手把手教你为本地磁盘增添背景图片(图解)
  5. springboot_4 spring boot 使用servlet,filter,listener和interceptor
  6. 【Git】将 GitHub 工程设置为私有库 ( 登录账号 | 工程主页 | Settings | Danger Zone | Change visibility | Make private )
  7. 中国K12在线教育市场调研及用户消费行为报告
  8. 利用OpenCV抠图技术实现影视中“隐身”特效
  9. 自驾游你会经常自己做饭吗?
  10. tranmac不能识别_U盘插入苹果mac系统不能识别的解决方法
  11. 玩转CSS盒子之 三角形盒子
  12. 初学python-练习_4使用python编写本地登录程序(带注册)
  13. ETL调优的一些分享
  14. 数电-汽车尾灯控制电路设计
  15. 荣耀手机动态修改imei信息
  16. GGSN与SGSN简介
  17. 关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案
  18. (,)的用法逗号表达式
  19. IOT语义互操作性之标准与开源
  20. 主板开启网络唤醒_远程开机_网络唤醒设置方法 (WOL, Wake on Lan)

热门文章

  1. 30 秒裁剪的很大一部分作用是观察什么对别人是重要的
  2. 基于node的登入例子(node-koa-mongoose)
  3. 跨域调用webapi web端跨域调用webapi
  4. 【挨踢人物传】tao61:做一个许三多式的IT攻城狮(第2期)
  5. 《java程序设计》结对编程-四则运算整体总结
  6. 代码审计中的SQL注入
  7. SQL Server元数据损坏(metadata corruption)修复
  8. LeetCode 257. Binary Tree Paths (二叉树路径)
  9. 使用线程池应该注意的问题
  10. NSArray 所有基础点示例