যদি তৃতীয় পক্ষের ইউটিলিটি ব্যবহার করা আপনার পক্ষে সমস্যা না হয় তবে আমি এগুলি ব্যবহার করে দেখার পরামর্শ দিই:
আরপ-স্ক্যান ( হোমব্রিউয়ের মাধ্যমে উপলব্ধ )
brew install arp-scan
arp-scan --localnet
fing ( fing.com থেকে বা হোমব্রিউয়ের মাধ্যমে "ডেস্কটপ এম্বেডেড সিএলআই" প্যাকেজটি ডাউনলোড এবং ইনস্টল করুন brew cask install fing
)
sudo fing -r 1 -d true -o table,text
উভয় ইউটিলিটিতে বেশ কয়েকটি অতিরিক্ত মোড এবং বৈশিষ্ট্য রয়েছে। আমি ম্যানুয়ালগুলি সেগুলির মধ্যে থেকে বেশিরভাগটি পেতে সম্পূর্ণরূপে পড়ার পরামর্শ দিচ্ছি।
যদি আপনার তৃতীয় পক্ষের সরঞ্জামগুলি এড়ানো প্রয়োজন হয় তবে অন্তর্নির্মিত কমান্ডগুলির সাথে অনুরূপ কিছু করার একটি উপায় এখানে। আপনি এগুলি ইন্টারেক্টিভভাবে চালাতে পারেন তবে স্ক্রিপ্ট হিসাবে এটি সংরক্ষণ করা সম্ভবত সহজ। এনবি এটি সংক্ষিপ্ত রাখতে, এই স্ক্রিপ্টটি কোনও ত্রুটি পরীক্ষা করে না, এবং কেবলমাত্র 24 / সাবনেটগুলিতে কাজ করে। অন্যান্য আকারের সাবনেটগুলিতে এটির জন্য এটি পরিবর্তন করে পাঠকের কাছে অনুশীলন হিসাবে ছেড়ে দেওয়া হয়েছে :)
#!/usr/bin/env bash
tab=$'\t'
pIF=$(echo "show State:/Network/Global/IPv4" | scutil | awk -F: '/PrimaryInterface/{sub(/ /,"",$2); print $2}')
sn=$(ipconfig getifaddr $pIF | sed -En 's/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/p')
for i in {1..254}; do ping -i0.1 -W100 -c1 $sn.$i | grep from; done
arp -a | grep $pIF | sed -e 's/^\?/unnamed/' -e "s/\ at\ /${tab}/g" -e "s/\ on\ /${tab}/g" -e 's/\ ifscope.*$//g' | awk 'BEGIN { FS="\t"; OFS="\t"; printf "%-17s\t%-15s\t%s\n", "MAC","INTERFACE","HOSTNAME (IP)" } { if($2!="(incomplete)") {printf "%-17s\t%-15s\t%s\n",$2,$3,$1}}'
এটির মতো কিছু আউটপুট করা উচিত:
MAC INTERFACE HOSTNAME (IP)
0:90:b:7a:85:62 en0 r1.lan (192.168.20.1)
2c:36:f8:48:2b:47 en0 cisco-sg300-10p.lan (192.168.20.2)
84:78:ac:a6:95:a0 en0 cisco-sg300-20.lan (192.168.20.3)
b4:fb:e4:cb:93:85 en0 wap1.lan (192.168.20.10)
0:11:32:10:cd:c1 en0 nas.lan (192.168.20.20)
0:11:32:3d:99:c9 en0 nas2.lan (192.168.20.21)
0:11:32:10:cd:c1 en0 unnamed (192.168.20.23)
d4:4b:5e:fe:6a:75 en0 brwd44b5efe6a75.lan (192.168.20.90)