আমার পাবলিক আইপি নির্ধারণের জন্য কমান্ড?

যদি আমি চেক করি গুগল, আমি আমার পাবলিক আইপি দেখতে পারেন. উবুন্টু কমান্ড-লাইনে এমন কিছু আছে যা আমাকে একই উত্তর দেবে?

আপনি যদি রাউটারের পিছনে না থাকেন তবে আপনি এটি ব্যবহার করে এটি খুঁজে পেতে পারেন ifconfig.

আপনি যদি রাউটারের পিছনে থাকেন তবে রাউটারটি একটি নেটওয়ার্ক ঠিকানা অনুবাদ করার সাথে সাথে আপনার কম্পিউটার পাবলিক আইপি ঠিকানা সম্পর্কে জানতে পারবে না আপনার সর্বজনীন আইপি ঠিকানাটি কী ব্যবহার করছে তা আপনি কিছু ওয়েবসাইট জিজ্ঞাসা করতে পারেন curl অথবা wget এবং এটি থেকে আপনার প্রয়োজনীয় তথ্য বের করুন:

curl -s https://checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'  

বা ছোট

curl https://ipinfo.io/ip

বাহ্যিক আইপি খোঁজার জন্য, আপনি বাহ্যিক ওয়েব ভিত্তিক সেবা ব্যবহার, বা সিস্টেম ভিত্তিক পদ্ধতি ব্যবহার করতে পারেন. সহজ এক বহিরাগত সেবা ব্যবহার করা হয়, এছাড়াও ifconfig আপনি একটি পিছনে না শুধুমাত্র যদি ভিত্তিক সমাধান আপনার সিস্টেমে কাজ করবে NAT. দুটি পদ্ধতি বিস্তারিত নিচে আলোচনা করা হয়েছে.

বাহ্যিক পরিষেবা ব্যবহার করে বাহ্যিক আইপি সন্ধান করা

সবচেয়ে সহজ উপায় হ ' ল কমান্ডলাইন ব্রাউজারের মাধ্যমে বাহ্যিক পরিষেবা ব্যবহার করা বা সরঞ্জাম ডাউনলোড করুন. যেহেতু wget উবুন্টু ডিফল্টরূপে পাওয়া যায়, আমরা যে ব্যবহার করতে পারেন.
আপনার আইপি সন্ধান করতে, ব্যবহার করুন-

$ wget -qO- https://ipecho.net/plain ; echo

সৌজন্য:

আপনি ব্যবহার করতে পারেন lynx(ব্রাউজার) অথবা curl এর জায়গায় wget উপরে কমান্ড ছোটখাট পরিবর্তনের সঙ্গে, আপনার বাহ্যিক আইপি এটি.

ব্যবহার curl আইপি খুঁজে পেতে:

$ curl https://ipecho.net/plain

একটি ভাল ফরম্যাট আউটপুট ব্যবহারের জন্য:

$ curl https://ipecho.net/plain ; echo

একটি দ্রুত (যুক্তিযুক্তভাবে দ্রুততম) পদ্ধতি ব্যবহার করে dig সঙ্গে OpenDNS সমাধানকারী হিসাবে:

এখানে অন্যান্য উত্তর সব দূরবর্তী সার্ভারে এইচটিটিপি উপর যান. তাদের মধ্যে কেউ কেউ আউটপুট পার্সিং প্রয়োজন, বা সার্ভার প্লেইন টেক্সট সাড়া করতে ব্যবহারকারী এজেন্ট হেডার উপর নির্ভর করে. তারা বেশ ঘন ঘন পরিবর্তন (নিচে যান, তাদের নাম পরিবর্তন, বিজ্ঞাপন করা, আউটপুট বিন্যাস ইত্যাদি পরিবর্তন হতে পারে.).

  1. ডিএনএস রেসপন্স প্রোটোকল প্রমিত হয় (বিন্যাস সামঞ্জস্যপূর্ণ থাকবো).
  2. ঐতিহাসিকভাবে ডিএনএস সেবা (ওপেনডিএনএস, গুগল পাবলিক ডিএনএস, ..) অনেক বেশি সময় বেঁচে থাকার ঝোঁক এবং আরও স্থিতিশীল, স্কেলেবল এবং সাধারণত যে কোনও নতুন নিতম্বের চেয়ে দেখাশোনা করা হয় whatismyip.com এইচটিটিপি পরিষেবা আজ গরম
  3. (মাইক্রো-অপ্টিমাইজেশনের বিষয়ে যত্নশীল সেই গিকদের জন্য), এই পদ্ধতিটি সহজাতভাবে দ্রুত হওয়া উচিত(এটি কেবল কয়েকটি মাইক্রো সেকেন্ডের মধ্যেই হোক))

রিসোলভার হিসাবে ওপেনডিএনগুলির সাথে খনন ব্যবহার করা:

$ dig +short myip.opendns.com @resolver1.opendns.com111.222.333.444

থেকে কপি করা: https://unix.stackexchange.com/a/81699/14497

বাহ্যিক পরিষেবার উপর নির্ভর না করে বাহ্যিক আইপি সন্ধান করা

  • আপনি যদি আপনার নেটওয়ার্ক ইন্টারফেসের নাম জানেন

আপনার টার্মিনালে নিম্নলিখিত টাইপ করুন:

$ LANG=c ifconfig <interface_name> | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'

উপরে, প্রতিস্থাপন করুন <interface_name> আপনার প্রকৃত ইন্টারফেসের নাম সহ, যেমন: eth0, eth1, pp0, ইত্যাদি..

উদাহরণ ব্যবহার:

$ LANG=c ifconfig ppp0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'111.222.333.444
  • আপনি যদি আপনার নেটওয়ার্ক ইন্টারফেসের নাম না জানেন

আপনার টার্মিনালে নিম্নলিখিতটি টাইপ করুন (এটি আপনার সিস্টেমের প্রতিটি নেটওয়ার্ক ইন্টারফেসের নাম এবং আইপি ঠিকানা পায়):

$ LANG=c ifconfig | grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }'

উদাহরণ ব্যবহার:

$ LANG=c ifconfig | grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }'lo: 127.0.0.1ppp0: 111.222.333.444

এন বি: আউটপুট নির্দেশক এবং বাস্তব নয়.

সৌজন্য: https://www.if-not-true-then-false.com/2010/linux-get-ip-address/

আপডেট

  1. LANG=c যোগ করা হয়েছে ifconfig ভিত্তিক ব্যবহার, যাতে এটি সর্বদা ইংরেজি আউটপুট দেয়, লোকেল সেটিং নির্বিশেষে.

আমার প্রিয় সবসময় হয়েছে :

curl ifconfig.me

সহজ, টাইপ করা সহজ.

আপনাকে প্রথমে কার্ল ইনস্টল করতে হবে;)

যদি ifconfig.me নিচে চেষ্টা করা হয় icanhazip.com এবং অথবা ipecho.net

curl icanhazip.com

অথবা

curl ipecho.net

icanhazip.com আমার প্রিয়.

curl icanhazip.com

আপনি স্পষ্টভাবে আইপিভি 4 অনুরোধ করতে পারেন:

curl ipv4.icanhazip.com

আপনার যদি না থাকে curl আপনি ব্যবহার করতে পারেন wget পরিবর্তে:

wget -qO- icanhazip.com

আমি সবকিছু বিরক্তিকর এবং ধীর হতে পেয়েছি, তাই আমি আমার নিজের লিখেছেন. এটা সহজ এবং দ্রুত.

তার এপিআই হয় http://api.ident.me/

উদাহরণ:

curl ident.mecurl v4.ident.mecurl v6.ident.me

প্রযুক্তিগত নকশা: ডিএনএসে, ident.me এ এবং এএএএএ উভয় রেকর্ড আছে, v4.ident.me শুধুমাত্র একটি রেকর্ড আছে, এবং v6.ident.me শুধুমাত্র একটি এএএএ রেকর্ড আছে. এই আইপিগুলিতে পোর্টগুলি 443 এবং 80 এনজিআইএনএক্স দ্বারা সরবরাহিত শংসাপত্রগুলি ব্যবহার করে এসএসএল সরবরাহ করে letsencrypt.org সার্টবোটের মাধ্যমে এবং নিম্নলিখিত কনফিগারেশন সহ (অংশ):

server {  […]  server_name .ident.me;  location / {    default_type text/plain;    return 200 $remote_addr;    add_header Access-Control-Allow-Origin "*";    add_header Cache-Control "no-cache, no-store, must-revalidate";  }}

আপনার সর্বজনীন আইপি সন্ধানের জন্য আপনি এইচটিটিপি অনুরোধের পরিবর্তে একটি ডিএনএস অনুরোধ ব্যবহার করতে পারেন:

$ dig +short myip.opendns.com @resolver1.opendns.com

এটি ব্যবহার করে resolver1.opendns.com জাদুকরী সমাধান করতে ডিএনএস সার্ভার myip.opendns.com হোস্ট নাম আপনার আইপি ঠিকানা.

আমাজন এডাব্লুএস

curl https://checkip.amazonaws.com

নমুনা আউটপুট:

123.123.123.123

এছাড়াও ব্রাউজারে কাজ করে: http://checkip.amazonaws.com

আমি এটা পছন্দ করি কারণ:

  • এটা উত্তর শরীরের মধ্যে শুধু প্লেইন টেক্সট আইপি ফেরৎ, অন্য কিছুই
  • এটি একটি সুপরিচিত সরবরাহকারীর কাছ থেকে যা শীঘ্রই যে কোনও সময় অফলাইনে যাওয়ার সম্ভাবনা নেই

আমি ব্যবহার করছি এক :

wget -O - -q icanhazip.com

হ্যাঁ, আপনি আইপি থাকতে পারে: -)

ঠিক এই টাইপ করুন, টিপুন Enter যেখানে নির্দেশিত:

telnet ipecho.net 80Enter
GET /plain HTTP/1.1Enter
HOST: ipecho.net Enter
BROWSER: web-kitEnter
Enter

এটি ম্যানুয়ালি একটি এইচটিটিপি অনুরোধ জমা দেয়, যা আপনার আইপি এ এর নীচে ফিরিয়ে দেবে HTTP/1.1 200 OK reply

উদাহরণ আউটপুট:

$ telnet ipecho.net 80Trying 146.255.36.1...Connected to ipecho.net.Escape character is '^]'.GET /plain HTTP/1.1HOST: ipecho.netBROWSER: web-kitHTTP/1.1 200 OKDate: Tue, 02 Jul 2013 07:11:42 GMTServer: ApacheExpires: Mon, 26 Jul 1997 05:00:00 GMTCache-Control: no-cachePragma: no-cacheVary: Accept-EncodingTransfer-Encoding: chunkedContent-Type: text/htmlf111.222.333.4440

এই জন্য, স্টান উদ্ভাবিত হয়েছিল. একটি ক্লায়েন্ট হিসাবে আপনি একটি সার্বজনীনরূপে উপলব্ধ অচেতন সার্ভারে একটি অনুরোধ পাঠাতে এবং এটি উদ্ধার আইপি ঠিকানা ফেরত দিতে পারে. নিম্ন স্তরের সাজানোর whatismyip.com যেহেতু এটি কোনও এইচটিটিপি এবং স্মার্টলি কারুকৃত ডিএনএস সার্ভার ব্যবহার করে না তবে ব্লেজেটিভভাবে দ্রুত স্টান প্রোটোকল ব্যবহার করে.

ব্যবহার stunclient

আপনার যদি থাকে stunclient ইনস্টল করা (apt-get install stuntman-client ডেবিয়ান / উবুন্টুতে) আপনি কেবল করতে পারেন:

$stunclient stun.services.mozilla.comBinding test: successLocal address: A.B.C.D:42541Mapped address: W.X.Y.Z:42541

কোথায় A.B.C.D স্থানীয় নেট এবং আপনার মেশিনের আইপি ঠিকানা W.X.Y.Z ওয়েবসাইটের মত আইপি ঠিকানা সার্ভার বাইরে থেকে দেখতে হয়(এবং এক আপনি খুঁজছেন). ব্যবহার sed আপনি উপরের আউটপুটটি কেবল একটি আইপি ঠিকানায় হ্রাস করতে পারেন:

stunclient stun.services.mozilla.com |    sed -n -e "s/^Mapped address: \(.*\):.*$/\1/p"

যাইহোক, আপনার প্রশ্ন একটি অচেতন ক্লায়েন্ট ব্যবহার অগ্রাহ্য হতে পারে, যা কমান্ড লাইন, ব্যবহার করে এটি খুঁজে পেতে কিভাবে ছিল. তাই আমি ভাবছি...

ব্যবহার bash

একটি স্টান অনুরোধ হস্তশিল্প করা যেতে পারে, ব্যবহার করে একটি বাহ্যিক স্টান সার্ভারে প্রেরণ করা যেতে পারে netcat এবং ব্যবহার করে পোস্ট-প্রসেস করা হবে dd, hexdump এবং sed তাই ভালো লেগেছে:

$echo -en '\x00\x01\x00\x08\xc0\x0c\xee\x42\x7c\x20\x25\xa3\x3f\x0f\xa1\x7f\xfd\x7f\x00\x00\x00\x03\x00\x04\x00\x00\x00\x00' |    nc -u -w 2 stun.services.mozilla.com 3478 |    dd bs=1 count=4 skip=28 2>/dev/null |    hexdump -e '1/1 "%u."' |    sed 's/\.$/\n/'

প্রতিধ্বনি একটি সংজ্ঞায়িত করে বাইনারি স্টান অনুরোধ (0 এক্স0001 বাইন্ডিং অনুরোধ নির্দেশ করে) দৈর্ঘ্য 8 (0 এক্স0008) সহ কুকি 0 এক্সসি 00 সিইই এবং কিছু আটকানো স্টাফ ওয়্যারশার্ক. শুধুমাত্র চার বাইরের আইপি প্রতিনিধিত্বমূলক বাইট উত্তর থেকে নেওয়া হয়, পরিষ্কার এবং মুদ্রিত.

কাজ, কিন্তু উত্পাদন ব্যবহারের জন্য প্রস্তাবিত নয় :-)

অনেক স্টান সার্ভার পাওয়া যায় কারণ এটি এসআইপি এবং ওয়েবআরটিসির জন্য একটি মূল প্রযুক্তি. মজিলা থেকে একটি ব্যবহার করা নিরাপদ গোপনীয়তা অনুসারে হওয়া উচিত তবে আপনি অন্যটিও ব্যবহার করতে পারেন: স্টান সার্ভার তালিকা

“গতিশীল আইপি থাকা”," এসএসএইচ ইন্টারনেট জুড়ে আরও কিছু সিস্টেম ব্যবহার করে", “কমান্ড যা বর্তমান পাবলিক আইপি প্রদর্শন করবে”. আপনি এখানে মুরগি / ডিমের সমস্যা দেখতে পাচ্ছেন? আপনি কীভাবে কোনও দূরবর্তী সার্ভারে এর ঠিকানা না জেনে কমান্ড চালাতে সক্ষম হবেন? আপনি যেমন পরিষেবাগুলিতে আরও আগ্রহী হতে পারেন no-ip.com / DynDNS.org.

পিএস ip at DuckDuckGo (কোন কমান্ড লাইন, কিন্তু কোন বড় ভাই জি না)

হয়তো এই একটি পৃথক প্রশ্ন হওয়া উচিত, কিন্তু আমি আমার পাবলিক আইপি ঠিকানা পরিবর্তন যখন একটি সতর্কতা দেখতে চাই. এখন জন্য, আমি শুধু `অবহিত পাঠান ’ সঙ্গে একটি ক্রন্টাব নিম্নলিখিত উত্তর ব্যবহার করছি.

পাবলিক আইপি না জেনে কেউ এসএসএইচ করতে পারে না আমার বন্ধু… ডাইনের জন্য অনেক খরচ হয় এবং নো-আইপি শক্ত কাজ করে তবে পরিস্থিতি এটিকে অনুমতি দেয় না… যাই হোক প্রশ্ন ইতিমধ্যে উত্তর দেওয়া হয়েছে… আপনার পরামর্শের জন্য ধন্যবাদ

নীচে দুর্দান্ত সমাধান সেন্টোস ব্যবহারের জন্য: ইফকনফিগ ইথ 1 | সেড-এনআরই ' / ^ [ ^ ] +/ {এন; এস / ^ ([^]+).* ইনেট * ([ ^ ]+).* / \ 2 / পি}" যেখানে ইথ1 নেটওয়ার্ক ডিভাইস হে সুদ, আপনি 'ইটি 1 বাদ দিতে পারেন' স্ট্রিং সব অ্যাডাপ্টার সব আইপিএস দেখানোর জন্য. পরিবর্তে \2আপনি খুব প্রতিটি অ্যাডাপ্টারের নাম দেখানোর জন্য\1 \2` লিখতে পারেন.

উত্তর কেউ সঠিক পদ্ধতির দেখায়. যেহেতু আমার কাছে উত্তর পোস্ট করার মতো যথেষ্ট খ্যাতি নেই তাই বাহ্যিক পরিষেবার উপর নির্ভর না করে কীভাবে এটি পাওয়া যায় সে সম্পর্কে আমি একটি মন্তব্য পোস্ট করব শুধু টার্মিনাল চালানো ’ $ হোস্ট নাম-আইপি ঠিকানা`