मुझे कैसे पता चलेगा कि कोई दूरस्थ मशीन विंडोज या लिनक्स का उपयोग कर रही है?


10

क्या कमांड चलाने का कोई तरीका है (जैसे कि ICMP संदेश या कोई अन्य प्रोटोकॉल), किसी दूरस्थ मशीन से प्रतिक्रिया प्राप्त करें (अपने निजी स्थानीय नेटवर्क पर नहीं) और संदेश का विश्लेषण करने के लिए कुछ सबूत खोजें कि यह मशीन विंडोज चल रही है या नहीं एक लिनक्स ऑपरेटिंग सिस्टम?


आप इस जानकारी के साथ क्या करने की योजना बना रहे हैं? यह विश्वसनीय ... नहीं हो सकता है
pjc50

वास्तव में मैं पिछले हफ्ते एक हिरासत में था और वह एक ऐसी प्रणाली का उपयोग कर रहा था जो किसी को भी अपने नेटवर्क पर विंडोज सिस्टम का उपयोग करने से रोकती थी। यह एक दूरस्थ सर्वर द्वारा बनाया गया था जो एक ही नेटवर्क नहीं था, मैं इसे बहुत अजीब कहता हूं क्योंकि मुझे नहीं पता था कि यह कैसे बनाया गया था।
दिओगो

ऐसे कई तरीके हैं जिनसे आप ऐसा कर सकते हैं। उदाहरण के लिए, यदि आप नेटवर्क पते प्रदान करने के लिए डीएचसीपी का उपयोग कर रहे हैं, तो डीएचसीपी अनुरोध में क्लाइंट ओएस के बारे में जानकारी शामिल है।
हैरी जॉनसन

जवाबों:


16

यह निश्चित नहीं है, लेकिन nmap कमांड के साथ ऐसा करेगा nmap -O -v( अधिक विवरण के लिए डॉक्स देखें) यदि आप विंडोज़ चला रहे हैं या कोई गुई चाहते हैं, तो ज़ेनमैप देखें


1
माइंड यू - कुछ प्रदाता दुरुपयोग के रूप में नैम्प का उपयोग करके पोर्ट स्कैनिंग का पता लगाएंगे।
जीरो बर्ट

2
@JeroenBaert नामली AWS ने मुझे एक डरावना ईमेल भेजा
जोनाथन डॉस सैंटोस

10

यदि आप IPv4 नेटवर्क पर हैं, तो बस पिंग का उपयोग करें। यदि प्रतिक्रिया में टीटीएल 128 है, तो लक्ष्य संभवतः विंडोज चल रहा है। यदि टीटीएल 64 है, तो लक्ष्य शायद यूनिक्स के कुछ संस्करण चला रहा है।


आप का क्या मतलब है?
9

TTL = 255 के बारे में क्या? मुझे लगता है कि यूनिक्स है ..
Dchris

1
मुझे नहीं लगता कि मैंने कभी 255 का टीटीएल देखा है।
हैरी जॉनसन

इसके लिए क्या स्पष्टीकरण है / यह मामला क्यों है।
हर्वियन

1
@ हर्वियन, अगर आपका मतलब है कि उन विशेष टीटीएल को क्यों चुना गया, तो आपको मूल प्रोग्रामर से पूछना होगा। यदि आपका मतलब है कि सभी या सभी UNIX वेरिएंट समान हैं और / या क्यों टीटीएल विंडोज के हर संस्करण के लिए समान है, तो यह केवल जड़ता होगी - किसी विशेष कारण के अभाव में, कुछ बदलने के लिए, यह रहने के लिए जाता है। वही।
हैरी जॉन्सन

2
: Presumes ping service enabled on Windows local and remote hosts
:
del _IX.txt, Windows.txt
ping -n 1 [computername|ipaddress] | findstr /i /c:"Reply" > ttl.txt
for /f "tokens=1-9* delims=:=< " %%a in (ttl.txt) do (
    if %%i leq 130 (
       if %%i geq 100 (
          echo Windows & rem or echo %%c >> Windows.txt
       ) else (
          if %%i equ 64 (
             echo *IX & rem or echo %%c >> _IX.txt
          )
       )
    )
)

क्या यह IP की श्रेणी के साथ काम करने के लिए संशोधित किया जा सकता है? अगर मैं अपने पूरे सर्वर स्टैक के लिए ttl के सभी को खोजने के लिए इसे चलाना चाहता था।
एडी स्टडीर


1

पैकेज: xprobe 'या' xprobe2
विवरण: दूरस्थ OS पहचान Xprobe2 आपको यह निर्धारित करने की अनुमति देता है कि ऑपरेटिंग सिस्टम दूरस्थ होस्ट पर क्या चल रहा है। यह एक मेजबान को कई पैकेट भेजता है और लौटाए गए उत्तरों का विश्लेषण करता है। Xprobe2 की कार्यक्षमता नॅम्प में OS फिंगरप्रिंटिंग फीचर के बराबर है।

उदाहरण:
$ sudo apt-get install xprobe
$ sudo xprobe2 -T21-23,80,53,110 ###। ###। ###। ##

संदर्भ:
http://www.sys-security.com/html/projects/X.html
http://sourceforge.net/projects/spropro//


0

पुरानी पोस्ट, लेकिन मैंने सोचा कि मैं इसे भी जोड़ दूंगा, अगर डिवाइस SNMP सक्षम है तो आप sysDescr के लिए भी क्वेरी कर सकते हैं जो आपको बताएगा कि ओएस इसका उपयोग कर रहा है।

एक MIB ब्राउज़र डाउनलोड करें, जो मैं उपयोग करता हूं वह एक अच्छा है: http://www.ireasoning.com/downloadmibbrowserfree.php । आप मूल रूप से इसे डिवाइस का आईपी एड्रेस देते हैं और वॉक ऑपरेशन करते हैं।


क्या आप यह बताने के लिए अपने उत्तर का विस्तार कर सकते हैं कि इसे कैसे पूरा किया जाए? धन्यवाद।
फिक्सर 1234

आप एक MIB ब्राउज़र डाउनलोड कर सकते हैं, एक अच्छा जो मैं उपयोग करता हूं वह है ireasoning.com/downloadmibbrowserfree.php । आप मूल रूप से इसे डिवाइस का आईपी पता देते हैं और एक वॉक ऑपरेशन करते हैं
जॉनाथोन 64

0

Johnathon64 के सुझाव के बाद, आप सीधे सर्वर पर क्वेरी करने के लिए SNMP का उपयोग कर सकते हैं - मान लें कि दूरस्थ सर्वर स्वयं SNMP का उपयोग करने के लिए कॉन्फ़िगर किया गया है। आप एक कमांड-लाइन क्वेरी लॉन्च कर सकते हैं जैसे कि इसे करने के लिए नीचे:

snmpget -v1 -c public <RemoteServerIP> sysDescr.0 | sed -n 's/.*STRING: //p' | tr -d \"

आदेश की व्याख्या करते हुए:

  1. snmpget ऑब्जेक्ट sysDescr को क्वेरी करेगा, जिसमें ऑब्जेक्ट का डिफ़ॉल्ट नाम है।
  2. निम्नलिखित sedशुरुआत आउटपुट को बाहर कर देगा, जिसमें केवल प्रदूषित ओआईडी और स्ट्रिंग की शुरुआत शामिल है।
  3. अंतिम कमांड, trआमतौर पर SNMP क्वेरी में पाए जाने वाले किसी भी दोहरे उद्धरण को शामिल नहीं करेगा।

अंतिम दो कमांड केवल आउटपुट स्वरूपित करने के लिए हैं - यदि आपको उनकी आवश्यकता नहीं है, तो पूरा आउटपुट निकालने के लिए बहुत पहले कमांड का उपयोग कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.