Nmap के साथ प्रिंटर ढूंढें


26

मेरे नेटवर्क में प्रिंटर खोजने के लिए सबसे अच्छा तरीका क्या है? क्या प्रिंटर आईपी को किसी फ़ाइल में सहेजना संभव है?


यह पृष्ठ आपकी सहायता कर सकता है। इसने मेरे लिए अतीत में काम किया है। irongeek.com/i.php?page=security/networkprinterhacking
ThaKidd KG5ORD

जवाबों:


37

यदि आप किसी कारणवश OS Fingerprinting कर रहे हैं, तो आप अधिक लक्षित पोर्ट-स्कैन कर सकते हैं:

nmap -p 9100,515,631 192.168.1.1/24 -oX printers.xml

यह प्रिंटर और प्रिंटिंग सिस्टम के लिए बंदरगाहों के लिए स्कैन करेगा।

  • 9100 = अधिकांश प्रिंटर के लिए रॉ पोर्ट, जिसे डायरेक्ट-आईपी पोर्ट के रूप में भी जाना जाता है
  • 515 = अधिकांश प्रिंटर, साथ ही पुराने प्रिंट-सर्वर के लिए LPR / LPD पोर्ट
  • 631 = अधिकांश आधुनिक प्रिंटर, और CUPS- आधारित प्रिंट-सर्वर के लिए IPP पोर्ट

आउटपुट XML में है।


आपका उत्तर बहुत मददगार था!
रयान टेनी

इसने मेरे लिए काम नहीं किया।
मार्टिन थोमा

9

यह उत्तर सीधे आपके पहले प्रश्न का उत्तर देता है। दूसरे प्रश्न के लिए, कमांड को समझने से आप एक फ़ाइल में प्रिंटर आईपी पते डाल सकते हैं। तो अब हम शुरू करें:

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//'

प्रक्रिया वर्णन

  1. यह नेटवर्क संस्थाओं के लिए खोज करने वाले नेटवर्क को स्कैन करता है जो डिफ़ॉल्ट प्रिंटर पोर्ट पर सुन रहे हैं।
  2. पिछले चरण के परिणामों का उपयोग करके यह इन उपकरणों पर एसएनएमपी समर्थन के लिए जांच करेगा।
  3. SNMP का समर्थन करने वाले प्रत्येक उपकरण के लिए यह डिवाइस विवरण के लिए नेटवर्क इकाई से पूछताछ करता है।

कमान टूटना

नैमप - नेटवर्क स्कैनिंग। ( 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 समर्थित कमांड्स शामिल हैं। व्यक्तिगत रूप से मैंने इस श्रृंखला को उन आदेशों को प्राप्त करने के लिए सिगविन का उपयोग करके एक विंडोज मशीन पर काम किया।


2
लिनक्स में मैंने IP और SNMP सिस्टम स्ट्रिंग दिखाने के लिए निम्न भिन्नता का उपयोग किया। '--Replace = $ ipaddress' ने मेरे परिवेश में काम नहीं किया: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//'
NoelProf

@NoelProf का संस्करण CentOS 6 में बहुत अच्छा काम करता है। एक चीज जो बेहतर हो सकती है वह है यूडीपी स्कैनिंग पार्ट। मैंने पूरी श्रृंखला की कोशिश की, लेकिन कुछ प्रिंटर जहां खोज नहीं की गई; खासकर जब वे वीपीएन के पीछे होते हैं। मुझे लगा कि हम यूडीपी पोर्ट 161 पर जवाब देने के लिए केवल एक बार परीक्षण करते हैं। लेकिन यूडीपी रास्ते में खो सकता है। इसे कई बार जांचना बेहतर होगा।
मासगो

5

सबसे आसान तरीका है कि इसके साथ स्कैन किया जाए nmap -O: नैंप आमतौर पर सही ढंग से निर्धारित करेगा कि मशीन एक प्रिंटर है या ओएस पर आधारित नहीं है।

nmap -O 192.168.1.1/24 -oG - | grep printer >> outfile

इसे प्रति पंक्ति एक प्रविष्टि करना चाहिए और इसे "आउटफाइल" नामक फ़ाइल में डंप करना चाहिए। आप जिस भी रेंज को स्कैन कर रहे हैं, उसमें स्पष्ट रूप से आईपी रेंज को बदलें

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