macos কিভাবে ম্যাক OSX এ ডিফল্ট গেটওয়ে পেতে



routes netstat (3)

Grep ইউটিলিটি প্রয়োজন হয় না। Awk এটা সব করতে পারেন:

    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=$( 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

এই উদাহরণগুলি ম্যাভেরিক্স টার্মিনাল.এপ এ পরীক্ষিত এবং শুধুমাত্র OSX এ নির্দিষ্ট। উদাহরণস্বরূপ, অন্যান্য * নিক্স সংস্করণগুলি প্রায়শই ইথারনেট / বেতার সংযোগগুলির জন্য 'eth' ব্যবহার করে, 'en' নয়। এটি শুধুমাত্র ksh সঙ্গে পরীক্ষা করা হয়। অন্যান্য শেল একটি সামান্য ভিন্ন সিনট্যাক্স প্রয়োজন হতে পারে।

https://ffff65535.com

আমি একটি ম্যাক মেশিনে ডিফল্ট গেটওয়ে পুনরুদ্ধার করতে হবে। আমি জানি যে লিনাক্স রুট-এ একটি আউটপুট দেবে যা থেকে আমি এই তথ্যটি সহজেই পুনরুদ্ধার করতে পারি। তবে এটি ম্যাক OSX (স্নো চিতাবাঘ) তে কাজ করছে না।

আমি netstat -nr | grep 'default' চেষ্টা netstat -nr | grep 'default' netstat -nr | grep 'default' , তবে আমি লিনাক্স / ইউনিক্সে route -n দ্বারা উত্পাদিত মত ক্লিনার আউটপুটের জন্য অপেক্ষা করছিলাম। netstat -nr তাদের জন্য সমস্ত ইন্টারফেস এবং ডিফল্ট গেটওয়ে তালিকাবদ্ধ করে।

কোনও পরামর্শ বা সঠিক দিকের একটি ইঙ্গিত প্রশংসা করা হবে।


আপনি এর সাথে চেষ্টা করতে পারেন:

route -n get default

এটি জিএনইউ / লিনাক্সের 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

netstat -nr আপনি কি প্রয়োজন। এমনকি ম্যাক্সএক্স এর নেটওয়ার্ক ইউটিলিটি অ্যাপ (*) রাউটিং তথ্য দেখানোর জন্য নেটস্ট্যাটের আউটপুট ব্যবহার করে।

আশা করি এটা কাজে লাগবে :)

(*) আপনি open /Applications/Utilities/Network\ Utility.app দিয়ে নেটওয়ার্ক ইউটিলিটি শুরু করতে পারেন


সংশ্লিষ্ট আইপি ঠিকানাগুলির তালিকা পাওয়ার জন্য, আপনি 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 শুধুমাত্র 'ডিফল্ট' দিয়ে লাইনটি নির্বাচন করে এবং পাঠ্যতে দ্বিতীয় কলামটি প্রদর্শন করার জন্য প্যাটার্নের সাথে মিলিত হয়।

আপনি একইভাবে রুট ব্যবহার করতে পারেন - প্রয়োজনীয় ফলাফল পেতে ডিফল্ট কমান্ড পাবেন না। পুরো কমান্ড হয়

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

এই কমান্ডগুলি লিনাক্সে পাশাপাশি ইউনিক্স সিস্টেম এবং ম্যাক অপারেটিং সিস্টেমে ভাল কাজ করে।





ifconfig