常用修改报文手段

使用linux tcprewrite

回放报文工具tcpreplay下面有个工具tcprewrite可以修改报文,可以修改报文2-4层头部信息,具体修改内容说明见
https://blog.csdn.net/ly_6118/article/details/86714477 tcprewrite详细说明
可以修改源目IP, 源目mac,端口号,校验和,修改vlan tag,填充pad等,功能很强大
优点:可以批量修改,快速便捷
缺点:不区分源目端口,只是根据端口号数值来修改,当源目端口相同时,批量修改会区分
使用方法:源文件packet.pcap

tcpprep -a client -i packet.pcap -o temp.cache 
tcpprep --cidr=192.168.0.0/16,10.0.0.0/8 -i test.pcap -o temp.cache

把报文分成client和server两部分,也可以按照ip,mac分,输出temp.cache

tcprewrite --enet-smac=00:1c:54:4e:aa:4a,00:0c:29:dc:cc:74 -c temp.cache -i test.pcap -o new.pcap

修改mac 输出new.pcap

tcprewrite --endpoints=1.1.1.1:20.0.0.2 -c temp.cache -i test.pcap -o new.pcap

修改ip

使用科莱数据包生成器

导入报文后,可以修改2-3层头部字段
在这里插入图片描述
单击点入就可以修改,自动修改校验和
在这里插入图片描述
优点:界面直观,修改方便
缺点:难以批量修改

使用wireshark

版本Wireshark_win64_V1.12.4
老版本的wireshark是可以修改报文,新版好像取消了这个功能,附下载链接
链接:https://pan.baidu.com/s/1l0EcBD7zStG6C7JtoZdWew
提取码:nt20

使用方法
打开编辑—>首选项
在这里插入图片描述
允许报文编辑
在这里插入图片描述
选中一个报文右击编辑报文
在这里插入图片描述
双击需要修改字段
修改ip,好像只能修改16进制字段
在这里插入图片描述
如下sip报文,可以之间修改sip报文里面数据内容,可以直接修改报文内注册号,ip和端口
在这里插入图片描述
优点:可以修改四层报文数据部分
缺点:不能批量修改,有的只能修改16进制

使用scapy工具

要想随心所欲修改报文,可以直接解构整个报文,通过scapy工具实现。
关于scapy工具介绍:
scapy可以仿造和解析大量协议类型的包,可以把包发到网上,或者捕捉包,可以match请求和回复。更强大的是它可以扫描路由器,扫描协议端口,攻击网络等等等等。
详见: http://blog.sina.com.cn/s/blog_5c92dd1f0102w2vf.html Scapy使用文档中文版 闲云逸心
具体实现方法简单介绍一下
读取报文rdpacp()

packet = rdpcap("/var/ftp/work/zhuabao/Packets6.pcap")

保存报文wrpcap()

wrpcap("/var/ftp/work/zhuabao/newPackets6.pcap",packet)

查看报文内容

扫描二维码关注公众号,回复: 12912319 查看本文章
print(packet[0].show())

print(packet[0].show())
###[ Ethernet ]###
dst = 00:1c:54:ce:6c:3f
src = 00:50:56:81:b2:88
type = IPv4
###[ IP ]###
version = 4
ihl = 5
tos = 0x0
len = 538
id = 0
flags = DF
frag = 0
ttl = 62
proto = udp
chksum = 0x9a67
src = 10.80.168.134
dst = 182.151.54.254
\options
###[ UDP ]###
sport = sip
dport = sip
len = 518
chksum = 0xeb9c
###[ Raw ]###
load = ‘REGISTER sip:[email protected]:5060 SIP/2.0\r\nVia: SIP/2.0/UDP 192.168.255.100:5060;rport;branch=z9hG4bK398785492\r\nRoute: sip:[email protected]:5060;lr\r\nFrom: sip:[email protected]:5060;tag=1334036886\r\nTo: sip:[email protected]:5060\r\nCall-ID: [email protected]\r\nCSeq: 1 REGISTER\r\nContact: sip:[email protected]:5060\r\nMax-Forwards: 70\r\nUser-Agent: SIP UAS V2.1.4.489436\r\nExpires: 3600\r\nContent-Length: 0\r\n\r\n’
None

修改报文内容
修改目的ip

pkt[IP].dst = "10.1.1.1"

修改源端口

pkt[UDP].sport = 5060

根据show出来的字段来修改,需要注意不同的字段类型不同,比如ip是str,端口是int
修改校验和

del pkt[UDP].chksum
del(pkt.chksum)

优点:可以修改任意字段
缺点:要对协议各个字段熟悉

猜你喜欢

转载自blog.csdn.net/ly_6118/article/details/105365913
今日推荐