[英]find ip address of my system for a particular interface with shell script (bash)
[英]Shell script to find the IP address of an Virtual machine created by using KVM/virsh command
我正在尋找Shell腳本來查找使用KVM / VIRSH創建的虛擬機的IP地址。
我使用以下步驟將其獲取,但無法找到它。
2.使用Virsh list命令列出所有活動的VM
3.使用Virsh dumpxml域名並投影vm的xml
5,顯示每個虛擬機的硬件地址
現在,我想再增加一個步驟,例如使用“ arp -ne”為該特定硬件地址獲取IP地址。
我無法弄清楚如何添加零件。
誰能幫我這個忙。
for i in {1..150}
do
ping -c 1 -n -q -r -t 1 -s 1 -W 1 192.168.1.$i > /dev/null &
done
for name in `virsh list | grep running | awk '{ print $2 }'`
do
# printf "\n$name\n "
arp -e | grep "`virsh dumpxml $name | grep "mac address"|sed "s/.*'\(.*\)'.*/\1/g"`" |
awk '{ printf $1 ; printf " " ; printf $3 "\n" }'
done
當前輸出:
$ ./virshshell.sh
vm2 52:54:00:4b:7f:41
vm3 52:54:00:0e:4c:42
我期望的輸出是
$ ./virshshell.sh
vm2 52:54:00:4b:7f:41 192.*.*.*
vm3 52:54:00:0e:4c:42 192.*.*.*
使用nmap
進行網絡發現而不是ping
。 它不僅可以執行ping
功能,而且可以執行更多操作,而且運行速度更快,並且可以處理在for
循環中執行的網絡范圍掃描。
$ nmap -T5 -n -PE 192.168.4.0/24 > /dev/null
$ ip neigh show | grep 192.168.4 | grep -v FAILED
192.168.4.92 dev eth0 lladdr 54:52:00:90:90:92 REACHABLE
192.168.4.11 dev eth0 lladdr fa:16:3e:fa:ac:07 REACHABLE
192.168.4.91 dev eth0 lladdr 54:52:00:90:90:91 REACHABLE
192.168.4.90 dev eth0 lladdr 54:52:00:90:90:90 REACHABLE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.