用iptables实现一个特殊场景的路由转发

背景:

一个玩具(早教机器人)厂家因为跟比特币有点关联,难逃倒闭的厄运,厂家连带服务器全部关停,导致市场上有大量的早教机瘫痪了。笔者比较幸运,不是倒闭前买的早教机,是机缘巧合拿到了这么一台,研究了一番,看看有无起死回生的可能

过程:

拆机看了一眼,内部做工相当精巧,布局也很紧凑,不是一般的玩具厂商的手笔,倒闭了实在可惜。

通过app代码反编译+拆机,分析出来玩具的运动是通过蓝牙控制;视频是通过服务器转发;蓝牙容易搞定;视频转发有点难度,本文探索了路由器ip转发的原理,发现可行,记录如下:

目标:

假设玩具固件中写死的服务器ip是ip1, 新搭建的服务器是ip2;因为玩具的固件是改不了的(笔者尝试了,没有发现固件内明显的漏洞),那么目标就很明确,要把固件访问的ip1篡改成ip2,并且要把ip2返回的数据再正常转发给固件。

思路:

因为固件改不了,所以这个篡改过程只能在路由器上完成,用iptables的prerouting和postrouting应该很合适。

先贴个routing原理图

上图中左边箭头代表上行,也就是固件向服务器请求数据,prerouting发生在路由选择前,既然还没有路由选择,所以在这个阶段改目的地址就很合适了。

先交代下:

假设玩具固件中写死

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值