আইপি ঠিকানা পাওয়ার জন্য শেল কমান্ড?


24

কোনও উবুন্টু বাক্সের আইপি ঠিকানা খুঁজতে কোনও বাশ কমান্ড রয়েছে? আমার আইপি ঠিকানাটি সন্ধান করতে হবে যাতে আমি পরে মেশিনে ছড়িয়ে দিতে পারি।

উত্তর:


32

/sbin/ifconfig -a


হ্যাঁ এবং আপনি যদি সার্ভারকে দূর থেকে পরিচালনা করার পরিকল্পনা করছেন vi /etc/network/interfacesএবং ইন্টারফেসটি সেট করুন static( help.ubuntu.com/8.10/serverguide/C/network-configration.html )
গ্রেভিফেস

এই কমান্ডটি চালানো হলে সংখ্যার পুরো তালিকা প্রকাশিত হয়। আমাদের কোনটি ব্যবহার করা উচিত? inet addr?
কম্পিউটার

25

তুমি ব্যবহার করতে পার:

/bin/ip addr

3
@opierce আপনি এমপিব্লোকের উত্তরটিকে সঠিক হিসাবে চিহ্নিত করেছেন, তবে একটি এফওয়াইআই হিসাবে আপনার এই উত্তরটি ব্যবহার করা উচিত, কারণ এটি iproute2 স্যুটটির অংশ। ifconfigএখন পর্যায়ক্রমে চলছে।
jwbensley

3
আপনি কেবল দৌড়ে এই সংক্ষিপ্ত করতে পারেন ip a
gak

19

আপনার ব্যবহারের অভ্যন্তরীণ ঠিকানা থাকলে, পরীক্ষা করা হচ্ছে

curl http://myip.dnsomatic.com

ইউনিক্স শেল সম্পর্কে ভাল ধারণা হতে পারে।
অথবা, কেবলমাত্র আপনার ব্রাউজারে সেই ইউআরএলটি ছোঁড়া।


আপনি যদি " ifconfig -a" ফলাফলের থেকে আলাদা উত্তর পেয়ে থাকেন
তবে ifconfigপ্রদত্তটি আপনার অভ্যন্তরীণ ঠিকানা দিয়েছে - যা সম্ভবত বাইরে থেকে কাজ করবে না।


এমনকি যদি সবকিছু ঠিকঠাক মনে হয় তবে আপনার কাছে এমন জায়গায় একটি ফায়ারওয়াল থাকতে পারে যা আগত এসএসএস সংযোগগুলি অস্বীকার করবে ।
কোন সময় আপনি মেশিনের একটি ব্রাউজার থেকে আগ্রহের বন্দরটি চেষ্টা করতে হবে,

http://www.canyouseeme.org/

এটি এর মাধ্যমে সংযোগ নিশ্চিত করবে,

  • বাহ্যিক আইপি ঠিকানা (এটি আপনাকে সেই পৃষ্ঠায় দেখাচ্ছে)
  • NAT, পোর্ট ফরওয়ার্ড
  • ফায়ারওয়াল

সত্য, তবে যদি এটি হয় তবে সম্ভবত অভ্যন্তরীণ আইপি যা-ই হোক না কেন এটির সাথে মেশানোর জন্য এনএটি / পোর্ট ফরওয়ার্ডিং নিয়ম নেই।
কাইল ব্র্যান্ড্ট

@ কাইল, যা যুক্ত করা যায় ...
নিক

3
+1 এর জন্যcurl http://myip.dnsomatic.com
জটসিং

এর অনুরূপ, আরও রয়েছেcurl ifconfig.me
jwbensley

19

/bin/hostname -i


3
এই ক্ষেত্রে আমি ব্যবহার করার পরামর্শ দেব hostname --all-ip-addresses। হোস্টের সমস্ত নেটওয়ার্ক ঠিকানা প্রদর্শন করুন। এই বিকল্পটি সমস্ত নেটওয়ার্ক ইন্টারফেসে সমস্ত কনফিগার করা ঠিকানা গণনা করে। লুপব্যাক ইন্টারফেস এবং আইপিভি 6 লিঙ্ক-স্থানীয় ঠিকানা বাদ দেওয়া হয়েছে। বিকল্প -i এর বিপরীতে, এই বিকল্পটি নাম রেজোলিউশনের উপর নির্ভর করে না। আউটপুট ক্রম সম্পর্কে কোনও অনুমান করবেন না।
lrkwz

5
@ Lrkwz এর মন্তব্যের ছোট বিকল্প/bin/hostname -I
hanxue

ধন্যবাদ @ হ্যাঙ্কস - এটির নিজের একটি উত্তর হওয়া উচিত - সবচেয়ে পরিষ্কার আউটপুট সহ সংক্ষিপ্ত কমান্ড - ঠিক আমি যা খুঁজছিলাম! আমার অভিজ্ঞতায় (উবুন্টু), /bin/hostname -iকেবল দেয় 127.0.1.1, যা অকেজো।
রজার ডিউক


9
/sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'

আপনার যদি আপনার অভ্যন্তরীণ ঠিকানা প্রয়োজন হয় তবে ifconfig এর পরে আপনার ইন্টারফেস যুক্ত করুন

 /sbin/ifconfig eth0|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'

+1, একটি সমস্যা সমাধানের জন্য আমার ঠিক এটির প্রয়োজন ছিল। ওয়ান-লাইনারদের জন্য হুররে!
জে পোলফার

+1 শিরোনাম ছাড়াই -1: / sbin / ifconfig | grep inet | sed 's / \: / /' | awk 'NR == 1 {মুদ্রণ করুন $ 3}'
জওলিস

ধন্যবাদ, এটি ডেবিয়ানে কাজ করে তবে ওএস এক্সে এটি কাজ করে না, কিছু জঞ্জাল ফিরিয়ে দেয়। এটি দুর্দান্ত হবে যদি আমরা উভয় ক্ষেত্রে কাজ করে এমন একটি লাইন নিয়ে আসতে পারি। ওএস এক্স-এ ইফকনফিগের
sorin

6

যদি আপনি কোনও NAT এর পিছনে থাকেন এবং আপনার সার্বজনীন আইপি দরকার হয় তবে এটি ব্যবহার করুন:

wget -q -O - checkip.dyndns.org | sed -e 's /। বর্তমান আইপি ঠিকানা: // '-e' গুলি / < $ // '

থেকে নেওয়া হয়েছে: http://www.go2linux.org/ কি-is-my-public-ip-address-with-linux


3

যদি আপনার রাউটারের আইপি ঠিকানাটি খুঁজে বের করতে হয় তবে আপনি এই আদেশটি চালাতে পারেন।

খনন + সংক্ষিপ্ত myip.opendns.com @ 208.67.222.222 @ 208.67.220.220

আপনি যদি আপনার ডিএনএস সার্ভারের জন্য ওপেনডিএনএস ব্যবহার করে থাকেন তবে আপনি এটি সংক্ষিপ্ত করে দিতে পারেন:

সংক্ষিপ্ত myip.opendns.com

আপনি এই কমান্ডটি ব্যবহার করতে পারেন।

কার্ল http://myip.dnsomatic.com

3

আপনার যদি একাধিক ইন্টারফেস থাকে তবে আপনি কোনটি আইপি চান তা নির্দিষ্ট করে কার্যকর হতে পারে। আপনি যদি ইন্টারফেস 'eth0' এর আইপিভি 4 ঠিকানা চান:

ip addr show dev eth0 | grep "inet " | awk '{ print $2 }' 

আপনি যদি ইন্টারভিউস 'eth0' এর আইপিভি 6 ঠিকানা চান:

ip addr show dev eth0 | grep "inet6 " | awk '{ print $2 }' 

আপনি যদি ল্যাপটপের দুটি সাধারণ ইন্টারফেসের মধ্যে আইপি অনুসন্ধান করতে চান, wlan0 এবং eth0:

CURRENT_IP=''
for INTERFACE in wlan0 eth0; do
    if [ -z $CURRENT_IP ]; then
        CURRENT_IP=$(ip addr show dev $INTERFACE | grep "inet " | awk '{ print $2 }')
    fi
done

3

কেবল এই পৃষ্ঠাটি কার্ল করুন :

$ curl wtfismyip.com/text


এবং এই বছরগুলিতে ইতিমধ্যে উল্লিখিত অনুরূপ পরিষেবার তুলনায় ঠিক কীভাবে এটি সর্বোত্তম?
এসা জোকিনেন

2

এখানে একটি লাইন লিনাক্স এবং ওএস এক্স-তেও কাজ করে এবং এটি স্থানীয় নয় এমন প্রথম ঠিকানাটি ফিরিয়ে দেবে:

ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'

Https://stackoverflow.com/a/13322549/99834 এ ক্রেডিট প্রেরণ করুন



1

এটি সম্পর্কে সহজতম উপায় সম্ভবত সম্ভবত

ifconfig eth0

ধরে নিচ্ছি মেশিনটির ডিফল্ট তারযুক্ত ইন্টারফেসে একটি আইপি ঠিকানা রয়েছে - আপনার প্রয়োজন হতে পারে

ifconfig wlan0

যদি এটি ওয়াইফাইতে থাকে


1
ip address show scope link

এটি আপনাকে জীবনধারণের আইপি ঠিকানা প্রদর্শন করবে - এর লিঙ্ক আছে - ইন্টারফেস রয়েছে। তবে এটি বাশ আদেশ নয়। আইপি এবং নেটওয়ার্ক সম্পর্কে আদৌ জানার ক্ষমতা বাশের নেই।


1

আমি যা বুঝতে পেরেছি তা হল আপনি একটি দূরবর্তী উবুন্টু মেশিনটি সংযুক্ত করতে চান যার ডায়নামিক আইপি রয়েছে। Dyndns.org সাইটে যান এবং একটি বিনামূল্যে অ্যাকাউন্ট খুলুন open তারপরে রিমোট মেশিনে আপনাকে একটি ডায়নামিক আইপি সরঞ্জাম ইনস্টল করতে হবে।

sudo aptitude install dyndns-client

যাতে আপনি মাধ্যমে দূরবর্তী মেশিন ssh করতে পারেন

ssh username@yourdynamicnamealias.dyndns.org

সুতরাং কনফিগারেশনের পরে আপনার আর কখনও দূরবর্তী মেশিন আইপি ঠিকানা প্রয়োজন হবে না।


ডায়নামিক আইপিগুলি মোকাবেলার জন্য এটি আমার পছন্দসই পদ্ধতি। dyndns.org একটি দুর্দান্ত, নিখরচায় পরিষেবা।
জন ব্যারেট

1

আমি যা ব্যবহার করছি তা এখানে:

LC_ALL=C /sbin/ifconfig | awk '
    /inet addr/ {
        gsub("addr:","");
        if(($2!="127.0.0.1") && ($2!="0.0.0.0") && ($2!=""))
            { print $2 };
    }'

1

আপনার যদি প্রদত্ত ইন্টারফেসের কেবল একটি আইপি প্রয়োজন হয় তবে আপনি এটি করতে পারেন:

ifconfig eth0 | grep "inet " | awk '{gsub("addr:","",$2);  print $2 }' 


0

আপনি যদি বাক্সটির সার্বজনীন আইপি ঠিকানা সন্ধান করছেন , আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন:

  • dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \"

আপনি আইপিভি 4 বা আইপিভি 6 ঠিকানার dig(1)মতো -4বা -6বিশেষত সন্ধানের জন্য বিকল্পগুলি ব্যবহার করতে পারেন ; গুগল TXTপ্রকারের একটি রেকর্ডে একটি উত্তর সরবরাহ করবে, যা উপস্থাপন করার সময় এর চারপাশে উদ্ধৃতি থাকবে dig; যদি আপনি পরবর্তীকালে ইউটিলিটিগুলির সাথে ভেরিয়েবলটি ব্যবহার করতে চান তবে আপনাকে উদ্ধৃতিগুলি সরানোর জন্য ট্র (1) এরtraceroute মতো কিছু ব্যবহার করতে হবে ।

অন্যান্য বিকল্পগুলির মধ্যে অন্তর্ভুক্ত রয়েছে whoami.akamai.netএবং myip.opendns.comযা উত্তর Aএবং AAAAরেকর্ড করে ( TXTগুগলের উপরের উদাহরণের পরিবর্তে ), সুতরাং তাদের উদ্ধৃতি অপসারণের প্রয়োজন নেই:

  • dig -4 @ns1-1.akamaitech.net -t a whoami.akamai.net +short

  • dig -4 @resolver1.opendns.com -t any myip.opendns.com +short

  • dig -6 @resolver1.opendns.com -t any myip.opendns.com +short

ভেরিয়েবলগুলি সেট করতে উপরের সমস্ত বিকল্প ব্যবহার করে এমন একটি নমুনা স্ক্রিপ্ট এখানে দেওয়া হয়েছে:

#!/bin/sh
IPANY="$(dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \")"
GOOGv4="$(dig -4 @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \")"
GOOGv6="$(dig -6 @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \")"
AKAMv4="$(dig -4 @ns1-1.akamaitech.net -t a whoami.akamai.net +short)"
CSCOv4="$(dig -4 @resolver1.opendns.com -t a myip.opendns.com +short)"
CSCOv6="$(dig -6 @resolver1.opendns.com -t aaaa myip.opendns.com +short)"
printf '$GOOG:\t%s\t%s\t%s\n' "${IPANY}" "${GOOGv4}" "${GOOGv6}"
printf '$AKAM:\t%s\n$CSCO:\t%s\t%s\n' "${AKAMv4}" "${CSCOv4}" "${CSCOv6}"

আপনি একটি ব্যক্তিগত IP ঠিকানা খুঁজছেন, অথবা বক্স নির্ধারিত সব IP ঠিকানার একটি এমন সেট, আপনি কিছু সমন্বয় ব্যবহার করতে পারে ifconfig, (বাসদ এবং জিএনইউ / লিনাক্স দিকে) ip addr(জিএনইউ / লিনাক্স দিকে), hostname(অপশন -iএবং -Iউপর জিএনইউ / লিনাক্স) এবং netstatকী চলছে তা দেখার জন্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.