Uruchamiam moją instancję Ubuntu poza Virtual Box w tle za pomocą następującego polecenia:
VBoxManage startvm ${VM_NAME} --type headless
Główną różnicą między tym a uruchomieniem go przez GUI jest to, że kiedy jestem w GUI po uruchomieniu, mogę sprawdzić, ifconfig
jaki jest adres IP, dzięki czemu mogę wejść ssh
do niego z mojego terminala na hoście i oczywiście mogę Zrób to w tle.
Zakładając dynamiczne przypisywanie adresów IP w sieci, istnieje sposób na wyodrębnienie przypisanego adresu IP do nowo utworzonej instancji do celów ssh LUB istnieje sposób na ssh do niego bez znajomości adresu IP (np. Przez port backdoor na hoście )?
źródło
VBoxManage guestproperty get <vmname> "/VirtualBox/GuestInfo/Net/0/V4/IP"
.Przede wszystkim upewnij się, że zainstalowałeś VirtualBox Extension Pack lub zainstaluj go, jeśli nie.
Na przykład (dla Ubuntu)
lub z
https://www.virtualbox.org/wiki/Downloads
Następnie możesz uzyskać adres IP maszyny wirtualnej
źródło
Wiem, że jestem spóźniony na to przyjęcie, ale będzie działać z VirtualBox 5.0.6.
Korzysta z VBoxManage, aby pobrać listę uruchomionych maszyn wirtualnych, sprawdzić ich właściwości w pętli i ładnie wyświetla adresy IP.
źródło
Możesz spojrzeć na tabelę DHCP w routerze, przed uruchomieniem i po oraz porównać je. Jeśli router wyświetla nazwę komputera, jest to oczywiście znacznie łatwiejsze. To może nie jest wyrafinowane rozwiązanie, ale działa.
Większość routerów przypisuje adresy dynamiczne, ale przez większość czasu nadaje maszynie lub maszynie wirtualnej (router nie zna różnicy) ten sam adres IP. Jeśli skopiujesz maszynę wirtualną w Virtualbox, możesz ustawić nowy adres MAC, czyli sposób, w jaki router identyfikuje maszynę wirtualną.
źródło
Miałem podobne zadanie w Pythonie. Prawdopodobnie byłoby to pomocne.
a następnie w python:
źródło
Użyłem opcji controlvm, aby rozpocząć śledzenie pakietów w aktywnej nici gościa i otworzyłem plik lokalny za pomocą wireshark. Będzie tam adres IP gości.
Nie zapomnij wyłączyć śledzenia, gdy skończysz.
źródło
źródło