天天看点

利用PCAP实现网络数据截获修改(三)

前面我们实现了数据网卡到网卡的复制,学习了如何计算TCP和UDP的报文校验和,接下来就准备实现数据包的修改传输,本次我所做的数据修改,其实是加密解密的软件实现。

简单的示意图如下,反之亦然,没有在图中画出

利用PCAP实现网络数据截获修改(三)

大致意思就是,主机A与主机B的交互数据,在经过一个网口之后,在中间的传输过程中是加密的,在单一的传输方向上,我们需要建立两次报文复制,网口1到网口2,报文进行加密,然后复制,网口3到网口4,报文进行解密再复制。

下面说一下简单数据算法,我们只对tcp或者udp报头之后的数据进行加密或者解密,为了简单起见,而且不改变原有数据长度,我们就采用了两次异或,结果不变的原理,针对数据进行一次异或,作为加密,再次异或,作为解密。实现了数据的快速简单加解密。

加密之前的数据,以modbus传输做例子

利用PCAP实现网络数据截获修改(三)

加密之后的数据

利用PCAP实现网络数据截获修改(三)

无法识别为modbus数据了,因为关键的协议特征字段已经没有了,并且是黑色,表示校验失败。

然后我们通过利用之前的学习到的计算校验的方法,进行了校验码的修改,得到了完美的加密数据

利用PCAP实现网络数据截获修改(三)

继续阅读