IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> QEMU System环境 -> 正文阅读

[系统运维]QEMU System环境


文档:https://www.qemu.org/docs/master/

Wiki: https://wiki.qemu.org/Main_Page

Qemu Mips文档:https://www.qemu.org/docs/master/system/target-mips.html

1. 安装

本文以mips小端版本为例:

sudo apt install qemu-system-mipsel -y

然后下载mips的内核和镜像:

内核文件 vmlinux-2.6.32-5-4kc-malta
磁盘镜像 debian_squeeze_mips_standard.qcow2 

有两个地址:

  • https://people.debian.org/~aurel32/qemu/mips/, 开发人员使用;
  • http://ftp.debian.org/debian/dists/stable/main/installer-mipsel/current/images/malta/netboot/, debian的ftp,有临时根文件系统initd, 但没有提供磁盘镜像。

从第一个开发网站上下载即可。

启动虚拟机:

sudo qemu-system-mips -M malta -kernel vmlinux-2.6.32-5-4kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -nographic

登录root/root

2. 网络配置

宿主机安装网络依赖:

sudo apt-get install bridge-utils 
sudo apt-get install uml-utilities	# 提供tunctl工具

有一种修改/etc/network/interfaces的方法,容易失败,推荐brctl的方法。

# 创建网桥
sudo brctl addbr br0
sudo ifconfig br0 192.168.122.1/24 up

# 创建tap接口,名字为tap0,并添加到网桥
sudo tunctl -t tap0
sudo ifconfig tap0 192.168.122.11/24 up
sudo brctl addif br0 tap0

启动虚拟机:

sudo qemu-system-mips -M malta -kernel vmlinux-2.6.32-5-4kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -nographic  -netdev tap,id=tapnet,ifname=tap0,script=no -device rtl8139,netdev=tapnet


sudo qemu-system-mips -M malta -kernel vmlinux-2.6.32-5-4kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -net nic -net tap,ifname=tap0,script=no,downscript=no -nographic

# 输入root/root进入虚拟机,设置ip:
ifconfig eth0 192.168.122.12/24 up

网络通了之后,就可以把文件拷进去了:

$ scp -r squashfs-root/ root@192.168.122.12:/root/

关于tap网卡

普通的网卡一端连接物理链路,一端连接内核协议栈。当数据通过物理链路进来后,到达内核协议栈做进一步的处理:

  • 对于一些错误的数据包,协议栈可以选择丢弃;
  • 对于不属于本机的数据包,协议栈可以选择转发;
  • 对于属于本机的数据,协议栈就会通过Socket API告知上层正在等待的应用程序。

普通的物理网卡是通过物理链路来收发数据,而tun/tap 是通过/dev/net/tun来收发数据,一端连着/dev/net/tun,一端连着协议栈。

tap网卡主要是两部分组成:

  • 字符设备驱动:把数据写入/dev/net/tun,然后通知用户进程从/dev/net/tun里面拿数据实现数据交互
  • 虚拟网卡驱动:负责和网络协议栈的数据打交道

3. 其它使用方法

退出:ctrl+a, x。 不过配好网卡之后退出,居然就没法再启动了,,问题未解决。

4. 参考资料

mips-pwn环境搭建 | e3pem’s Blog

从一道mips题目学习搭建mips环境及ROP - 云+社区 - 腾讯云 (tencent.com)

mips-pwn环境搭建 | e3pem’s Blog

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 23:07:00  更:2022-04-07 23:07:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:58:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码