Qemu虚拟机读取物理机的物理网卡的流量信息方法
项目背景:
比如我有三个项目 A,B,C;其中A项目部署在物理机上,B,C项目部署在 虚拟机V1,V2中,三个项目接口需要相互调用。
需要解决的问题点:
1,因为A,B,C项目接口相互调用,所以调用的地址需要静态不变的
2,B,C项目需要读取物理机的物理网卡的镜像流量信息
解决思路:
1,B,C使用主机模式创建虚拟机部署,这样虚拟机和物理机都是在同一个网段,且物理机和虚拟机的ip都是固定的
2,因为B,C需要读取物理网卡的流量信息,之前采用网桥模式,把虚拟机和物理机的物理网卡绑定在同一个网桥上,经过测试,如果pcap包在物理机上向网桥回放流量包信息是虚拟机可以收到流量,但是向物理网卡回放镜像流量包,虚拟机无法读取向物理网卡回放的流量信息。所以这种方法就废弃了,采用passthrough的方法,将物理机的物理网卡绑定到虚拟机上,这样,无论是通过交换机或者其他硬件设备向物理机的物理网卡发送流量信息,虚拟机的虚拟网卡都可以收到流量信息。
使用前需要安装软件 见博客虚拟机软件安装
步骤
1 开启物理机的虚拟机化(passthrough支持)
1.1 /etc/default/grub 配置
vi /etc/default/grub
文件添加 intel_iommu=on iommu=pt
位置如下

1.2 激活配置
-
查看服务器 启动是UEFI启动还是BIOS启动,命令如下
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS -
查看系统系统启动方式
如果是UEFI启动 执行命令 grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
如果是BIOS 启动 执行命令 grub2-mkconfig -o /etc/grub2.cfg -
重启服务器
reboot -
是否生效
cat /proc/cmdline

2 操作系统配置
2.1 开启操作系统ip forward转发
1)配置
vi /etc/sysctl.conf
增加一行 net.ipv4.ip_forward=1
2)激活配置
sysctl -p /etc/sysctl.conf
3 Nat网络配置
3.1 删除系统默认安装的default网桥
virsh net-destroy default
virsh net-undefine default
3.2 default.xml (文件已提供)拷贝到 /etc/libvirt/qemu/networks/目录下
cp default.xml /etc/libvirt/qemu/networks/
default.xml内容如下
<network><name>default</name><uuid>37268901-d790-4304-b5b8-2a236c16d756</uuid><forward mode='nat'><nat><port start='1024' end='65535'/></nat></forward><bridge name='virbr0' stp='on' delay='0'/><mac address='52:54:00:b3:3d:df'/><ip address='96.66.23.2' netmask='255.255.255.0'><dhcp><range start='96.66.23.3' end='96.66.23.254'/></dhcp></ip>
</network>
3.3 定义并启动default网络
virsh net-define /etc/libvirt/qemu/networks/default.xml
virsh net-start default
virsh net-autostart default
3.4 查看配置状态
virsh net-list

4 虚拟机安装
见我的博客虚拟机安装
注意:创建虚拟机使用下面的命令,不要指定网桥了(去掉–network bridge:br0)
virt-install --virt-type kvm --name Ai --ram 8024 --vcpus 8 --cdrom=/home/iso/CentOS-7-x86_64-DVD-1810.iso --disk path=/home/data/Ai.qcow2 --console pty,target_type=serial --graphics vnc,listen=0.0.0.0 --os-type=Linux --noautoconsole
5 虚物理网卡绑定
将物理机的某一个空余物理网卡分给虚拟机独享(重点)
a) 查看虚拟机可用的物理网卡
virsh nodedev-list

b) 使用物理网卡enp7s0 取出 parent标签 pci_0000_07_00_0

c) 编辑创建的虚拟机 Ai.xml文件
vi /etc/libvirt/qemu/Ai.xml
子标签里面 添加内容为
解释:
取b步骤中的pci_0000_07_00_0
对进行修改,domain中的都是16进制,其中b步骤也是16进制的,所以不需要转换,直接将相应的数据放入指定的位置即可
6 修改虚拟机的网卡ip
修改虚拟机的ip 在其中的网段
96.66.23.3-96.66.23.254
7 测试
方法1 通过网线直连,将一台机器的物理网卡直连这台机器配置物理网卡的网口,然后向物理网卡回放流量包
#enp3s0 与虚拟机绑定物理网卡enp7s0 直连tcpreplay -i enp3s0 -l 10000 -M50 http_192.168.36.163_10W.pcap
方法2 直接把回放包放到虚拟机中,直接发送流量信息
tcpreplay -i eth1 -l 10000 -M50 http_192.168.36.163_10W.pcap
相关文章:
Qemu虚拟机读取物理机的物理网卡的流量信息方法
项目背景: 比如我有三个项目 A,B,C;其中A项目部署在物理机上,B,C项目部署在 虚拟机V1,V2中,三个项目接口需要相互调用。 需要解决的问题点: 1,因为A,B&#x…...
面试题之vue的响应式
文章目录前言一、响应式是什么?二、Object.defineProperty二、简单模拟vue三、深度监听四、监听数组总结前言 为了应对面试而进行的学习记录,可能不够有深度甚至有错误,还请各位谅解,并不吝赐教,共同进步。 一、响应式…...
聚焦弹性问题,杭州铭师堂的 Serverless 之路
作者:王彬、朱磊、史明伟 得益于互联网的发展,知识的传播有了新的载体,使用在线学习平台的学生规模逐年增长,越来越多学生在线上获取和使用学习资源,其中教育科技企业是比较独特的存在,他们担当的不仅仅是…...
NDK RTMP直播客户端二
在之前完成的实战项目【FFmpeg音视频播放器】属于拉流范畴,接下来将完成推流工作,通过RTMP实现推流,即直播客户端。简单的说,就是将手机采集的音频数据和视频数据,推到服务器端。 接下来的RTMP直播客户端系列ÿ…...
Python3--垃圾回收机制
一、概述 Python 内部采用 引用计数法,为每个对象维护引用次数,并据此回收不在需要的垃圾对象。由于引用计数法存在重大缺陷,循环引用时由内存泄露风险,因此Python还采用 标记清除法 来回收在循环引用的垃圾对象。此外,…...
C/C++开发,认识opencv各模块
目录 一、opencv模块总述 二、opencv主要模块 2.1 opencv安装路径及内容 2.2 opencv模块头文件说明 2.3 成熟OpenCV主要模块 2.4 社区支持的opencv_contrib扩展主要模块 2.5 关于库文件的引用 一、opencv模块总述 opencv的主要能力在于图像处理,尤其是针对二维图…...
【WLSM、FDM状态估计】电力系统状态估计研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
准备2023(2024)蓝桥杯
前缀和 一维前缀和 s[i]s[i-1]a[i]二维前缀和(子矩阵的和) s[i][j]s[i-1][j]s[i][j-1]-s[i-1][j-1]a[i][j] 差分 一维数组 //b是差分数组b[i]c;b[j1]-c;例题 #include<iostream> using namespace std; int n,m; int b[100002],a[100002]; vo…...
剑指 Offer 60. n个骰子的点数
剑指 Offer 60. n个骰子的点数 难度:middle\color{orange}{middle}middle 题目描述 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 你需要用一个浮点数数组返回答案,其中第 i 个…...
阿里巴巴-淘宝搜索排序算法学习
模型效能:模型结构优化 模型效能:减枝 FLOPS:每秒浮点运算的次数 模型效能:量化 基于统计阈值限定,基于学习阈值限定。 平台效能:一站式DL训练平台 平台效能:搜索模型的系统流程 协同关系…...
〖Python网络爬虫实战⑮〗- pyquery的使用
订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费…...
SQL综合查询下
SQL综合查询下 目录SQL综合查询下18、查询所有人都选修了的课程号与课程名题目代码题解19、SQL查询:查询没有参加选课的学生。题目代码20、SQL查询:统计各门课程选修人数,要求输出课程代号,课程名,有成绩人数ÿ…...
全连接层FC
lenet结构: 输入层(Input Layer):接收手写数字的图像数据,通常是28x28的灰度图像。 卷积层1(Convolutional Layer 1):对输入图像进行卷积操作,提取低级别的特征,使用 6 个大小为 5x5 的卷积核进行卷积,得到 6 个输出特征图,激活函数为 Sigmoid。 平均池化层1(Aver…...
图的遍历及连通性
文章目录 图的遍历及连通性程序设计程序分析图的遍历及连通性 【问题描述】 根据输入的图的邻接矩阵A,判断此图的连通分量的个数。 【输入形式】 第一行为图的结点个数n,之后的n行为邻接矩阵的内容,每行n个数表示。其中A[i][j]=1表示两个结点邻接,而A[i][j]=0表示两个结点无…...
DJ3-4 实时调度
目录 3.4.1 实现实时调度的基本条件 1. 提供必要的信息 2. 系统的处理能力强 3. 采用抢占式调度机制 4. 具有快速切换机制 3.4.2 实时调度算法的分类 1. 非抢占式调度算法 2. 抢占式调度算法 3.4.3 常用的几种实时调度算法 1. 最早截止时间优先 EDF(Ea…...
Oracle之PL/SQL游标练习题(三)
游标练习题目1、定义游标:列出每个员工的姓名部门名称并编程显示第10个到第20个记录2、定义游标:从雇员表中显示工资大于3000的记录,只要姓名、部门编号和工资,编程显示其中的奇数记录3、用游标显示所有部门编号与名称,…...
docker运行服务端性能监控系统Prometheus和数据分析系统Grafana
文章目录一、Prometheus的安装和运行1、使用docker拉取镜像2、创建prometheus.yml文件3、启动容器4、查看启动是否成功5、记录安装过程中出现的错误二、Grafana的安装和运行1、使用docker拉取镜像2、创建grafana3、运行grafana4、查看grafana运行日志5、登录grafana一、Prometh…...
【Linux】【应用层】多线程编程
一、线程创建 Linux 中的 pthread_create() 函数用来创建线程,它声明在<pthread.h>头文件中,语法格式如下: int pthread_create(pthread_t *thread,const pthread_attr_t *attr,void *(*start_routine) (void *),void *arg);各个参数…...
GameFramework 框架详解之 如何接入热更框架HybridCLR
一.前言 HybridCLR是一个特性完整、零成本、高性能、低内存的近乎完美的c#热更新方案 GameFramework是一个非常出色完整的基于Unity引擎的游戏框架,里面包含了非常多的模块,封装非常完整。 以前市面上的热更大多数都是Lua为主,后来出了一个ILRuntime的C#热更框架,虽然性能…...
全国青少年软件编程(Scratch)等级考试二级考试真题2023年3月——持续更新.....
一、单选题(共25题,共50分) 1. 小猫的程序如图所示,积木块的颜色与球的颜色一致。点击绿旗执行程序后,下列说法正确的是?( ) A.小猫一直在左右移动,嘴里一直说着“抓到了”。 B.小猫会碰到球,然后停止。 C.小猫一直在左右移动,嘴里一直说着“别跑” D.小猫会碰到球,…...
GenAIScript:用脚本化AI工作流提升代码生成效率与工程化实践
1. 项目概述:当AI遇上代码生成,GenAIScript带来了什么?如果你最近在关注AI如何改变开发工作流,特别是微软在AI领域的动作,那么microsoft/genaiscript这个项目绝对值得你花时间深入研究。这不仅仅是一个简单的代码生成工…...
【VLM】Gated Attention, Gated DeltaNet
Gated Attention 和 Gated DeltaNet 是近期在长文本大模型(特别是探索 O(N)O(N)O(N) 线性复杂度的高效序列模型)中非常核心的架构创新。它们分别解决了传统 Transformer 在扩展上下文时面临的注意力坍缩(Attention Sinks)和线性注…...
Vigil与其他监控工具集成:构建全方位监控体系的3种方案
Vigil与其他监控工具集成:构建全方位监控体系的3种方案 【免费下载链接】vigil 🚦 Microservices Status Page. Monitors a distributed infrastructure and sends alerts (Slack, SMS, etc.). 项目地址: https://gitcode.com/gh_mirrors/vig/vigil …...
从 SU01 到 SAP HANA,DBMS 用户管理里的 SSO 选项到底在管什么
项目里讨论 SSO 时,大家很容易把它想成一个单点登录按钮,好像在某处勾选一下,用户就能从 SAP GUI、Fiori、报表工具一路无感访问到数据库。到了 SAP NetWeaver AS 和 SAP HANA 组合的系统里,这个理解会带来不少误会。因为从 ABAP 侧维护 DBMS 用户的 SSO 选项,只是在用户主…...
录音转文字在线版有哪些?这几款免费录音转文字在线工具怎么选?
很多人做录音转文字的时候默认用专业级的转录服务,其实像提词匠这样的轻量工具已经够用了。特别是如果你只是偶尔需要把会议录音、课堂笔记、视频素材转成文字,不必非要上手深度学习复杂的专业软件。下面我梳理了目前市面上主流的录音转文字在线版工具,既有微信小程序也有网页版…...
从零搭建CFD-DEM耦合环境:OpenFOAM与PFC3D在WSL2下的实战部署指南
1. 环境准备:WSL2与Ubuntu基础配置 第一次接触CFD-DEM耦合仿真的同学,建议从Windows系统起步。微软的WSL2(Windows Subsystem for Linux)现在已经能完美支持Ubuntu环境,实测比虚拟机流畅得多。我去年在联想小新Pro16上…...
矿用防爆监控哪家更值得选择
导读:矿用防爆监控是保障煤矿等高危工业场景安全的重要设备,其性能和可靠性直接关系到生产安全。在众多品牌中,如何选择一款优质的矿用防爆监控产品成为了许多企业的关注焦点。本文将从多个维度对矿用防爆监控进行深度解析,并推荐…...
092、Python在芯片验证中的应用:从脚本小子到验证架构师
092、Python在芯片验证中的应用:从脚本小子到验证架构师 一、那个凌晨三点的调试现场 上周三凌晨三点,实验室的空调嗡嗡作响。面前的屏幕上,UVM验证环境跑了八小时,终于在随机测试第237次迭代时触发了那个诡异的时序违例。日志文件12GB,波形文件更是高达80GB。手动分析?…...
7步轻松完成PostgreSQL云服务迁移:从自建到PaaS的平滑过渡指南
7步轻松完成PostgreSQL云服务迁移:从自建到PaaS的平滑过渡指南 【免费下载链接】awesome-postgres A curated list of awesome PostgreSQL software, libraries, tools and resources, inspired by awesome-mysql 项目地址: https://gitcode.com/gh_mirrors/aw/aw…...
告别重装系统!在Ubuntu 22.04上从零到一搞定ROS2 Humble(附小乌龟测试)
告别重装系统!在Ubuntu 22.04上从零到一搞定ROS2 Humble(附小乌龟测试) 每次看到论坛里"ROS2请用Ubuntu 20.04"的推荐,我都忍不住想:难道新系统就注定与机器人开发无缘?去年我将工作站升级到22.0…...
