QEMU - user network

  • Documentation/Networking - QEMU
  • QEMU/KVM中的网络虚拟化--Part2 User Networking | Xiaoye Zheng's blog (zxxyy.github.io)
  • QEMU Network — ARM SoC Device Assignment Notes documentation (cwshu.github.io)
  • slirp / libslirp · GitLab
  • GitHub - virtualsquare/libvdeslirp: libslirp for Linux made easy peasy

1.架构

理解:

实际QEMU和Host OS是基于用户层的forward。

Host OS: 会采用Host OS上的tcp/ip stack。

QEMU: 会采用Guest OS上的tcp/ip stack和 QEMU的SLIRP network stack。

QEMU的网络后端 user - SLIRP 和 Host OS之间是通过socket来沟通,用的实际用户数据(不带任何header),两边分别有单独的连接。

2.数据流

3.实验

3.1 qemu编译

依赖的lib: libslirp-dev (实现SLIRP 网络协议栈)

apt install libslirp-dev

3.2 编译命令

configure --enable-slirp

3.3 启动qemu - 采用user network

-device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:22

启动后在monitor中查看网络情况 - 可以看到网络前后端的信息。

注意:-monitor stdio 和 -nographic 不能同时用,否则,会报如下错误。

3.4 Guest os网卡配置

guest os启动后可能网卡没有自动配网,需要手动配网。-- 可能需要开启dhcp client。

理论上,guest os会通过dhcp client和SLIRP上的dhcp server沟通,自动配置guest os的网卡。

3.5 在host上用ssh登录Guest os

ssh localhost -p 5555

1. Host OS

用的host的 localhost ip 和 host OS的tcpip stack。

可以看出 tcp连接是建立成功的,后面由于guest os/SLIRP上ssh不支持,SLIRP就断开guest和host的tcp连接了。

2. Guest OS

Guest OS tcpip stack 和 SLIRP tcpip stack沟通。

可以看出guest上没有支持sshd,所有该ssh的tcp连接没有成功。

apt install openssh-server

4. user网络后端代码

 

 可能slirp guest的backend 没有启动成功,导致 guest os网卡配置不起来 --- 一直link down状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/414068.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中排序算法之选择排序

选择排序算法是对《Python中排序算法之冒泡排序》中提到的冒泡排序算法的改进。 1 选择排序原理 选择排序是在参加排序的所有元素中找到数值最小(或最大)的元素,如果它不是左侧第一个元素,就使它与左侧第一个元素中的数据相互交…

Mysql8利用binlog实现数据恢复

文章目录 1binlog基本概念2 binlog相关常用命令3 binlog工具mysqlbinlog4 测试数据准备&导入数据5 模拟误删表6 数据恢复方式说明7 数据恢复分析(偏移量方式恢复)8 数据恢复9 验证10 数据恢复的局限性11 总结 1binlog基本概念 binlog即binary log,二进制日志文件…

Python爬虫02

xml 和html 区别 jsonpath模块 场景 多层嵌套的复杂字典直接提取数据 安装 pip install jsonpath使用 from jsonpath import jsonpathret jsonpath(dict, jaonpath语法规则字符串)语法规则 eg:

基于PHP评论区的存储型XSS漏洞

评论区的XSS漏洞是指攻击者在评论区输入恶意脚本,当其他用户浏览该页面时,这些恶意脚本会被执行,从而造成安全威胁。这种漏洞通常出现在网站没有对用户输入进行充分过滤和转义的情况下,为存储型XSS。存储型XSS攻击是指攻击者在目标…

使用 EasyExcel 高效读取大文件 Excel

使用 EasyExcel 高效读取大文件 Excel 的最佳实践 在现代应用中,数据处理经常涉及到大规模数据集的处理,Excel 作为一种常见的文件格式,经常用于数据导入和导出。然而,传统的 Excel 处理库如 Apache POI 在处理大文件时可能会面临…

实战项目:俄罗斯方块(一)

文章目录 🍊自我介绍🍊vt100 控制码1.概述2.数字格式①常用数字控制码②常用控制码 🍊绘制方格 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一键四连)哦~ 🍊自我…

关于VUE3开发频繁引入ref,reactive,computed等基础函数。

利用unplugin-auto-import插件可以避免频繁引入ref,reactive,computed等基础函数。 1.安装unplugin-auto-import依赖 npm i -D unplugin-auto-import 2.在vite.config.ts中注入依赖 效果

Webfunny前端监控如何搭建高并发使用场景

Webfunny可以支持千万级别PV的日活量了。但是,我们默认的部署配置,是无法支持这么高的日活量的,需要我们做一些支持高并发的配置和操作,下面让我们一起看下如何让webfunny支持更高的并发量吧,下图为webfunny高并发架构…

AI安全前沿:模型攻击与防御策略

引言 随着chatGPT的横空出世,通用人工智能的时代正式开启。人工智能极大地影响了人类的生活方式和生产方式,例如以ChatGPT为代表的各类大模型,能够理解和生成人类语言,并以对话的方式同人类进行互动,能够执行撰写文本…

Hot Chips 2024:博通(Broadcom)展示AI计算ASIC的光学连接

引言 在2024年的Hot Chips会议上,博通展示了其最新的AI计算专用集成电路(ASIC),这款ASIC集成了光学连接技术。这一展示不仅体现了博通在定制AI加速器领域的领先地位,也预示着未来数据中心网络技术的一个重要发展方向。…

重塑视频监控体验:WebRTC技术如何赋能智慧工厂视频高效管理场景

视频汇聚EasyCVR视频监控平台,作为一款智能视频监控综合管理平台,凭借其强大的视频融合汇聚能力和灵活的视频能力,在各行各业的应用中发挥着越来越重要的作用。 EasyCVR平台不仅兼容多种主流标准协议及私有协议/SDK的接入(如&…

qt实现三原色滑动条变色

在qt中有这样一个控件: 就是这个Horizontal Slider他的作用相信大家都知道了,也就是通过滑动来改变数值。今天我们就使用这个控件实现一个三原色滑动变色。 实现效果: 1.创建UI界面 这个就不用多说了,这个大家就按照我的这个去…

Python虚拟环境创建和使用总结

参考: venv --- 虚拟环境的创建 — Python 3.12.5 文档 【Python进阶】Python虚拟环境使用全方位指南:从零开始轻松实践 - 知乎 (zhihu.com) Python 如何删除使用 venv 创建的 Python3 虚拟环境|极客教程 (geek-docs.com) 我们知道,python程序…

【C/C++】C++类与对象基本概念(抽象封装、类的定义与使用、构造函数、析构函数、静态成员、友元)

目录 七、类与对象基本概念7.1 抽象7.2 类的定义与声明7.3 访问控制7.4 类的实现与使用7.5 对象指针、this指针与对象引用7.6 构造函数7.7 析构函数7.8 拷贝构造函数7.9 类类型作为函数参数7.10 对象数组7.11 静态成员7.12 常对象与常成员(const)7.13 友…

讲个SystemVerilog disable语句的坑

前言 记录个使用SystemVerilog disable语句时遇到的坑,这个坑有点反直觉,以至于我当时有点不信,觉得可能是EDA仿真工具的问题。后来查看了SystemVerilog手册和使用不同EDA工具进行验证,才慢慢接受了。结论是:SystemVe…

ctfshow之web58~web71

目录 web58 思路一: 思路二: 思路三: web59~web65 web66~web67 web68~web70 web71 web58 if(isset($_POST[c])){$c $_POST[c];eval($c); }else{highlight_file(__FILE__); } PHP eval() 函数介绍 定义和用法 eval() 函数把字符串按…

新型蜜罐有哪些?未来方向如何?

前言:技术发展为时代带来变革,同时技术创新性对蜜罐产生推动力。 一、新型蜜罐的诞生 技术发展为时代带来变革,同时技术创新性对蜜罐产生推动力,通过借鉴不同技术思想、方法,与其它技术结合形成优势互补,…

python内置模块time详解(我们需要了解的多种时间格式)

Python的time模块提供了各种与时间相关的函数。我们可以获取当前时间、操作时间日期、计算两个时间差等。 时间有两种标准表示法: 数字表示: 整数或浮点数,通常是自从1970年1月1日以来的秒数。9个整数组成的元组:元组项包含年份,月份&#…

Diffusion 模型生成图片太慢了?用 AE(AutoEncoder) 和 VAE 加速一波!

Diffusion 模型生成图片太慢了?用 AE(AutoEncoder) 和 VAE(Variational AutoEncoder) 压缩图片加速一波! 本文分为两个部分:理论学习和代码实践。 先预览一下 AE 和 VAE 模型的效果: 理论学习 本文价值 Diffusion 模型生成图片的效…

图像识别智能垃圾桶项目开发--语音命令识别垃圾

一、项目思维导图 二、语音模块配置信息 三、项目程序 main.c garbage.c garbage.h uartTool.c //串口发送数据 uartTool.h