আমি ifconfig বা হোস্টনাম -i কমান্ড ব্যবহার করে আমার আইপি ঠিকানাটি সন্ধান করতে পারি।
তবে আমি কীভাবে আমার পাবলিক আইপি খুঁজে পাব?
(আমার একটি স্ট্যাটিক পাবলিক আইপি রয়েছে তবে আমি ইউনিক্স কমান্ডটি ব্যবহার করে এটি সন্ধান করতে চাই)
আমি ifconfig বা হোস্টনাম -i কমান্ড ব্যবহার করে আমার আইপি ঠিকানাটি সন্ধান করতে পারি।
তবে আমি কীভাবে আমার পাবলিক আইপি খুঁজে পাব?
(আমার একটি স্ট্যাটিক পাবলিক আইপি রয়েছে তবে আমি ইউনিক্স কমান্ডটি ব্যবহার করে এটি সন্ধান করতে চাই)
উত্তর:
curl ifconfig.me
curl ifconfig.me/ip
(শুধু আইপি জন্য)
curl ifconfig.me/all
(আরও তথ্যের জন্য, সময় নেয়)
আরও কমান্ডের জন্য দেখুন: http://ifconfig.me/#cli_wrap
curl http://checkip.amazonaws.com/
আপনি অনুরোধ করতে পারেন myip.opendns.com
। ওপেনডিএনএস থেকে dig @208.67.222.220 myip.opendns.com
dig @resolver1.opendns.com myip.opendns.com
। Windows এ অথবা: nslookup myip.opendns.com resolver1.opendns.com
।
dig @208.67.222.220 myip.opendns.com +short
পুরো উত্তরটি না দিয়েই সরাসরি আইপি পেতে।
dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short
dig -4 @ns1-1.akamaitech.net -t a whoami.akamai.net +short
dig -4 @resolver1.opendns.com -t a myip.opendns.com +short
নোট করুন যে উপরেরগুলি কেবলমাত্র আইপিভি 4 এর জন্য কাজ করে (বর্তমানে এই সমাধানকারীদের কোনওটিই আইপিভি 6 বলে মনে হয় না, তবে আপনি যদি বাদ দেন -4
এবং স্পষ্ট -t a
করে থাকেন তবে ভবিষ্যতে এটি ভেঙে যাওয়ার ঝুঁকি রয়েছে (গুগলের ব্যতীত, সম্ভবত এটির txt
জন্য কাজ করতে পারে) আইপিভি 6 একদিন, গুগল দ্বারা সঠিকভাবে সক্ষম থাকলে))।
দ্রষ্টব্য যে myip.opendns.com
কেবল এর মাধ্যমে সমাধানযোগ্য resolver1.opendns.com
, এবং এর সাথে নয় auth1.opendns.com
- তাই তারা নিজের ডোমেন নামের মাঝখানে কিছু ডিএনএস হাইজ্যাকিং এবং ম্যান-ইন-দ্য মিডল করছে বলে মনে হয়! সুতরাং, আপনি এলোমেলো সমাধানের আইপি সন্ধান করতে এটি ব্যবহার করতে পারবেন না, যেহেতু resolver1.opendns.com
এটি অনুমোদিত নয় myip.opendns.com
।
নোটটি o-o.myaddr.l.google.com
সর্বাধিক নমনীয় এবং ভবিষ্যত-প্রমাণ পদ্ধতির মতো দেখায়; আপনার ডিএনএস রেজলভারটি ক্লায়েন্ট সাবনেটের জন্য পরীক্ষামূলক EDNS0 এক্সটেনশানটিকে সমর্থন করে কিনা (যা খুব কম সংশোধনকারীকে সমর্থন করে) এটি পরীক্ষার জন্যও ভাল:
% dig @8.8.8.8 -t txt o-o.myaddr.l.google.com +noall +answer +stats | tail -8
;; global options: printcmd
o-o.myaddr.l.google.com. 60 IN TXT "74.125.189.16"
o-o.myaddr.l.google.com. 60 IN TXT "edns0-client-subnet 88.198.54.0/24"
;; Query time: 13 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Dec 8 20:38:46 2013
;; MSG SIZE rcvd: 114
dig +short AAAA myip.opendns.com @2620:0:ccc::2
।
-4
বা -6
আপনার নির্দিষ্ট করা উচিত ।
আপনার যদি ইন্টারনেট অ্যাক্সেস থাকে তবে একটি খুব সাধারণ অ্যা্যান্সার হ'ল:
curl icanhazip.com
মনে রাখবেন, আপনার আইপি-র জন্য তৃতীয় পক্ষের উত্সগুলিকে বিশ্বাস করা সমস্যাযুক্ত হতে পারে বিশেষত যদি সেই ডেটা দিয়ে আপনার কী করার বিশেষ অর্থ রয়েছে।
আরও বিশ্বাসযোগ্য উপায় হ'ল একটি পরিচিত, বিশ্বাসযোগ্য ডিএনএস সার্ভার বাছাই করা (আদর্শভাবে ডিএনএসএসইসি চালিত) এবং এটির সাথে বাক্সটির হোস্টনামটি জিজ্ঞাসা করা, আপনার ডিএনএস সার্ভারকে এই জাতীয় এন্ট্রি সরবরাহ করে;
dig @trustworthysource.com +short `hostname`
আমি এটির জন্য একটি সহজ এবং দ্রুত ওয়েবসার্ভিস লিখেছি।
curl ident.me
আপনি আপনার আইপিভি 4 জানতে চাইতে পারেন:
curl v4.ident.me
বা আইপিভি 6:
curl v6.ident.me
এবং এপিআইটি http://api.ident.me/ এ নথিভুক্ত করা হয়েছে
একটি উপায়: http : //www. কিটস্মিইপ.com/
যদি
তারপরে আপনি আপনার সমস্ত ইন্টারফেসের আইপি ঠিকানার তালিকা পেতে ইন্টারফেসের আইপি অ্যাড্রেসগুলি ("ইনট অ্যাডার:" অংশ) এর জন্য ifconfig থেকে আউটপুটকে বিশ্লেষণ করতে পারেন। একটি আইপি ঠিকানা যা ব্যক্তিগত ব্যাপ্তিতে নেই (দেখুন http://en.wikedia.org/wiki/IP_address#IPv4_private_add્રેસ ) আপনার সর্বজনীন আইপি ঠিকানা।
একই তালিকা মাধ্যমে প্রাপ্ত করা যেতে পারে
ip addr show
যা পার্স করা সহজ হতে পারে।
আপনার যদি সরাসরি ইন্টারনেট সংযোগ (NAT ইত্যাদি) না থাকে তবে বাহ্যিক সহায়তা ব্যতীত আপনার পাবলিক আইপি ঠিকানাটি খুঁজে পাওয়ার কোনও উপায় নেই (যেহেতু আপনার কম্পিউটার এটি জানেন না)। তারপরে আপনাকে অন্য উত্তরের মতো এটি করতে হবে।
আমি স্টান প্রোটোকল যা NAT ট্র্যাভারসালের জন্য ডিজাইন করা হয়েছিল তা ব্যবহার করে কিছুটা ভিন্ন পন্থা নিয়েছিলাম। আপনি যদি উবুন্টু ব্যবহার করেন তবে টাইপ করে আপনি "স্ট্যান" প্যাকেজটি ইনস্টল করতে পারেন:
sudo apt-get install stun
প্যাকেজটি একটি স্টান সার্ভার ইনস্টল করে যা আপনার সম্ভবত প্রয়োজন হবে না, তবে এটি একটি স্টান পরীক্ষার ক্লায়েন্টের সাথে আসে যা আমি এই সমস্যাটি সমাধান করার জন্য ব্যবহার করি। এখন আপনি আপনার সর্বজনীন আইপি এক (এত সহজ নয়) কমান্ড দিয়ে পুনরুদ্ধার করতে পারেন:
stun -v stunserver.org 2>&1 1>/dev/null | grep MappedAddress | sed -e 's/.*MappedAddress = //' -e 's/:.*//' | uniq
এখন, এটি কী করে: স্টান পাবলিক স্টুন সার্ভার "স্ট্যান্ডসরভার.অর্গ" -এর সাথে যোগাযোগ করে এবং আপনার সার্বজনীন আইপি দিয়ে একটি উত্তর ফিরে পায়, বাকী কমান্ডটি কেবল আউটপুট থেকে আইপি ফিল্টার করে।
একটি উপায় হ'ল, আপনি পৃষ্ঠাটিতে একটি অনুরোধ করতে পারেন
http://www.biranchi.com/ip.php
এটি আপনার সিস্টেমের আইপি ঠিকানা প্রদান করে
text/html
সেই সিউডো-এপিআই যা ফিরিয়ে দেয় তার জন্য এটি ঠিক - এটি অবশ্যই এক্সএমএল বা জেএসএন নয়। text/plain
হতে পারে, তবে এটি সম্পূর্ণরূপে ব্যবহারযোগ্য text/html
।
wget -q -O - http://wgetip.com/
গুগল এখন আপনার সর্বজনীন আইপি ঠিকানা প্রদর্শন করে: http://www.google.com/search?q=ip
User-Agent
পৃষ্ঠায় কোন স্ট্রিং সরবরাহ করা হয়। ফায়ারফক্সের সাথে এটি কাজ করে; তবে "ফায়ারফক্স" স্ট্রিং সহ সিমনকি ("জেনারেল। ইউজরেজেন্ট ডটকম্যাটমড.ফায়ারফক্স" এর মাধ্যমে মিথ্যাতে সেট করেছেন) হঠাৎ করে তা হয় না। গুগল স্পষ্টভাবে কেবল কোনও গেকোর পরিবর্তে ফায়ারফক্সের জন্য স্টাফগুলিকে সক্ষম করে কেন সে সম্পর্কে একেবারেই কোনও ধারণা নেই, যেহেতু সীমোনকি সহ গেকোর উপর ভিত্তি করে আরও অনেকগুলি ডেস্কটপ ব্রাউজার সমানভাবে সামঞ্জস্যপূর্ণ।
ঠিক আছে ... আমি জানি যে এটি সত্যের পরে উপায় এবং সম্ভবত পোস্ট করার পক্ষেও উপযুক্ত নয় তবে এখানে আমার কার্যনির্বাহী সমাধান।
#!/bin/sh
IP="$(ifconfig | egrep 'inet ' | sed -e 's/inet //' -e 's/addr://' -e 's/ Bcast.*//' -e 's/127.*//')"
echo $IP
সুন্দর এবং সহজ।
hostname -I
(মূলধন 'আই') দিয়ে এটিও করতে পারেন ।
সবচেয়ে সহজ উপায় হ'ল প্রস্তাবিত হিসাবে http://ifconfig.me/ ব্যবহার করা ।
এই পৃষ্ঠায়, আপনি কী তথ্যটি পুনরুদ্ধার করতে চান তার জন্য কোন আদেশ ব্যবহার করতে হবে তা আপনি জানতে পারবেন।
আইপি এর জন্য:
কার্ল ifconfig.meঅথবা
কার্ল ifconfig.me/ip
সর্বজনীন হোস্টনামের জন্য:
কার্ল ifconfig.me/host
এক্সএমএল ফাইলে সমস্ত তথ্যের জন্য:
কার্ল ifconfig.me/all.xml
ইত্যাদি ... কেবলমাত্র http://ifconfig.me দেখুন
আমি এটি অনেক কিছু করছি এবং প্রচুর ডিভাইস থেকে, তাই আমি একটি সার্ভারে আমার নিজের দুটি পরিষেবা তৈরি করেছি:
ওয়েবসভারের মূলে পিএইচপি ফাইল:
user@host:~$ cat index.php`
<?php echo $_SERVER['REMOTE_ADDR']; echo "\n" ?>
খোলসের ব্যবহার:
$ curl -4 mydomain.com
79.22.192.12
আইপিভি 6 এর সাথেও কাজ করছে:
$ curl mydomain.com
2a01:e34:ee7d:180::3
নেটক্যাট সহ:
$ echo "GET /" | nc myserver.com 80
2a01:e34:ee7d:180::3
সিসকো রাউটারে:
router#more http://myserver.com/index.php
79.22.192.12
একটি কাস্টম টেলনেট সার্ভারের সাথে দ্রুত হ্যাক: জিনেটেড স্প্যানিং / ইউএসআর / বিন / এনভিভি:
service telnet
{
server = /usr/bin/env
socket_type = stream
protocol = tcp
flags = IPv6
wait = no
port = 23
cps = 3 30
passenv = %a
}
এবং তারপরে এটি টেলনেট:
$ nc -4 myserver.com 23
REMOTE_HOST=::ffff:79.22.192.12
$ nc myserver.com 23
REMOTE_HOST=2a01:e34:ee7d:180::3
রাউটার দিয়ে একই কাজ করে:
router#telnet myserver.com
79.22.192.12
এইভাবে আপনি এটি আপনার অভ্যন্তরীণ নেটওয়ার্কে কাজ করতে পারেন, যদি কিছু নাট বা প্রক্সি যোগাযোগের সাথে জড়িত থাকে এবং আপনি কোন আইপি থেকে উপস্থিত হন তা জানতে চাই।
এটির জন্য কোনও তৃতীয় পক্ষের পরিষেবা প্রয়োজন নেই।
বাহ্যিক উত্সগুলির উপর নির্ভর এড়াতে, আমি প্রত্যাশাটি ব্যবহার করি, আমার রাউটারে টেলনেট করতে এবং এর সার্বজনীন ইন্টারফেসের আইপি ঠিকানা পেতে। এখানে স্ক্রিপ্ট আশা করার একটি উদাহরণ রয়েছে:
#!/usr/bin/expect
if { $argc < 3 } {
puts "usage: ./telnet2router.exp router-ip username password"
return -1
}
set ip [lrange $argv 0 0]
set username [lrange $argv 1 1]
set password [lrange $argv 2 2]
spawn telnet $ip
expect "login:" {
send "$username\r"
}
expect "Password:" {
send "$password\r"
}
expect "#" {
send "ifconfig ppp0 | grep inet\r"
send "exit\r"
}
expect eof
আমি তখন সর্বজনীন আইপি পেতে উপরের স্ক্রিপ্টটি এভাবে চালিত করি:
./telnet2router.exp <router-ip> <username> <password> | grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1
অবশ্যই, এটি এই ধারণার উপর ভিত্তি করে তৈরি হয়েছে যে আমার রাউটারটিতে অ্যাডমিন অ্যাক্সেস রয়েছে এবং এটি একটি লিনাক্স-ভিত্তিক রাউটার, যদি আইফোনফিগ কমান্ড উপলব্ধ থাকে।
একটি সাধারণ শেল স্ক্রিপ্ট সমাধান এখানে পাওয়া যাবে:
http://bash.cyberciti.biz/misc-shell/read-local-ip-address/
লিনাক্স, ফ্রিবিএসডি, সানओএস এবং অ্যাপল ডারউইনের উপর কাজ করে (একটি সামান্য পরিবর্তন নিয়ে)।
যদি আপনি যা চান তা যদি আপনার রাউটারে বহিরাগত আইপি ঠিকানাটি সন্ধান করা হয়, আপনি হয় রাউটারটিকে তার ওয়ানের ঠিকানার জন্য নিজেই জিজ্ঞাসা করুন, বা বাইরে কাউকে আপনার জন্য এটি জিজ্ঞাসা করুন ..
একটি ম্যানুয়াল পদ্ধতিতে আপনি উপরোক্ত প্রদত্ত যে কোনও সাইট ব্রাউজ করতে পারবেন যা অন্তর্নিহিত অনুরোধটির আইপি ফিরিয়ে দেবে।
একটি স্বয়ংক্রিয় উপায়ে, আপনি চেষ্টা করতে পারেন:
wget -q -O - http://www.ipaddressworld.com | grep '[0-9]\{1,3\}\.[0-9]\{1,3\}'\.
যা আপনাকে লাইনটি পেতে দেবে যেটিতে HT ঠিকানা প্রতিক্রিয়াতে আইপি ঠিকানা রয়েছে, তারপরে সেড, অজ ইত্যাদির সাহায্যে এটি পার্স করুন out
আপনি আপনার বাহ্যিক আইপি চেক করতে কেবল শেলটি ব্যবহার করতে পারেন, বাহ্যিক সরবরাহকারীও ব্যবহার করে
#!/bin/bash
TCP_HOST="checkmyip.com"
TCP_PORT=80
exec 5<>/dev/tcp/"${TCP_HOST}"/"${TCP_PORT}"
echo -e "GET / HTTP/1.0\nHOST:${TCP_HOST}\n" >&5
while read -r line
do
case "$line" in
*"Your local IP address is"* )
line="${line#*Your local IP address is }"
line=${line%%</p>*}
echo "Your ip is: $line"
exec >&5-
exit
;;
esac
done <&5
আউটপুট
লিঙ্কস - ডাম্প http://www.hatismyip.com/ | গ্রেপ -ও '[0-9]। * \। [0-9]। * \। [0-9]। * \। [0-9]। *' -m1
আমি এটা করি. এটি কেবল কোনও তৃতীয় পক্ষের জড়িত ছাড়াই আমাকে আইপি দেয় ..
আইপি অ্যাডারের শো | গ্রেপ এথ0 | গ্রেপ ইনট | tr -s "" | কাট -f3 -d "" | কাটা -f1 -d "/"
এখানে আরও একটি বিকল্প রয়েছে যা হোস্টগুলির উপর নির্ভর করে যারা ব্যবসায়ের গতিশীল আইপি পরিচালনার আশেপাশে সমাধান করে যে "পাবলিক সার্ভিস" সাইটগুলি চলে যেতে পারে বা ফর্ম্যাট পরিবর্তন করতে পারে।
1) অনেকগুলি বিনামূল্যে গতিশীল ডিএনএস পরিষেবাদিগুলির মধ্যে একটিতে আপনার সার্ভারটি নিবন্ধন করুন (উদাঃ no-ip.com) এটি আপনাকে xxx.no-ip.org এর মতো একটি ডিএনএস এন্ট্রি দেবে।
2) পরিষেবার গতিশীল আপডেট সরঞ্জাম ইনস্টল করুন (পরিষেবাতে আইপি পরিবর্তনগুলি প্রতিবেদন করে)।
স্ক্রিপ্টে আইপি ঠিকানা পেতে, কেবল এটি করুন:
$external_ip = `dig +short xxx.no-ip.org`
ডায়নামিক আইপি পরিবর্তন হয়েছে এবং কিছু কনফিগারেশন এন্ট্রি পরিবর্তন করা দরকার কিনা তা পরীক্ষা করতে ক্রোন জব ব্যবহারের জন্য দুর্দান্ত।
ওএস এক্স-এ এখানে ব্যক্তিগত এবং সর্বজনীন আইপি উভয় পেতে দুটি সহজ সমাধান রয়েছে (আপনি লঞ্চবার ব্যবহার করলে বোনাস কোড সহ)।
$ ipconfig getifaddr $1
# $1=en0 || en1 || en*
#!/bin/sh
title="$USER@$(HOSTNAME -s)"
text=$(ipconfig getifaddr en1)
open "x-launchbar:large-type?font-name=TerminalDosis-Light&string=$text&title=$title"
$ dig +time=1 +tries=1 +retry=1 +short myip.opendns.com @resolver1.opendns.com
# ||
$ curl $1
# $1=http://wtfismyip.com/text || http://ip-addr.es || http://icanhazip.com || http://wgetip.com || http://ident.me || http://ifconfig.me || https://shtuff.it/myip/short || http://curlmyip.com
#!/bin/sh
title="$USER@$(HOSTNAME -s)"
text=$(dig +time=1 +tries=1 +retry=1 +short myip.opendns.com @resolver1.opendns.com)
open "x-launchbar:large-type?font-name=TerminalDosis-Light&string=$text&title=$title"