जाहिर है आप हाल ही में उपयोग करने के लिए कोशिश की है 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)"