मुझे अपने राउटर का मैक पता कैसे मिलेगा?


13

क्या कोई लिनक्स कमांड है जो मुझे मेरे राउटर का मैक पता प्राप्त करने की अनुमति देता है?


1
कौनसा? आपके राउटर में संचार के दोनों पक्षों (आवक / जावक) के लिए कई मैक पते होने चाहिए।
mchid

क्या यह सुपर यूजर में जाना चाहिए?

जवाबों:


6

मुझे वन-लाइनर्स पसंद हैं:

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

arpingके आउटपुट से डिफ़ॉल्ट गेटवे आईपी पते के साथ जुड़े मैक को दिखाता ip route show match 0/0है awk


मैंने यह (और अन्य उत्तर) आज़माया। वे अच्छी जानकारी देते हैं, लेकिन जो मैक पता दिखाया गया है, वह दो अंकों से बंद था, जो मैं देख रहा था। मेरा प्रिंटर एक ही SSID (शायद अतिथि और नियमित) के साथ दो राउटरों को सूचीबद्ध करता है, और मुझे मैक पते से चुनना चाहता है। यह जवाब askubuntu.com/a/222553 मुझे iwconfig | grep "Access Point"कमांड के साथ सूचीबद्ध दो में से एक देता है । मुझे लगता है कि जो दो से बंद था वह वायर्ड कनेक्शन का कैश्ड संस्करण था, जिसे मैंने वायरलेस रूट प्राप्त करने का प्रयास करने के लिए अनप्लग किया था।
hlongmore

10

ओब्लेटेड कमांड ifconfig(8), arp(8) या route(8) का उपयोग न करें । नए कमांड का उपयोग करें जो उन्हें प्रतिस्थापित करते हैं और अधिक कर सकते हैं, ip(8)।

ip route listयह देखने के लिए उपयोग करें कि defaultआपकी मशीन में कौन सा राउटर है। यह एक लाइन विच होना चाहिए जो default(या 0.0.0.0) से शुरू होता है और इसके बाद राउटर के लिए आईपी एड्रेस होता है। आप IPv6 का उपयोग करता है, तो बस जोड़ने -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

झंडे के साथ लाइन पर ध्यान दें UGGatewayउस पंक्ति के कॉलम का पता वही है जो आप खोज रहे हैं। तब का पालन करें 2707974 के सुझाव के साथ arp -n(आईपी पिंग अगर यह पहली बार में दिखाई नहीं देता है), और मिलान लाइन पाते हैं:

$ 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. हमें उस लाइन से तीसरे फील्ड के रूप में IP मिलता है cutऔर grep लाइन जिसमें उस IP होती है और नेटवर्क पड़ोस के आउटपुट से उसके तुरंत बाद स्पेस होता है। (अंतरिक्ष के मिलान से बचने के लिए आवश्यक है 192.168.0.1के साथ 192.168.0.10), मिलान किया लाइन की तरह कुछ होगा:

    192.168.0.1 देव एथ 1 lladdr ca: fe: ba: be: be: af पहुंच

  3. अब हम मैदान को प्राप्त करते हैं और इसे बड़ा बनाते हैं:

    सीए: एफई: BA: BE: BE: वायुसेना


2
थोड़ा और स्पष्टीकरण हम में से बाकी लोगों को आपकी स्क्रिप्ट को समझने में मदद करेगा!
जॉर्ज उडेन

1
अंतिम पंक्ति के लिए एक बैश फीचर है जो ऊपरी मामले में एक चर का विस्तार करता है:echo ${info[5]^^}
डेविड फ़ॉस्टर

1
@DavidFoerster मैं एक पोर्टेबल कमांड लिखना चाहता था, लेकिन ओरिजिनल वेरिएंट पर निर्भर था, जो एक (एक से) के लिए विशिष्ट इंडेक्सिंग पर निर्भर था, इसलिए मैंने तीन सबसे लोकप्रिय गोले के बीच वेरिएंट पोर्टेबल के साथ उत्तर को अपडेट किया है
दु: ख

2

एक पूर्ण समाधान नहीं है, लेकिन आप arp -n की जांच करते हैं।

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) तो आपको arp cache पर इसका MAC एड्रेस होना चाहिए ...
Rmano

धन्यवाद @ २ mac० @ ९ 270४ टेबल मेरे लिए उपयोगी नहीं है।
user4650183

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