मैक OSX में डिफ़ॉल्ट गेटवे कैसे प्राप्त करें


119

मुझे मैक मशीन पर डिफ़ॉल्ट गेटवे को पुनः प्राप्त करना होगा। मुझे पता है कि लिनक्स रूट में -n एक आउटपुट देगा जिससे मैं इस जानकारी को आसानी से प्राप्त कर सकता हूं। हालांकि यह मैक ओएसएक्स (स्नो लेपर्ड) में काम नहीं कर रहा है।

मैंने भी कोशिश की netstat -nr | grep 'default', लेकिन मैं route -nलिनक्स / यूनिक्स द्वारा उत्पादित क्लीनर की तरह उम्मीद कर रहा था । netstat -nrउनके लिए सभी इंटरफेस और डिफ़ॉल्ट गेटवे को सूचीबद्ध करता है।

किसी भी तरह के सुझाव या सही दिशा में एक संकेत की सराहना की जाएगी।


3
सुपरयूज़र में माइग्रेट करें?
जेएमडी

3
FYI करें आप स्टेटस बार पर WiFi आइकन पर विकल्प + क्लिक कर सकते हैं। यह गेटवे सहित अतिरिक्त जानकारी दिखाता है।
पेट्र Petजड्सकी

जवाबों:


189

आप के साथ कोशिश कर सकते हैं:

route -n get default

यह GNU / Linux route -n(या सम ip route show) के समान नहीं है, लेकिन डिफ़ॉल्ट मार्ग की जानकारी की जाँच के लिए उपयोगी है। इसके अलावा, आप उस रूट की जांच कर सकते हैं जो पैकेज किसी विशेष होस्ट को ले जाएगा। उदाहरण के लिए

route -n get www.yahoo.com

उत्पादन के समान होगा:

   route to: 98.137.149.56
destination: default
       mask: 128.0.0.0
    gateway: 5.5.0.1
  interface: tun0
      flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0      1500         0

IMHO netstat -nrजो आपको चाहिए। यहां तक ​​कि MacOSX की नेटवर्क उपयोगिता ऐप (*) रूटिंग जानकारी दिखाने के लिए नेटस्टैट के आउटपुट का उपयोग करती है। रूटिंग टेबल जानकारी प्रदर्शित करने वाली नेटवर्क उपयोगिता स्क्रीनशॉट

आशा है कि ये आपकी मदद करेगा :)

(*) आप के साथ नेटवर्क उपयोगिता शुरू कर सकते हैं open /Applications/Utilities/Network\ Utility.app


धन्यवाद। नए घर में आपने मुझे कुछ घंटों के लिए बचाया जब टाइम वार्नर के मॉडेम ने फैसला किया कि आईपी मेरे राउटर को इस्तेमाल करना चाहता था, और ifconfig ने गेटवे के बारे में झूठ बोला।
क्रिस डोगेट

38

जुड़े आईपी पते की सूची प्राप्त करने के लिए, आप netstat कमांड का उपयोग कर सकते हैं

netstat -rn 

यह आईपी पते की एक लंबी सूची देता है और आवश्यक फ़ील्ड को खोजना आसान नहीं है। नमूना परिणाम निम्नानुसार है:

Routing tables
Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.195.1      UGSc           17        0     en2
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              1   254107     lo0
169.254            link#7             UCS             0        0     en2
192.168.195        link#7             UCS             3        0     en2
192.168.195.1      0:27:22:67:35:ee   UHLWIi         22      397     en2   1193
192.168.195.5      127.0.0.1          UHS             0        0     lo0

More result is truncated.......

प्रवेश द्वार का आईपी पता पहली पंक्ति में है; पहले कॉलम में डिफ़ॉल्ट रूप से एक।

परिणाम की केवल चयनित पंक्तियों को प्रदर्शित करने के लिए, हम netstat के साथ grep कमांड का उपयोग कर सकते हैं

netstat -rn | grep 'default'

यह आदेश फ़िल्टर करता है और परिणाम की उन पंक्तियों को डिफ़ॉल्ट रूप से प्रदर्शित करता है। इस मामले में, आप निम्नलिखित परिणाम देख सकते हैं:

default            192.168.195.1      UGSc           14        0     en2

यदि आप प्रवेश द्वार के केवल आईपी पते को खोजने में रुचि रखते हैं और कुछ नहीं तो आप awk का उपयोग करके परिणाम को फ़िल्टर कर सकते हैं । Awk कमांड इनपुट परिणाम में पैटर्न से मेल खाता है और आउटपुट प्रदर्शित करता है। यह तब उपयोगी हो सकता है जब आप किसी प्रोग्राम या बैच जॉब में सीधे अपने रिजल्ट का उपयोग कर रहे हों।

netstat -rn | grep 'default' | awk '{print $2}'

Awk कमांड टेक्स्ट में रिजल्ट के दूसरे कॉलम को मैच और प्रिंट करने के लिए कहता है । अंतिम परिणाम इस प्रकार दिखता है:

192.168.195.1

इस मामले में, netstat सभी परिणाम प्रदर्शित करता है, grep केवल इसमें 'डिफ़ॉल्ट' के साथ लाइन का चयन करता है, और awk आगे पाठ में दूसरा कॉलम प्रदर्शित करने के पैटर्न से मेल खाता है।

आप आवश्यक परिणाम प्राप्त करने के लिए डिफ़ॉल्ट रूप से मार्ग -n का उपयोग कर सकते हैं। पूरा कमांड है

route -n get default | grep 'gateway' | awk '{print $2}'

ये कमांड लाइनक्स के साथ-साथ यूनिक्स सिस्टम और मैक ओएस में भी अच्छा काम करते हैं।


8

Grep उपयोगिता की आवश्यकता नहीं है। अवाक यह सब कर सकता है:

    netstat -rn | awk '/default/ {print $2}'
      192.168.128.1

ध्यान दें कि यदि आपके पास कुछ समानताएं (या एक वीपीएन, या दोनों) चल रही हैं, तो आप दो या अधिक डिफ़ॉल्ट रूटिंग प्रविष्टियों को देख सकते हैं - यदि आप ऊपर दिए गए 'grep' सुझाव का उपयोग करते हैं, तो यह सही होगा।

    netstat -rn | awk '/default/ {print $2}'
      192.168.128.1
      link#12

तथा

    netstat -rn | awk '/default/ {print $2}'                             
      utun1
      192.168.128.1
      link#12

आगे उपयोग के लिए एक चर (_default) सेट करने के लिए ('डिफ़ॉल्ट' के लिए केवल एक प्रविष्टि मानकर) .....

    _default=$( netstat -rn inet | awk '/default/ {print $2}' ) # I prefer $( ... ) over back-ticks

कई डिफ़ॉल्ट मार्गों का उपयोग करने के मामले में:

    netstat -rn | awk '/default/ {if ( index($6, "en") > 0 ){print $2} }'
      192.168.128.1

ये उदाहरण Mavericks Terminal.app में परीक्षण किए गए हैं और केवल OSX के लिए विशिष्ट हैं। उदाहरण के लिए, अन्य * निक्स संस्करण अक्सर ईथरनेट / वायरलेस कनेक्शन के लिए 'एथ' का उपयोग करते हैं, न कि 'एन' के लिए। यह भी केवल ksh के साथ परीक्षण किया गया है। अन्य गोले को थोड़ा अलग वाक्यविन्यास की आवश्यकता हो सकती है।


3

मैं इन लाइनों के साथ कुछ का उपयोग करेगा ...

 netstat -rn | grep "default" | awk '{print $2}'

हम इसे ऑब्जेक्टिव-सी प्रोग्रामिंग में कैसे प्राप्त कर सकते हैं। क्या इसके लिए कोई फ्रेमवर्क है
MacDeveloper

0

सिस्टम वरीयताएँ का उपयोग करना:

चरण 1: Apple आइकन (स्क्रीन के ऊपर बाईं ओर) पर क्लिक करें और सिस्टम वरीयताएँ चुनें।

चरण 2: नेटवर्क पर क्लिक करें।

चरण 3: अपने नेटवर्क कनेक्शन का चयन करें और फिर उन्नत पर क्लिक करें।

चरण 4: टीसीपी / आईपी टैब का चयन करें और अपने गेटवे आईपी पते को राउटर के बगल में सूचीबद्ध करें।

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