虚拟机和宿主机怎么关联
来源:5-15 kvm物理机资产探测扫描--通过kvm宿主机关联虚拟机的方式
qq_我们要去大草原的湖边_0
2021-07-02
虚拟机的mac地址能获取到,宿主机上的虚拟机mac地址列表也能获取到。但是就是不知道这个关系要怎么对应,下面我写了我的伪代码
循环整个网段并登陆判断是否有kvm的进程
physical_list = []
virtual_list = []
if "ps -ef | grep kvm":
如果有这个进程肯定是宿主机,然后就获取到宿主机里面的虚拟机mac地址列表
physical_list.append({物理机IP: 虚拟机mac列表})
else:
没有这个进程肯定就是虚拟机,然后获取虚拟机的mac地址
virtual_list.append({虚拟机IP: 虚拟机mac地址})
我这样获取整个网段登陆一次,最后获取到的physical_list,virtual_list这两个列表关系太复杂,对比起来不容易。要不然就得整个网段登陆两次获取到关系。有没有整个网段就登陆一次,就可以把关系对应好的方法?或者有其他更好的思路
写回答
2回答
-
刀O_o叉
2021-08-20
from scapy.all import srp, Ether, ARP network = "xx.xx.xx.xx/24" def scan(self): try: ans,unans = srp(Ether(dst="FF:FF:FF:FF:FF:FF")/ARP(pdst=network), timeout=2) except Exception as e: print(e) else: ip = [] mac = [] for send, rcv in ans: ip.append(rcv.sprintf("%ARP.psrc%")) mac.append(rcv.sprintf("%Ether.src%")) host = dict(zip(mac, ip)) return host if __name__ == "__main__": print(scan())
直接扫网段IP就可以了
00 -
Jeson
2021-07-08
如果登录一次只能获取到主机信息,获取不到硬件主机和虚拟机关系
00
相似问题