سؤال كيف يمكنني إدراج جميع عناوين IP في الشبكة المتصلة ، من خلال الطرفية بشكل مفضل؟


باستخدام Ubuntu 10.10 ، كنت أتساءل ما إذا كان هناك أمر سطر الأوامر الذي يمكنه سرد جميع عناوين IP الخاصة بالأجهزة المتصلة بالشبكة؟

يمكنني استخدام هذا على سبيل المثال ، لسرد جميع أجهزة الكمبيوتر المتصلة بشبكة منزلي. من الناحية المثالية ، يجب أن يكون سطر الأوامر كما سيتم تشغيله من C ++.

أيه أفكار؟


201
2018-03-24 13:27


الأصل


askubuntu.com/questions/82480/... || serverfault.com/questions/72380/... - Ciro Santilli 新疆改造中心 六四事件 法轮功
مزيد من التكرارات: 1.  توصيل جميع عناوين IP للأجهزة المتصلة بنفس جهاز التوجيه. 2.  عرض قائمة أجهزة الكمبيوتر على شبكة محلية في لينكس - Alexander Malakhov
3.  أفضل طريقة وأدوات لمسح IP المحلي - 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
يعمل تماما على OSX أيضا! تم تثبيتها مع المشروب ، وكانت الواجهة en0 ، بدلاً من eth0 ، ولكنها تعمل بشكل رائع. - nthonygreen
إذا كان اتصالك بالشبكة الخاصة بك باستخدام واي فاي wlan0 بدلا من eth0. - Neil
هل يمكنك الحصول على هذا لإدراج أسماء المضيفين بالإضافة إلى عناوين IP؟ - user1527227
تجدر الإشارة إلى أن هذا لا يستخدم ذاكرة التخزين المؤقت لـ ARP: حيث يقوم بإجراء فحص فعلي. بخلاف معظم مسح nmap ، لا يمكن أن يتجاوز حدود الطبقة 3 ، والتي عادة ما تريد في هذا السيناريو. (بمعنى آخر ، فإنه يقتصر على الشبكة الفرعية الخاصة بك.) - Zenexer


استخدم nmap. مثال: nmap -sn 10.10.10.0/24 ستخبرك ذاكرة التخزين المؤقت لـ arp فقط بتلك التي حاولت الاتصال بها مؤخرًا.


104
2018-03-24 13:38



هو 10.10.10.0 عنوان IP الخاص بي؟ ما هو 24 في هذه الحالة؟ شكر. - kolonel
kolonel هذا مجرد مثال. يجب عليك استبدالها بشبكتك. ال 24 هو "تدوين مائل" لقناع الشبكة الفرعية. يعني استخدام 24 بت من اليسار. إنها تعادل 255.255.255.0. - Keith
Keith هل تعرف كيف أجد عنوان الشبكة الخاص بي لاستخدام؟ أم هو مجرد IP الخاص بي مع 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
سيقوم هذا الأمر فقط بإدراج الأجهزة الموجودة في ذاكرة التخزين المؤقت الحالية الخاصة بالمناطق المحلية (ARP) والتي لن تكون سوى تلك التي اتصل بها المضيف مؤخرًا. - Linker3000
كلاهما يعمل على لينكس ، ولكن arp -a يعرض (جميع) المضيفين في نمط بديل (BSD). تشغيل Simpy 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



Hi Anders ... قد لا تكون شبكة المستخدم 192.168.0.0/24 ؛ أنا قدمت ملاحظة. لم يكن تنسيق الموقع مثل # مكشوفًا !، وبالتالي استنبط تنسيق مقتطف الشفرة: عند إدخال الرمز ، استخدم أزرار النص أو الأزرار المنسقة مسبقًا ، ومراجعة إجابتك للتنسيق الصحيح قبل إرسالها ، كعرض رجوع ، علامات تبويب ، وربما تم تجريد المساحات. - Nevin Williams
بالإضافة إلى ذلك ، عند تقديم نص برمجي يلزم وضعه في ملف وجعله قابل للتنفيذ ، بدلاً من قصه ولصقه ببساطة ، فمن الأفضل تحديد ذلك ؛ قد لا يكون واضحا لبعض ما هو مطلوب لتنفيذ الحل الخاص بك. - Nevin Williams
من الناحية الفنية ، سيؤدي هذا إلى إرجاع المضيفين الذين يستجيبون لبرنامج ping فقط. قد يكون هناك مضيفون متصلون ، ولكن لا يردون على طلبات ارتداد ICMP. كذلك ، يمكن للمرء بث حزمة واحدة إلى شبكة كاملة عن طريق تحديد عنوان البث ، وهو آخر عنوان في شبكة IP: ping -c 1 -W 1 192.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 الخاص بك (تعرف على استخدام ip addr).

يمكنك أيضًا الحصول على خريطة أقل دقة (من واقع خبرتي) للشبكة عن طريق التشغيل ping 192.168.1.255 (استبدال مرة أخرى 192.168.1)، التي ينبغي قضية ping إلى كل جهاز على الشبكة ، ولكن ، من واقع خبرتي ، لا يعمل دائمًا بشكل صحيح.


10
2017-09-08 18:56



في الواقع ، لن تعمل أي من الإجابات دائمًا بشكل صحيح. لم يتم تصميم IP مع وضع هذا المطلب في الاعتبار ، وهناك أشياء مثل شبكات VLAN الخاصة التي تجعل من المستحيل العثور على أي مضيفين آخرين على نفس الشبكة المحلية. - Ron Maupin


جاء مع ما يلي على العلاقة التي تستخدم tmux مثل arp-scan ليس في الريبو ولكن nmap جاء مثبتًا مسبقًا ، ويعرض عناوين IP فقط:

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.* إدراج جميع عناوين IP في الشبكة الفرعية ووضع علامة على تلك العناوين ، التي تحمل اسمًا:

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♦
Mokubai أنت على حق ، لقد قمت بإضافة تعليق إلى OP. هذا يدل على مشكلة مثيرة للاهتمام. ا بسرعة اكتشف البحث 6 نسخ مكررة (هذا Q و 5 روابط) عبر 4 مواقع شبكة (SU، Ask Ubuntu، SF، Unix). متأكد من أن هناك أكثر من ذلك بكثير! كيف أتعامل مع هذا؟ من الناحية المثالية ، ينبغي أن ترتبط كل من هذه الوظائف الست بـ 5 وظائف أخرى. إن إضافة كل هذه الروابط باليد ليس مقياسًا واضحًا. لذلك ، لقد ربطت حتى الآن لهذا المنصب (الأكثر upvoted). هناك مشكلة أخرى وهي أنه من المستحيل وضع علامة على Q على AskUbuntu كنسخة طبق الأصل من Q على SU. صاحبة الجلالة ... ربما ، وقد ناقش هذا بالفعل على الفوقية؟ - Alexander Malakhov
لا يعمل بالنسبة لي في Centos 7 ، فقط يسرد كل عنوان IP ممكن في الشبكة مع عدم وجود أسماء. عملت ARP المسح بالنسبة لي. - 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