记一次华为HG532固件模拟

本文详细描述了一次在Ubuntu22.04环境中对华为HG532固件进行模拟的实验过程,包括使用binwalk提取文件系统,创建网桥,配置虚拟网络,启动路由器,以及通过SSH登录并重新配置IP地址,最终实现对路由器管理界面的访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验环境

实验虚拟机:ubuntu22.04.01
模拟固件:HG532eV100R001C01B020_upgrade_packet.bin
镜像文件:debian_squeeze_mips_standard.qcow2和vmlinux-2.6.32-5-4kc-malta

固件模拟过程

从固件中提取出文件系统

使用binwalk从需要模拟的固件中提取出相应的文件系统

binwalk -Me HG532eV100R001C01B020_upgrade_packet.bin

在这里插入图片描述
命令执行完毕之后,我们发现当前目录下多了一个_HG532eV100R001C01B020_upgrade_packet.bin.extracted文件,里面存放了提取出来的文件系统以及其他的一些东西
在这里插入图片描述
squashfs-root目录相信大家都不陌生,里面一般存放的都是文件系统之类的文件。进去看下,确实如此。
在这里插入图片描述
到这里,文件系统的提取就完成了。

创建网桥

这里我们在_HG532eV100R001C01B020_upgrade_packet.bin.extracted文件价下创建一个start.sh文件(名字无所谓,主要是.sh可执行文件),放入如下代码
在这里插入图片描述

#!/bin/sh 
sudo brctl addbr virbr0
sudo ifconfig virbr0 192.168.181.55/24 up
sudo tunctl -t tap0
sudo ifconfig tap0 192.168.181.56/24 up
sudo brctl addif virbr0 tap0
sudo qemu-system-mips -M malta -kernel /home/iot/Desktop/qemu/vmlinux-2.6.32-5-4kc-malta -hda /home/iot/Desktop/qemu/debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0"  -netdev tap,id=tapnet,ifname=tap0,script=no -device rtl8139,netdev=tapnet -nographic

保存后,在当前文件下给.sh文件赋予可执行文件的权限,并执行。

注意:这里两个镜像文件的路径需要是绝对路径,否则会报错说找不到相应的文件。

使用一个可执行文件的目的在于不用每次都输入一大串的命令,只需要每次使用./执行该文件即可进行相应的配置。

chmod +x start.sh
./start.sh

在这里插入图片描述
在这里插入图片描述
运行到最后,会让我们输入相应的账号密码用于登录。(账号与密码均为root)

配置虚拟网络

查看此时路由器的网络配置环境,发现网卡没有配置相应的ip地址,需要我们手动配置一个。
在这里插入图片描述
输入如下命令进行网卡信息的配置:

ifconfig eth0 192.168.181.57
ifconfig eth0 192.168.181.57/24 up
ifconfig

首先是添加一个ip地址,接着启动该网卡,并查看启动情况。
在这里插入图片描述
查看与主机的通讯情况,可以看到此时已经可以和主机互相ping同,表示网卡工作正常。
在这里插入图片描述
到这里,网桥与虚拟网卡的配置就完成了,下一步就是启动我们的路由器。

启动路由器

将目标文件系统上传到虚拟机

查看当前的模拟界面,除了一些配置文件什么都没有
在这里插入图片描述
首先将我们之前提取出来的文件系统进行打包,之后上传到虚拟机中
解压。
使用如下命令:

 tar -czvf squashfs-root.tar squashfs-root/
 scp squashfs-root.tar root@192.168.181.57:/root/

执行文件挂载

在虚拟机中讲传过来的压缩包解压,输入一下命令进行文件挂载:

mount -o bind dev ./squashfs-root/dev
mount -t proc /proc ./squashfs-root/proc

这里还是推荐使用.sh文件进行命令的执行,创建一个build.sh文件,输入相应的命令:
在这里插入图片描述
将.sh文件传输到虚拟机中

scp build.sh root@192.168.181.57:/root/

回到虚拟机中,使用chmod将build.sh文件设置为可执行文件。
在这里插入图片描述
现在完事具备,只需要将build.sh文件执行即可。

使用ssh登录路由器并启动

这里不直接在虚拟机中登录虚拟机,而在主机上使用ssh登录虚拟机,原因在于虚拟机在启动路由器的过程中,会更改之前配置的ip地址,导致网页无法访问的情况。
在主机中登录虚拟机:
在这里插入图片描述
启动路由器:

./bin/upnp
./bin/mic

在这里插入图片描述
没有报错,表示设备模拟成功。
在这里插入图片描述

重新配置ip并登录网页

需要注意的是,此时设备的ip地址已经发生了更改,我们在虚拟机中使用ifconfig查看网卡状态,发现之前配置的ip地址没有了,这是由于有些设备在启动的过程中,会自动将之前的一些ip配置信息删除掉。因此,设备启动后,仍然需要手动配置一下ip。
在这里插入图片描述
在这里插入图片描述
现在路由器设备已经成功模拟出来了,可以通过web服务登录路由器管理界面。
访问192.168.181.57网址,可以看到显示有相应的登录界面。
在这里插入图片描述
用户名与密码均为user。登录进去之后可以查看相应的配置。
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值