আমি কীভাবে আমার রাউটারের ম্যাক ঠিকানা পেতে পারি?


13

এমন কোন লিনাক্স কমান্ড আছে যা আমাকে আমার রাউটারের ম্যাক ঠিকানা পেতে দেয়?


1
কোনটি? আপনার রাউটারে যোগাযোগের উভয় পক্ষের (ইনকামিং / আউটগোয়িং) একাধিক ম্যাক ঠিকানা থাকা উচিত।
মিচিড

এটি কি সুপার ব্যবহারকারীর মধ্যে থাকা উচিত?

উত্তর:


6

আমি এক-লাইনার পছন্দ করি:

arping -f -I $(ip route show match 0/0 | awk '{print $5, $3}')

arpingip route show match 0/0পার্সযুক্ত, আউটপুট থেকে ম্যাক ডিফল্ট গেটওয়ে আইপি ঠিকানার সাথে যুক্ত দেখায় awk


আমি এটি চেষ্টা করেছি (এবং অন্যান্য উত্তর)। তারা ভাল তথ্য দেয়, তবে দেখানো ম্যাকের ঠিকানাটি আমি যা খুঁজছিলাম তার থেকে দুটি অঙ্ক বন্ধ ছিল। আমার মুদ্রকটি একই এসএসআইডি (সম্ভবত অতিথি এবং নিয়মিত) সহ দুটি রাউটার তালিকাভুক্ত করে এবং আমাকে ম্যাকের ঠিকানাটি বেছে নিতে চায়। এই জবাবটি জিজ্ঞাসাবাবু / এ / ২২২৫৫৩iwconfig | grep "Access Point" কমান্ড সহ আমাকে তালিকাভুক্ত দুটির মধ্যে একটি দেয় । আমি মনে করি যে দুটি তার দ্বারা বন্ধ ছিল সেটি তারযুক্ত সংযোগের ক্যাশেড সংস্করণ, যা আমি বেতার রুটটি পাচ্ছি তা নিশ্চিত করার চেষ্টা করার জন্য আমি প্লাগ-ইন করেছিলাম।
hlongmore

10

অপ্রচলিত কমান্ড ifconfig(8), arp(8) বা route(8) ব্যবহার করবেন না । নতুন কমান্ড ব্যবহার করুন যা তাদের প্রতিস্থাপন করে এবং আরও কিছু করতে পারে, ip(8)।

আপনার মেশিনে ip route listকোন defaultরাউটার রয়েছে তা দেখতে ব্যবহার করুন । এটি default(বা 0.0.0.0) দিয়ে শুরু হওয়া একটি লাইন হওয়া উচিত এবং রাউটারের পরে আইপি ঠিকানা থাকা উচিত। আপনি যদি আইপিভি 6 ব্যবহার করেন তবে -6স্যুইচটি যুক্ত করুন ip -6 route list,।

default via 192.168.11.1 dev eth0  proto static 

defaultরাউটারের আইপি অ্যাড্রেসের ম্যাক ঠিকানা দেখতে , ip neighআইপি ঠিকানা এবং ম্যাক ঠিকানার পরে লাইনটি ব্যবহার করুন এবং দেখুন lladdr

192.168.11.1 dev eth0 lladdr 1c:af:f7:XX:XX:XX REACHABLE

4

আপনি যদি নিজের রাউটারের আইপি না জানেন তবে সম্ভবত এটি আপনার প্রবেশদ্বার যা আপনি কমান্ডটি থেকেroute পেতে পারেন :

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

পতাকাগুলি সহ লাইনটি নোট করুন UG। এই Gatewayলাইনের কলামের ঠিকানাটি আপনি যা খুঁজছেন তা। অনুসরণ 2707974 এর পরামর্শ দিয়ে arp -n(আইপি ping আপনি যদি প্রথমে আপ প্রদর্শন করা হয় না), এবং ম্যাচিং লাইন খুঁজে পেয়েছেন:

$ arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.0.1              ether   00:11:22:33:44:55   C                     eth0
192.168.0.2              ether   66:77:88:99:aa:bb   C                     eth0

এখানে, আপনার রাউটারের ম্যাক হবে 00:11:22:33:44:55


2
সংশ্লিষ্ট ওয়ান-লাইনার:arp -n | grep `route -n | awk '/UG/{print $2}'` | awk '{print $3}'
ফালকো

3

এখানে এক-লাইনের যা কাজ করে dash, bashএবং zsh:

ip neigh|grep "$(ip -4 route list 0/0|cut -d' ' -f3) "|cut -d' ' -f5|tr '[a-f]' '[A-F]'
  1. ip -4 route list 0/0 কিছু ফেরত দেয়:

    192.168.0.1 ডিভ ইথ 1 প্রোটো স্ট্যাটিক মেট্রিক 100 এর মাধ্যমে ডিফল্ট

  2. আমরা সেই লাইন থেকে তৃতীয় ক্ষেত্র হিসাবে আইপি পাই cutএবং সেই নেটওয়ার্কের কাছের আউটপুট থেকে সেই আইপি এবং তত্ক্ষণাত্ স্থান যুক্ত গ্রেপ লাইন। (স্পেস ম্যাচিং এড়াতে প্রয়োজন বোধ করা হয় 192.168.0.1সঙ্গে 192.168.0.10), মিলেছে লাইন ভালো কিছু হবে:

    192.168.0.1 দেব এথ 1 ল্ল্যাড্র সিএ: ফে: বা: হতে: থাকুন: আফ্রিকা পৌঁছনো

  3. এখন আমরা পঞ্চম ক্ষেত্রটি পেয়েছি এবং এটি বড় হাতের অক্ষরে তৈরি করেছি:

    সিএ: ফাঃ: বিএ: হতে: থাকুন: এ এফ


2
কিছুটা আরও ব্যাখ্যা আমাদের বাকিদের আপনার স্ক্রিপ্ট বুঝতে সহায়তা করবে!
জর্জ উদোসেন

1
শেষ লাইনের জন্য একটি বাশ বৈশিষ্ট্য রয়েছে যা ভেরিয়েবলকে আপার ক্ষেত্রে প্রসারিত করে:echo ${info[5]^^}
ডেভিড ফোস্টার

1
@ ডেভিডফোরস্টার আমি একটি পোর্টেবল কমান্ড লিখতে চেয়েছিলাম তবে মূল বৈকল্পটি zsh (নির্দিষ্ট থেকে) নির্দিষ্ট অ্যারে সূচকের উপর নির্ভর করেছিল তাই আমি তিনটি সর্বাধিক জনপ্রিয় শেলের মধ্যে বৈকল্পিক পোর্টেবলের সাথে উত্তরটি আপডেট করেছি
গ্রিফ

2

সম্পূর্ণ সমাধান নয়, তবে আপনি আরপ-এন পরীক্ষা করে দেখুন।

ddd@mmm ~ $ arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
xxx.xxx.xxx.xxx          ether   00:e0:1e:b4:12:42   C                     eth0
yyy.yyy.yyy.yyy          ether   00:14:78:52:28:d2   C                     wlan0

এটি কি কম্পিউটারে ইন্টারফেসের ম্যাক ঠিকানা পায় না, রাউটারটি নয়?
উইল্ফ

2
আপনি যদি নিজের রাউটারটি পিং করেন (বলুন ping 192.168.0.1) তারপরে আরপ ক্যাশে তার ম্যাক ঠিকানা থাকা উচিত ...
রুমানো

ধন্যবাদ @ 2707974 তবে আমি কোনও ম্যাক ঠিকানা কোনও ঠিকানা আইপি জানি না এবং আমার কাছে একটি কমান্ড থাকতে হবে যা আমাকে কেবল আমার রাউটারের আইপি অ্যাড্রেস বা ম্যাক অ্যাড্রেসই দেয় কারণ আমি সমস্ত আরপ প্রদর্শনের জন্য স্ক্রিপ্ট পাইথনের কমান্ডটি ব্যবহার করতে চাই টেবিল আমার জন্য দরকারী নয়।
ব্যবহারকারী 4650183

2

এটি দুঃখের উত্তরের একটি উন্নত সংস্করণ। আইপি -4 রুটের তালিকার 0/0 এর পক্ষে একাধিক লাইন (আইপি) ফিরানো সম্ভব, এক্ষেত্রে সম্পূর্ণ একটি লাইনার কাজ করে না। সুতরাং নিম্নলিখিত সংশোধিত সংস্করণটি কেবল প্রথম লাইনে আইপি -4 রুট তালিকার 0/0 ফেরত ব্যবহার করে।

ip neigh|grep "$(ip -4 route list 0/0|head -1|cut -d' ' -f3) "|cut -d' ' -f5|tr '[a-f]' '[A-F]'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.