यह संभव है - कम से कम, सामान्य मामले में, जहां एनएटी-शैली नेटवर्क अतिथि के लिए कॉन्फ़िगर किया गया है। क्योंकि VMWare NAT-ing प्रदान कर रहा है, यह हमें यह बताने में सक्षम होना चाहिए कि यह वर्तमान में NAT-ing क्या है। कुछ vmrun list
इस जानकारी को आउटपुट करना चाहिए। यह एक दोष नहीं है ...
लेकिन, किसी भी मामले में, यहाँ कोई भी कैसे पता लगा सकता है। सबसे पहले, ifconfig
अपने मैक पर चलाएं (शायद, ipconfig
विंडोज पर भी ऐसा ही होगा, लेकिन मैंने इसका परीक्षण नहीं किया है)। यह मशीन पर सभी नेटवर्क इंटरफेस की सूची देगा - भौतिक और आभासी दोनों। Vmnet- वाले के लिए देखो। मेरे मैक पर यह पैदा करता है:
% ifconfig | grep -A2 ^vmnet
vmnet1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:01
inet 192.168.82.1 netmask 0xffffff00 broadcast 192.168.82.255
vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:08
inet 192.168.123.1 netmask 0xffffff00 broadcast 192.168.123.255
इसलिए, मेरे मेहमान का आईपी इन दो वीएम निजी नेटवर्क में से एक पर है: या तो 192.168.82.0/24 या 192.168.123.0/24। आपके मेजबान पर सिर्फ एक, भाग्यशाली आप या दो से अधिक हो सकते हैं - हमें उन सभी की जांच करने की आवश्यकता है। यहाँ एक बहुत ही सरल tshsh-script है, सीधे कमांड-लाइन पर दर्ज किया गया है, जो मेरे लिए है। यह vmnet द्वारा प्रबंधित क्लास-सी के सभी निजी नेटवर्क में प्रत्येक पते को पिंग करने का प्रयास करता है और समाप्त होता है, जब एक पिंग सफल होता है। -W 500
विकल्प (, शायद, और भी कम इस्तेमाल कर सकते हैं) एक प्रतिक्रिया के लिए केवल आधे सेकंड प्रतीक्षा करने के लिए पिंग बताता है, और -c 1
यह बताता है ठीक एक पैकेट भेजने के लिए:
% set i=2
% while ( $i < 255 )
while? ping -W 500 -c 1 192.168.82.$i && break
while? ping -W 500 -c 1 192.168.123.$i && break
while? @ i++
while? end
उपरोक्त छोटी स्क्रिप्ट कुछ समय के लिए गैर-मौजूद पते तक पहुंचने के सभी असफल प्रयासों को सूचीबद्ध करने के लिए चली गई:
PING 192.168.82.2 (192.168.82.2): 56 data bytes
--- 192.168.82.2 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
PING 192.168.123.2 (192.168.123.2): 56 data bytes
...
जब तक यह आखिरकार सफल हुआ और समाप्त हुआ:
64 bytes from 192.168.123.130: icmp_seq=0 ttl=64 time=0.307 ms
--- 192.168.123.130 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
Voilà, मैं अपने अतिथि में आने में सक्षम था:
% ssh 192.168.123.130
Password:
अब, मेरे पास केवल एक ही अतिथि चल रहा था - इसलिए पिंग का जवाब देने वाला पहला आईपी-पता सही था। यदि आप एक साथ कई मेहमान चलाते हैं, तो आपको ऐसे सभी वैध निजी आईपी-पतों की सूची बनाने के लिए समान या समान पिंग कमांड का उपयोग करने की आवश्यकता हो सकती है और तब तक आप उन सभी को आज़मा सकते हैं जब तक कि आप सही अतिथि में नहीं आते ...
(और, शायद, .130 वैसे भी NAT- आधारित पतों के लिए एक अच्छा अनुमान है। लेकिन मैं निश्चित रूप से नहीं कह सकता।)