最近在做网络协议隐藏,在网上看到了一篇论文基于IP包的信息隐藏技术,原理是把要发送的信息隐藏到报文的IP字段中,来实现信息隐藏,感觉思路新颖,隐蔽性较高,于是浅析后用python进行了实现
文末有项目地址
分析
- 如果改变报文中的目的IP,那么接收方将不能接收到报文,因此只能修改源IP
- 修改源IP的同时还需要考虑到要伪造的源IP是否合法,不合法的报文网关将不能成功转发(此处需要考虑的一是IP的基本格式,二是伪造的IP是否在自己的网段内),即使能发送成功也会容易被攻击者发现(即:如果源地址和目的地址都不在自己网段内的报文为什么会出现在自己的局域网中?)
- 接收方如何从大量报文中识别出隐藏信息的报文?接收方如何判断一段信息已经接收完毕?如果网络状况较差,接收方如何判断是否丢包以及报文中信息的排列顺序?
设计
发送方:
- 采用UDP协议。 原因有以下几点:
1)TCP通信需要建立连接,不适合用于短暂的隐蔽通信
2)在该方法中需要大量修改源IP,不适合使用TCP - 报文源IP的主机号段隐藏信息。 由于在本实验中发送者局域网的主机号占了最后一字节,所以可隐藏信息的长度有一字节(实际情况根据子网长度来选择&#x