जवाबों:
यदि आप किसी कारणवश OS Fingerprinting कर रहे हैं, तो आप अधिक लक्षित पोर्ट-स्कैन कर सकते हैं:
nmap -p 9100,515,631 192.168.1.1/24 -oX printers.xml
यह प्रिंटर और प्रिंटिंग सिस्टम के लिए बंदरगाहों के लिए स्कैन करेगा।
आउटपुट XML में है।
यह उत्तर सीधे आपके पहले प्रश्न का उत्तर देता है। दूसरे प्रश्न के लिए, कमांड को समझने से आप एक फ़ाइल में प्रिंटर आईपी पते डाल सकते हैं। तो अब हम शुरू करें:
nmap -p 515,631,9100 -oG - 10.81.129.0/24 | gawk '/open/{print $2}' | xargs --delimiter='\n' nmap -sU -p 161 -oG - | gawk '/open/{print $2}' | xargs --replace=$ipaddress snmpget -v 1 -O v -c public $ipaddress system.sysDescr.0 | sed 's/STRING:\s//'
नैमप - नेटवर्क स्कैनिंग। ( Nmap.org )
-p 515,631,9100
टीसीपी पोर्ट 515, 631 और 9100 के लिए स्कैन करें।-oG -
Grep-सक्षम आउटपुट स्वरूप का उपयोग करें।-sU -p 161
UDP पोर्ट 161 के लिए स्कैन करें।gawk या awk - प्रक्रिया कॉलम-ओरिएंटेड टेक्स्ट डेटा। डिफ़ॉल्ट रूप से, व्हाट्सएप लाइन को कॉलम में अलग करता है। ( विकिपीडिया )
gawk '/regexp/'
इस रेग्युलर एक्सप्रेशन से मेल खाते लाइनों को फ़िल्टर करने के लिए gawk के साथ रेग्युलेर एक्सप्रेशन का उपयोग करें।gawk '{<code>}'
आउटपुट में हेरफेर करने के लिए awk C जैसी इनपुट भाषा का उपयोग करें।gawk '{/open/print $2}'
"ओपन" से मेल खाते लाइनों के लिए खोजें और दूसरे कॉलम को प्रिंट करें।xarg - दिए गए इनपुट से कमांड बनाएं और निष्पादित करें। डिफ़ॉल्ट व्हाट्सएप द्वारा लाइन को तर्क में अलग किया जाता है। ( विकिपीडिया )
--delimiter='\n'
व्हाट्सएप के बजाय नई लाइन (\ n) प्रति अलग तर्क।--replace=$ipaddress
प्रत्येक पंक्ति के लिए, तर्क को $ ipaddress में संग्रहीत करें ।snmpget या snmpwalk - एक नेटवर्क इकाई के बारे में जानकारी के लिए क्वेरी के लिए उपयोग SNMP GET अनुरोध। ( net-snmp.org , विकिपीडिया पर SNMP के बारे में अधिक )
-c public
जनता के लिए समुदाय स्ट्रिंग सेट करें।-v 1
SNMP संस्करण को 1 पर सेट करें।-O v
OID प्रिंट न करें।system.sysDescr.0
क्वेरी के लिए चर। इस विशेष चर का विवरण: "इकाई का एक शाब्दिक विवरण। इस मूल्य में सिस्टम के हार्डवेयर प्रकार, सॉफ्टवेयर ऑपरेटिंग-सिस्टम और नेटवर्किंग सॉफ़्टवेयर का पूरा नाम और संस्करण पहचान शामिल होनी चाहिए। यह अनिवार्य है कि इसमें केवल मुद्रण योग्य ASCII वर्ण शामिल हों। "sed - पर्स और पाठ को रूपांतरित करता है। ( विकिपीडिया )
's/day/night/'
एक लाइन में स्ट्रिंग दिन की पहली घटना का पता लगाएं, और इसे रात के साथ बदलें।'s/STRING:\s//'
STRING ढूंढें : \ s और इसे कुछ नहीं से बदलें। यह STRING: इनपुट से हटाता है । \ रों एक खाली स्थान के लिए खड़ा है।कुछ UNIX समर्थित कमांड्स शामिल हैं। व्यक्तिगत रूप से मैंने इस श्रृंखला को उन आदेशों को प्राप्त करने के लिए सिगविन का उपयोग करके एक विंडोज मशीन पर काम किया।
nmap -p 515,631,9100 -oG - 192.168.100.0/24 | gawk '/open/{print $2}' | xargs --delimiter='\n' nmap -sU -p 161 -oG - | gawk '/open/{print $2}' | xargs -I{} sh -c 'echo {} ; snmpget -v 1 -O v -c public {} system.sysDescr.0' | sed 's/STRING:\s//'
सबसे आसान तरीका है कि इसके साथ स्कैन किया जाए nmap -O
: नैंप आमतौर पर सही ढंग से निर्धारित करेगा कि मशीन एक प्रिंटर है या ओएस पर आधारित नहीं है।
nmap -O 192.168.1.1/24 -oG - | grep printer >> outfile
इसे प्रति पंक्ति एक प्रविष्टि करना चाहिए और इसे "आउटफाइल" नामक फ़ाइल में डंप करना चाहिए। आप जिस भी रेंज को स्कैन कर रहे हैं, उसमें स्पष्ट रूप से आईपी रेंज को बदलें