सवाल टर्मिनल के माध्यम से, कनेक्ट किए गए नेटवर्क में सभी आईपी कैसे सूचीबद्ध कर सकते हैं?


उबंटू 10.10 का उपयोग करके, मैं सोच रहा था कि कमांड लाइन कमांड था जो नेटवर्क से जुड़े उपकरणों के सभी आईपी सूचीबद्ध कर सकता है?

उदाहरण के लिए, मैं अपने घर नेटवर्क से जुड़े सभी कंप्यूटरों को सूचीबद्ध करने के लिए इसका उपयोग करूंगा। आदर्श रूप में, इसे कमांड लाइन होने की आवश्यकता है क्योंकि मैं इसे C ++ से चलाऊंगा।

कोई विचार?


201
2018-03-24 13:27


मूल


askubuntu.com/questions/82480/... || serverfault.com/questions/72380/... - Ciro Santilli 新疆改造中心 六四事件 法轮功
अधिक डुप्लीकेट: 1।  एक ही राउटर से जुड़े उपकरणों के सभी आईपी प्राप्त करना। 2।  लिनक्स में एक लैन पर कंप्यूटर की सूची प्रदर्शित करें - Alexander Malakhov
3।  स्थानीय आईपी स्कैनिंग के लिए सर्वोत्तम विधि और उपकरण - Alexander Malakhov


जवाब:


इसकी जाँच पड़ताल करो एआरपी-स्कैन कमांड - आपको शायद इसे इंस्टॉल करना होगा उदाहरण:

sudo apt-get install arp-scan

http://manpages.ubuntu.com/manpages/hardy/man1/arp-scan.1.html

और आगे की जानकारी देने के लिए:

sudo arp-scan --interface=eth0 --localnet

जहां eth0 आपका डिवाइस है। आप अपने डिवाइस को इसके साथ पा सकते हैं:

ifconfig

223
2018-03-24 13:37



पूर्ण धन्यवाद। वास्तव में मुझे आवश्यक स्वरूप देता है। - Christopher Gwilliams
ओएसएक्स पर भी पूरी तरह से काम करता है! ब्रू के साथ स्थापित, और इंटरफेस eth0 की बजाय en0 था, लेकिन बहुत अच्छा काम करता है। - nthonygreen
यदि आप वाईफाई उपयोग का उपयोग कर अपने नेटवर्क से जुड़े हैं wlan0 के बजाय eth0। - Neil
क्या आप इसे मेजबाननामों के साथ-साथ आईपी पते सूचीबद्ध करने के लिए प्राप्त कर सकते हैं? - user1527227
यह ध्यान देने योग्य है कि यह एआरपी कैश का उपयोग नहीं करता है: यह एक वास्तविक स्कैन करता है। अधिकांश एनएमएपी स्कैन के विपरीत, यह परत 3 सीमाओं को पार नहीं कर सकता है, जो आमतौर पर आप इस परिदृश्य में क्या चाहते हैं। (दूसरे शब्दों में, यह आपके सबनेट तक ही सीमित है।) - Zenexer


एनएमएपी का प्रयोग करें। उदाहरण: nmap -sn 10.10.10.0/24 एआरपी कैश केवल आपको बताएगा कि आपने हाल ही में संपर्क करने का प्रयास किया है।


104
2018-03-24 13:38



10.10.10.0 मेरा दिया आईपी है? इस मामले में 24 क्या है? धन्यवाद। - kolonel
@ कोलोनेल यह सिर्फ एक उदाहरण है। आपको इसे अपने नेटवर्क से बदलना चाहिए। 24 सबनेट मास्क का "स्लैश नोटेशन" है। इसका मतलब है बाईं ओर से 24 बिट्स का उपयोग करें। यह 255.255.255.0 के बराबर है। - Keith
@ किथ क्या आप जानते हैं कि मैं अपने नेटवर्क पते का उपयोग कैसे करूं? या यह अंत में 0/24 के साथ मेरा आईपी है? - TMH
@kolonel:en.wikipedia.org/wiki/Classless_Inter-Domain_Routing - arkod


खिड़कियों में यह "arp -a"मुझे विश्वास है कि लिनक्स में इसके बराबर होगा"arp -e"।

यह जानकारी arp के लिए मैन पेज से मिल सकती है:

arp with no mode specifier will print the current content of the table.
-e : Use default Linux style output format (with fixed columns).

19
2018-03-24 13:33



ऐसा लगता है कि यह काम करता है (मुझे एक सार्वजनिक नेटवर्क पर खेलने की आवश्यकता हो सकती है, इसलिए यह केवल नेटवर्क पर सभी सर्वरों को सूचीबद्ध करता है। - Christopher Gwilliams
अगर मैं घर नेटवर्क पर हूं, तो क्या यह सिर्फ मेरे राउटर से जुड़े उपकरणों को सूचीबद्ध करेगा? धन्यवाद! - Christopher Gwilliams
वह आदेश केवल मेजबान वर्तमान एआरपी कैश में डिवाइस सूचीबद्ध करेगा और यह केवल वही होगा जो होस्ट ने हाल ही में संपर्क किया है। - Linker3000
लिनक्स पर दोनों काम करते हैं, लेकिन arp -a वैकल्पिक (बीएसडी) शैली में प्रदर्शित (सभी) मेजबान। सिम्पी चल रहा है arp चलने के समान ही करता है arp -e बेक्यूज जो डिफ़ॉल्ट है। - simplegamer


यदि आपका नेटवर्क है 192.168.0.0/24, निम्न कोड के साथ एक निष्पादन योग्य फ़ाइल बनाओ; बदलाव 192.168.0 अपने वास्तविक नेटवर्क के लिए।

#!/bin/bash
for ip in 192.168.0.{1..254}; do
  ping -c 1 -W 1 $ip | grep "64 bytes" &
done

13
2018-05-17 18:45



हाय एंडर्स ... उपयोगकर्ता का नेटवर्क 192.168.0.0/24 नहीं हो सकता है; मैंने एक नोट बनाया साइट के स्वरूपण को नंगे # !, पसंद नहीं आया था, और इसलिए कोड स्निपेट के स्वरूपण को दबाया गया: कोड दर्ज करते समय, ब्लॉकक्वाट या प्रीफॉर्मेटेड टेक्स्ट बटन का उपयोग करें, और सबमिट करने से पहले उचित प्रारूपण के लिए अपने उत्तर की समीक्षा करें, कैरिज रिटर्न, टैब, और रिक्त स्थान छीन लिया गया हो सकता है। - Nevin Williams
साथ ही, जब एक स्क्रिप्ट की आपूर्ति की जाती है जिसे फ़ाइल में डालने और निष्पादन योग्य बनाने की बजाय, केवल कट और पेस्ट करने की बजाय, यह संभवतः सबसे अच्छा है कि आप इसे निर्दिष्ट करते हैं; यह कुछ लोगों के लिए स्पष्ट नहीं हो सकता है कि आपके समाधान को लागू करने के लिए क्या आवश्यक है। - Nevin Williams
तकनीकी रूप से, यह केवल उन मेजबानों को वापस करेगा जो पिंग का जवाब देते हैं। ऐसे होस्ट हो सकते हैं जो जुड़े हुए हों, लेकिन आईसीएमपी प्रतिध्वनि अनुरोधों का जवाब नहीं दे रहे हैं। साथ ही, कोई प्रसारण पता निर्दिष्ट करके एक पैकेट को पूरे नेटवर्क पर प्रसारित कर सकता है, जो आईपी नेटवर्क में अंतिम पता है: पिंग-सी 1 -W 1 1 9 2.168.0.255 लूप के समान ही पूरा करेगा। - Nevin Williams
@NevinWilliams (आवश्यक -b, हटाया -W और इंतजार करने के लिए) ping -b -c 1 192.168.0.255 नतीजा "1 पैकेट प्रेषित, 0 प्राप्त, 100% पैकेट नुकसान, समय 0ms" - Aquarius Power


स्थापित करने का प्रयास करें nmap (sudo apt-get install nmap) और प्रकार nmap 192.168.1.0/24 प्रतिस्थापन 192.168.1 अपने आईपी पते के पहले तीन हिस्सों के साथ (उपयोग का पता लगाएं ip addr)।

आप चलकर नेटवर्क के थोड़ा सा सटीक (मेरे अनुभव में) मानचित्र भी प्राप्त कर सकते हैं ping 192.168.1.255 (फिर से प्रतिस्थापित 192.168.1), कौन कौन से चाहिए एक मुद्दा ping नेटवर्क पर हर मशीन के लिए, लेकिन, मेरे अनुभव में, हमेशा सही ढंग से काम नहीं करता है।


10
2017-09-08 18:56



असल में, कोई भी जवाब हमेशा सही तरीके से काम नहीं करेगा। आईपी ​​को इस आवश्यकता के साथ दिमाग में डिजाइन नहीं किया गया था, और निजी वीएलएएन जैसी चीजें हैं जो एक ही लैन पर किसी अन्य होस्ट को ढूंढना असंभव बनाती हैं। - Ron Maupin


एक नेक्सस का उपयोग कर निम्नलिखित के साथ आया था tmux जैसा arp-scan रेपो में नहीं है लेकिन nmap पहले से स्थापित आया, बस आईपी पते प्रदर्शित करता है:

nmap -sn 192.168.1.1-254/24 | egrep "scan report" | awk '{print $5}'

2
2017-10-30 20:33





कनेक्टेड उपकरणों की एक और कॉम्पैक्ट सूची के लिए:

nmap -sL 192.168.0.* | grep \(1

स्पष्टीकरण।

nmap -sL 192.168.0.* सबनेटवर्क में सभी आईपी सूचीबद्ध करेंगे और उनको चिह्नित करेंगे, जिनके पास नाम है:

Nmap scan report for 192.168.0.0
Nmap scan report for Dlink-Router.Dlink (192.168.0.1)
Nmap scan report for 192.168.0.2
...
Nmap scan report for android-473e80f183648322.Dlink (192.168.0.53)
...
Nmap scan report for 192.168.0.255

चूंकि सभी रोचक रिकॉर्ड ब्रांड्स के साथ शुरू होते हैं ( और अंक 1, हम इसके साथ फ़िल्टर करते हैं | grep \(1 (ब्रांड्स से बचने के लिए बैकस्लैश की आवश्यकता है)

मोड़
सावधान रहें कि यदि दो उपकरणों का एक ही नाम है, nmap केवल एक ही दिखाएगा, जो राउटर से जुड़ा था अंतिम


0
2017-10-20 10:32



यदि आपके पास दो प्रश्नों के लिए सटीक एक ही जवाब है तो डुप्लिकेट उत्तरों पोस्ट करने के बजाय प्रश्नों को डुप्लिकेट के रूप में फ़्लैग करने पर विचार करना उचित हो सकता है। इस तरह ज्ञान को समान प्रश्नों के साथ साझा किया जा सकता है। - Mokubai♦
@ मोकुबाई आप सही हैं, मैंने ओपी को टिप्पणी जोड़ दी है। यह एक दिलचस्प समस्या दिखाता है। ए शीघ्र खोज ने 4 नेटवर्क साइटों (एसयू, उबंटू, एसएफ, यूनिक्स से पूछें) में 6 डुप्लिकेट (यह क्यू और 5 लिंक) खोजे। निश्चित रूप से बहुत कुछ है! इससे मैं कैसे निपटूं ? आदर्श रूप से, इन 6 पदों में से प्रत्येक को 5 अन्य लोगों से लिंक करना चाहिए। इन सभी लिंक को हाथ से जोड़ना स्पष्ट रूप से स्केल नहीं करता है। तो, अब के लिए मैंने इस पोस्ट से जुड़ा है (सबसे ऊपर उठाया गया)। एक और समस्या यह है कि एसयू पर क्यू के डुप्लिकेट के रूप में AskUbuntu पर क्यू को चिह्नित करना असंभव है। एचएम ... शायद, मेटा पर पहले से ही चर्चा की गई थी? - Alexander Malakhov
Centos 7 पर मेरे लिए काम नहीं करता है, बस नेटवर्क में हर संभव आईपी पते को बिना किसी नाम के सूचीबद्ध करता है। arp-scan मेरे लिए काम किया। - Jeff


एंडर्स लार्सन के जवाब पर विस्तार से -

#!/bin/bash
function scan ()
{
    for ip in $1.{1..254}; do
        ping -c 1 -W 1 $ip &
    done | sed -nE 's:^.* from ([0-9.]+).*time=(.*s)$:\1 (\2):p'
}

if [ $1 ]; then
    for baseip; do
        scan $baseip
    done
else
    scan 192.168.1
fi

0
2017-07-06 10:04