目前想到两种办法:
我用 text2pcap
将 wireshark 捕获的报文( hex )部分修改后 转成 pcap 格式,再用 tcpreplay
将该报文重发。wireshark 能捕获到该重发的报文,但已经被认为是虚假重传,原因是包序列不对,原来的包已经被应答了。对计网了解得不是很深,暂时没有更进一步的解决方案
搭建一台 kali 主机,实现 ARP 攻击,冒充网关去嗅探流量并篡改报文。这个我觉得理论上是行得通的,而且还是实时篡改,但是对嗅探流量和串改报文工具这块,并且多年没有写 C 语言,所以不是很熟悉。有了解过 golang 的 gopacket,ARP 欺骗的 arpspoof
1
G65TMsqw3 2020-11-17 14:37:01 +08:00
libnet 库可以,旁路抓包
|
2
G65TMsqw3 2020-11-17 14:38:04 +08:00
tcp 的 ack/seq 等等数据需要自己重新计算,其他层的校验 libnet 已经做了
|
3
sujin190 2020-11-17 15:01:02 +08:00
iptables 重定向过来,先接收修改完了再发送出去就是了啊,这多简单
|
4
chaojijc 2020-11-17 15:33:31 +08:00
三楼正解
|
5
mingl0280 2020-11-17 15:36:26 +08:00 via Android
iptables 或者捕获库先把数据包拦截不发啊……不然你怎么攻击……
|
6
barathrum 2020-11-17 17:11:12 +08:00
虚假重传不是因为包序列不对,是已经被 ack 了。
|
7
faceRollingKB 2020-11-18 09:51:02 +08:00
想问下 https 报文被这样篡改的难度有多大?前端项目需要在多大程度上考虑这种篡改?
|
8
daimiaopeng 2020-11-18 10:32:47 +08:00
我之前刚好写了一个,python 版本的,接口简单,符合你要求,可以修改报文,缺点是不能修改报文的长度,不然会出现伪重传,想要了解的我可以上传到 github 。
|
9
julyclyde 2020-11-18 15:25:14 +08:00
|
10
sekfung OP @daimiaopeng #8 想了解一下,谢谢大佬
|
11
daimiaopeng 2020-11-19 14:22:30 +08:00
@sekfung python 库 pydivert ( 2.几的版本),c 库 divert ( 3.几的版本)我搞得有图形界面 https://github.com/daimiaopeng/divert
|