जाहिर है आप हाल ही में उपयोग करने के लिए कोशिश की है 192.168.0.190
, 192.168.0.191
... 192.168.0.199
(नोटिस देखते हैं 10 (incomplete)
रों)। इन पते पर नहीं पहुंचा जा सकता है, फिर भी कर्नेल कैश कुछ समय के लिए अपनी अधूरी प्रविष्टियाँ रखता है।
मुझे लगता है कि अगर आपने ऐसा किया तो आप arp -a | grep "192.168.0.19"
खुद ही इसका पता लगा सकते हैं।
मेरा arp -a
(Ubuntu 14.04.5 LTS पर) कोष्ठक में आईपी पते डालता है। प्रयत्न, कोशिश:
arp -a | grep "(192.168.0.19)" | awk '{ print $4 }'
या आप विकल्प के (incomplete)
साथ एस को फ़िल्टर कर सकते -v
हैं grep
:
arp -a | grep "192.168.0.19" | grep -v "(incomplete)" | awk '{ print $4 }'
ऊप्स! बाद वाला संस्करण उन मेजबानों के मैक पते वापस कर सकता है जिनकी आपको उम्मीद नहीं है। सोचें कि अगर 192.168.0.19
अधूरी प्रविष्टि है और जैसे 192.168.0.190
पूरी हो गई है तो क्या होगा । मैं इसे शैक्षिक उद्देश्य के लिए यहां छोड़ता हूं।
फिर भी grep -v
उपयोगी हो सकता है (आईपी पते के आगे कोष्ठक ध्यान दें)
arp -a | grep "(192.168.0.19)" | grep -v "(incomplete)" | awk '{ print $4 }'
इस तरह से आपको वांछित मैक पता मिलता है, या इस आईपी के लिए कोई पूर्ण प्रविष्टि नहीं है।
अंत में मेरा arp
केवल विशिष्ट आईपी के बारे में जानकारी वापस कर सकते हैं arp -a 192.168.0.19
:। यह शुरू करने का सबसे अच्छा तरीका है। पूरा कमांड इस तरह दिख सकता है:
arp -a 192.168.0.19 | grep -v "(incomplete)" | awk '{ print $4 }'
उफ़ फिर से! हर जगह नुकसान। यदि होस्टनाम 192.168.0.19
जैसा है तो यह अंतिम कमांड कोई आउटपुट नहीं लौटाएगा foobar-(incomplete)
। संशोधित संस्करण:
arp -a 192.168.0.19 | awk '{ print $4 }' | grep -v "(incomplete)"