මගේ පොදු අයිපී තීරණය කිරීම සඳහා විධානය?


674

මම ගූගල් සමඟ පරීක්ෂා කළහොත් , මට මගේ පොදු අයිපී දැකිය හැකිය. උබුන්ටු විධාන රේඛාවේ යමක් තිබේද, එය මට එකම පිළිතුර ලබා දෙයිද?


2
"ගතික IP සහිත", "SSH අන්තර්ජාලය හරහා වෙනත් පද්ධතියක් භාවිතා කරයි", "වර්තමාන PUBLIC IP පෙන්වන විධානය". ඔබට මෙහි කුකුළු මස් / බිත්තර ගැටලුව පෙනේද? දුරස්ථ සේවාදායකයක ලිපිනය නොදැන විධාන ක්‍රියාත්මක කිරීමට ඔබට හැක්කේ කෙසේද? No-ip.com / DynDNS.org වැනි සේවාවන් කෙරෙහි ඔබ වැඩි උනන්දුවක් දක්වනු ඇත.
gertvdijk

මහජන අයිපී ගැන නොදැන කෙනෙකුට එස්එස්එච් කළ නොහැක මගේ මිතුරා ... ඩයිනීඩීඑන්එස් සඳහා විශාල පිරිවැයක් දැරීමට සිදු වන අතර කිසිදු දුෂ්කර කාර්යයක් සිදු නොවන නමුත් තත්වය එයට ඉඩ නොදේ ... කෙසේ වෙතත් ප්‍රශ්නයට දැනටමත් පිළිතුරු ලැබී ඇත .. ඔබගේ යෝජනාවට ස්තූතියි
භවේෂ් දීවාන්

1
PS duckduckgo.com/?q=ip (විධාන රේඛාවක් නැත, නමුත් ලොකු සහෝදරයා ජී ද නැත)
කැම්පා

1
සමහර විට මෙය වෙනම ප්‍රශ්නයක් විය හැකි නමුත් මගේ පොදු IP ලිපිනය වෙනස් වන විට අනතුරු ඇඟවීමක් දැකීමට මා කැමතිය. දැනට, මම පහත සඳහන් පිළිතුරු සමඟ ක්‍රොන්ටැබ් එකක භාවිතා කරමි notify-send.
පී.ජේ බ un නෙට්

විශිෂ්ට විසඳුම් පහතින්. Centos භාවිතය සඳහා: ifconfig eth1 | sed -nre '/^[^ ]+/{N;s/^([^ ]+).*inet *([^ ]+).*/\2/p}'eth1 යනු ජාල උපාංගයක් වන උනන්දුවක් දක්වන විට, ඔබට සියලු ඇඩප්ටරයන්ගේ සියලුම අයිපී පෙන්වීමට 'et1' නූල මඟ හැරිය හැක. ඒ වෙනුවට එක් එක් ඇඩැප්ටරයේ නම් පෙන්වීමට \2ඔබට ලිවිය හැකිය \1 \2.
හැෆෙන්ක්‍රනිච්

Answers:


969

ඔබ රවුටරයක් ​​පිටුපස නොමැති නම්, ඔබට එය භාවිතයෙන් සොයාගත හැකිය ifconfig.

ඔබ රවුටරයක් ​​පිටුපස සිටින්නේ නම්, රවුටරය ජාල ලිපින පරිවර්තනයක් කරන බැවින් ඔබේ පරිගණකය පොදු IP ලිපිනය ගැන නොදැන සිටියි. ඔබේ පොදු අයිපී ලිපිනය භාවිතා කරන්නේ කුමක් දැයි ඔබට යම් වෙබ් අඩවියකින් විමසීමට curlහෝ wgetඑයින් ඔබට අවශ්‍ය තොරතුරු උකහා ගත හැකිය:

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

හෝ කෙටි වේ

curl https://ipinfo.io/ip

28
ty - මා පළ කළ වහාම, මම මුලින් පිළිතුරක් සඳහා ගූගල් නොකළ බව මට වැටහුණි: මෙය ක්‍රියාත්මක වනු ඇති බව පෙනේ curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//' වෙනත් හැකියාවන් මෙහි ලැයිස්තුගත කර ඇත: go2linux.org/what-is-my-public-ip-address-with-linux
kfmfe04

1
ෂුවර් - ඔබට එය ඔබේ පිළිතුරට එක් කළ හැකිය
kfmfe04

1
පැහැදිලි කර ගැනීම සඳහා: එය අනවසරයෙන් හා ඉතා කැත එකක් බැවින් එය සරල කිරීම සහ මිනිසුන්ට මතක තබා ගත හැකි දෙයක් කිරීම සඳහා මම සංස්කරණයක් කළෙමි.
jrg

2
හරියටම ජියෝවානි පී ප්‍රකාශ කළ පරිදි. OP විසින් පිළිගත් පිළිතුර වෙනස් කළ යුතුය.
loostro

37
curl -s ipinfo.io/ip
chao

392

බාහිර අයිපී සොයා ගැනීම සඳහා, ඔබට බාහිර වෙබ් පාදක සේවාවන් භාවිතා කළ හැකිය, නැතහොත් පද්ධති පදනම් කරගත් ක්‍රම භාවිතා කළ හැකිය. පහසුම දෙය වන්නේ බාහිර සේවාව භාවිතා කිරීමයි, එසේම ifconfigපදනම් වූ විසඳුම් ඔබේ පද්ධතිය තුළ ක්‍රියාත්මක වන්නේ ඔබ පිටුපස නොසිටින්නේ නම් පමණි NAT. ක්‍රම දෙක පහත විස්තරාත්මකව සාකච්ඡා කර ඇත.

බාහිර සේවාවන් භාවිතා කරමින් බාහිර IP සොයා ගැනීම

පහසුම ක්‍රමය වන්නේ විධාන බ්රවුසරයක් හෝ බාගත කිරීමේ මෙවලමක් හරහා බාහිර සේවාවක් භාවිතා කිරීමයි. සිට wgetඋබුන්ටු සමග පෙරනිමියෙන් ලබා ගත හැකි වන අතර, අප භාවිතා කළ හැකිය.
ඔබේ අයිපී සොයා ගැනීමට, භාවිතා කරන්න-

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

අනුග්‍රහය :

ඔබ ද භාවිතා කළ හැකි lynx(බ්රවුසරය) හෝ curlවෙනුවට wgetඔබගේ බාහිර ip සොයා ගැනීමට, ඉහත විධානය සුළු වෙනස්කම් සහිතව.

curlඅයිපී සොයා ගැනීමට භාවිතා කිරීම:

$ curl https://ipecho.net/plain

වඩා හොඳ ආකෘතිගත නිමැවුම් භාවිතය සඳහා:

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

වේගවත් (යානයේ ඇති වේගවත්ම) ක්රමය යොදා ගනිමින් digසමග OpenDNSපිළිවිසඳුව ලෙස:

මෙහි ඇති අනෙක් පිළිතුරු සියල්ලම HTTP හරහා දුරස්ථ සේවාදායකයකට යයි. ඒවායින් සමහරක් ප්‍රතිදානය විග්‍රහ කිරීම අවශ්‍ය වේ, නැතහොත් සේවාදායකයාට සරල පා in වලින් ප්‍රතිචාර දැක්වීමට පරිශීලක-නියෝජිත ශීර්ෂය මත රඳා සිටින්න. ඒවා නිතර නිතර වෙනස් වේ (පහළට යන්න, ඔවුන්ගේ නම වෙනස් කරන්න, දැන්වීම් පළ කරන්න, ප්‍රතිදාන ආකෘතිය වෙනස් විය හැකිය).

  1. ඩීඑන්එස් ප්‍රතිචාර ප්‍රොටෝකෝලය ප්‍රමිතිගත කර ඇත (ආකෘතිය අනුකූල වේ).
  2. Ically තිහාසිකව ඩීඑන්එස් සේවා (ඕපන් ඩීඑන්එස්, ගූගල් පබ්ලික් ඩීඑන්එස්, ..) වඩා දිගු කාලයක් නොනැසී පවතින අතර වඩා ස්ථාවර, පරිමාණය කළ හැකි සහ සාමාන්‍යයෙන් රැකබලා ගන්නා ඕනෑම නව උකුල් වයිට්මිමිප්.කොම් එච්ටීටීපී සේවාව අද උණුසුම් වේ.
  3. (ක්ෂුද්‍ර ප්‍රශස්තිකරණය ගැන සැලකිලිමත් වන අය සඳහා), මෙම ක්‍රමය සහජයෙන්ම වේගවත් විය යුතුය (එය මයික්‍රෝ තත්පර කිහිපයකින් පමණක් විය යුතුය).

OpenDNS සමඟ හෑරීම විසදුම ලෙස භාවිතා කිරීම:

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

111.222.333.444

පිටපත් කළේ: https://unix.stackexchange.com/a/81699/14497

බාහිර සේවාවන් මත විශ්වාසය නොතබා බාහිර IP සොයා ගැනීම

  • ඔබේ ජාල අතුරු මුහුණතේ නම ඔබ දන්නේ නම්

ඔබගේ පර්යන්තයේ පහත සඳහන් දේ ටයිප් කරන්න:

$ 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.1
ppp0: 111.222.333.444

සැ.යු: නිමැවුම් ඇඟවුම් කරන අතර සැබෑ නොවේ.

අනුග්‍රහය: https://www.if-not-true-then-false.com/2010/linux-get-ip-address/

යාවත්කාලීන කරන්න

  1. LANG=cifconfigස්ථානීය සැකසුම් නොසලකා සෑම විටම ඉංග්‍රීසි ප්‍රතිදානය ලබා දෙන පරිදි පදනම් වූ භාවිතයන්ට එකතු කර ඇත .

1
9 Z9iT, ෂුවර් .. ඔබ wget ස්ථාපනය කර ඇති ඕනෑම ලිනක්ස් බෙදාහැරීමක එය ක්‍රියා කළ යුතුය. ඔබ සතුව දැනටමත් කරල් හෝ ලින්ක්ස් තිබේ නම් කරුණාකර ඒ වෙනුවට භාවිතා කරන්න. ස්ථාපනය කිරීමට ඔබට root අවසර අවශ්‍ය වේsudo apt-get install wget
saji89

13
Ifconfig සමඟ ඇති විධානයන් ක්‍රියාත්මක වන්නේ ඔබ NAT පිටුපස නොමැති නම් පමණි.
lukassteiner

2
හුදෙක් භාවිතා -wවෙනුවට සුප්රසිද්ධ echo විධානය :) ක curl විකල්පයcurl -w '\n' ident.me
drAlberT


4
බාහිර සේවාවන් නොමැති අවසාන අනුවාදය ක්‍රියාත්මක වන්නේ ඔබේ පරිගණකය කෙලින්ම අන්තර්ජාලයට සම්බන්ධ වී ඇත්නම් එය කලාතුරකිනි, එසේ නොමැතිනම් ඔබට ලැබෙන්නේ ඔබේ දේශීය IP ලිපිනය පමණි.
rubo77

121

මගේ ප්‍රියතම සෑම විටම:

curl ifconfig.me

සරල, ටයිප් කිරීමට පහසුය.

ඔබට මුලින් curl ස්ථාපනය කිරීමට සිදුවේ;)

Ifconfig.me අක්‍රිය නම් icanhazip.com සහ ipecho.net උත්සාහ කරන්න

curl icanhazip.com

හෝ

curl ipecho.net

3
@ Z9iT, මම දැන් මෙය පරීක්ෂා කළා. ඔව්, එය ඔබගේ පර්යන්තයේ බාහිර අයිපී ප්‍රතිදානය කරයි.
saji89

7
ප්‍රතිචාර කාලය ifconfig.meවඩා මන්දගාමී බව පෙනේ ipecho.net.
ඩ්‍රූ නොක්ස්

3
ඔබ නොවේ නම් curlඇති නමුත් කිසි wget:wget -U curl -qO- ifconfig.me
Stéphane Chazelas

2
ifconfig.me ප්‍රතිචාර දක්වන බවක් නොපෙනේ :(
අස්ෆන්ඩ් කාසි

1
@AsfandYarQazi - මෙහි වැඩ කිරීම. ඔබට විකල්ප වලින් එකක් උත්සාහ කළ හැකිය, icanhazip.com
Panther

62

icanhazip.com මගේ ප්‍රියතම

curl icanhazip.com

ඔබට පැහැදිලිවම IPv4 ඉල්ලිය හැකිය:

curl ipv4.icanhazip.com

ඔබ නොමැති නම් ඒ වෙනුවට curlභාවිතා කළ හැකිය wget:

wget -qO- icanhazip.com

ස්තූතියි! IPv6 හැකියාව ඇති සමහරක් සොයා ගන්නා තෙක් මට ඉහත යෝජනා කළ බොහෝ දේ උත්සාහ කිරීමට සිදු විය. එවැනි සේවාවන් සාමාන්‍යයෙන් තවමත් IPv4 පමණක් වීම ලැජ්ජාවකි.
ව්ලැඩිමර් Čunát

50

සෑම දෙයක්ම කරදරකාරී හා මන්දගාමී බව මට පෙනී ගොස් ඇත, එබැවින් මම මගේම ලිවීමි. එය සරල හා වේගවත් ය.

එහි API එක ඇත්තේ http://api.ident.me/

උදාහරණ:

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

1
වෝ, ඒක ඇත්තටම වේගවත්!
waldyrious

1
මම icanhazip.com විසඳුම වේගයෙන් සොයා ගන්නා අතර එයට ප්‍රතිදානයේ නව රේඛාවක් ඇතුළත් වේ.
ටයිලර් කොලියර්

1
ඔව්, එය ඇත්ත වශයෙන්ම මෑතකදී වේගවත් විය. මගේ විසඳුම වෙනස් කළා.
පියරේ වාහකය

2
කුඩෝස්! අවුරුදු 2 ක් වන අතර ඔබ තවමත් එය නඩත්තු කරමින් සිටී. හොඳට කලා. "මාව හඳුනා ගන්න", මගේ මතකයට එන්නේ, මට අයිපී චෙක්පතක් අවශ්‍ය වූ විට :)
මෝනිෂ්

aws වේගවත් time curl http://checkip.amazonaws.com-> 0.91svs .241sfor ident.meඅපි
යාච් pray ා කරමු aws

44

ඔබේ පොදු අයිපී සොයා ගැනීමට ඔබට HTTP ඉල්ලීම වෙනුවට DNS ඉල්ලීමක් භාවිතා කළ හැකිය:

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

ඔබේ අයිපී ලිපිනයට resolver1.opendns.comඉන්ද්‍රජාලික myip.opendns.comධාරක නාමය නිරාකරණය කිරීමට එය dns සේවාදායකය භාවිතා කරයි .


3
මෙය සැබවින්ම වේගවත්ය. මම එක් උණුසුම් කිරීමේ ක්‍රියාවලියක් කළෙමි, පසුව මේ සෑම එකක්ම ක්‍රියාත්මක කිරීම 10 ක් සහ curl icanhazip.com. curlඅනුවාදය සඳහා සාමාන්‍යය : 174ms. DNS- පමණක් අනුවාදය සඳහා සාමාන්‍යය: 9ms. X 19x වේගවත්. මෙයද බලන්න: unix.stackexchange.com/a/81699/8383
ඇඩම් මොන්සන්

1
D ඇඩම්මොන්සන් සබැඳියට ස්තූතියි. ඩීඑන්එස් භාවිතා කිරීමේ කාරණය (ඔබ සම්බන්ධ කර ඇති පිළිතුර පවසන පරිදි) ප්‍රතිචාරය සම්මත (සහ වෙනස් වීමට අපහසු) සහ සේවාව (ඕපන් ඩීඑන්එස්) එහි බොහෝ http විකල්පයන්ට වඩා දිගු කාලයක් රැඳී සිටිය හැකිය. ආරම්භක වේලාව විධානය මඟින් ඉල්ලීම කිරීමට ගතවන කාලය සෙවනැලි විය හැකිය.
jfs

ඔව්. curlඑය වඩා මන්දගාමී නම් මම පුදුම නොවෙමි dig. ඒවා හැකි තරම් සමාන යැයි නැවත ලිවුවද, curlඑය තවමත් මන්දගාමී වනු ඇත; එය HTTP ( DNS ද ඇතුළුව ) digභාවිතා කරන අතර DNS පමණක් භාවිතා කරයි.
ඇඩම් මොන්සන්

25

ඇමසන් ඒඩබ්ලිව්එස්

curl http://checkip.amazonaws.com

නියැදි ප්‍රතිදානය:

123.123.123.123

මම එයට කැමතියි:

  • එය ආපසු ලබා දෙන්නේ සාමාන්‍ය පෙළ IP ය, වෙන කිසිවක් නොවේ
  • එය සුප්‍රසිද්ධ සැපයුම්කරුවෙකුගෙන් වන අතර එය ඕනෑම වේලාවක නොබැඳි වීමට නොහැකි ය

1
දන්නා නමකින් විසඳුමක් සොයමින් සිටියේය, ස්තූතියි
මනෝහර් රෙඩ්ඩි පෝරෙඩි

18

මම භාවිතා කරන්නේ:

wget -O - -q icanhazip.com

ඔව්, ඔබට ip :-) තිබිය හැකිය


3
curl icanhazip.comසමහර විට wgetලබා ගත හැකි එකම ක්‍රමය මම කැමතියි , නමුත් සමහර විට කිසිවක් wgetලබා ගත නොහැකි අතර curlඔබේ එකම විකල්පය (OS / X වැනි). කෙසේ හෝ curl icanhazip.comපහසු හා curl ifconfig.meවිනෝදජනක ය ;-)
tryTryAgain

11

මෙය හරියටම ටයිප් කරන්න, Enterසඳහන් කර ඇති තැන ඔබන්න :

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

මෙය අතින් HTTP ඉල්ලීමක් ඉදිරිපත් කරයි, එමඟින් ඔබගේ IP එක පතුලේ නැවත ලබා දෙනු ඇත HTTP/1.1 200 OK reply

උදාහරණ ප්‍රතිදානය:

$ telnet ipecho.net 80
Trying 146.255.36.1...
Connected to ipecho.net.
Escape character is '^]'.
GET /plain HTTP/1.1
HOST: ipecho.net
BROWSER: web-kit

HTTP/1.1 200 OK
Date: Tue, 02 Jul 2013 07:11:42 GMT
Server: Apache
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache
Pragma: no-cache
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/html

f
111.222.333.444
0

6
හොඳයි, මෙය හොඳින් ක්‍රියාත්මක විය, කරකැවිල්ල ස්ථාපනය නොකිරීම මට වාසියක් විය: එක් ලයිනර්: printf "GET / සරල HTTP / 1.1 H nHOST: ipecho.net B nBROWSER: වෙබ්-කට්ටලය \ n \ n" | nc ipecho.net 80
ඕසෝන්

10

මේ සඳහා STUN සොයා ගන්නා ලදී. සේවාදායකයෙකු ලෙස ඔබට ප්‍රසිද්ධියේ ලබා ගත හැකි STUN සේවාදායකයකට ඉල්ලීමක් යැවිය හැකි අතර එය දකින IP ලිපිනය ආපසු ලබා දිය හැකිය. පහත් මට්ටමේ whatismyip.com හි HTTP හා දක්ෂ ලෙස සකසන ලද DNS සේවාදායකයන් භාවිතා නොකරන නමුත් වේගවත් STUN ප්‍රොටෝකෝලය භාවිතා කරන්න.

භාවිතා කිරීම stunclient

ඔබ stunclientස්ථාපනය කර ඇත්නම් ( apt-get install stuntman-clientඩෙබියන් / උබුන්ටු මත) ඔබට සරලවම කළ හැකිය:

$stunclient stun.services.mozilla.com
Binding test: success
Local address: A.B.C.D:42541
Mapped address: W.X.Y.Z:42541

A.B.C.Dදේශීය ජාලයේ ඔබේ යන්ත්‍රයේ IP ලිපිනය කොහේද W.X.Y.Zසහ පිටතින් පෙනෙන වෙබ් අඩවි වැනි IP ලිපින සේවාදායකයන් වේ (සහ ඔබ සොයන ලිපිනය). sedඔබ භාවිතා කිරීමෙන් ඉහත ප්‍රතිදානය IP ලිපිනයකට පමණක් අඩු කළ හැකිය:

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

කෙසේ වෙතත්, ඔබේ ප්‍රශ්නය වූයේ විධාන රේඛාව භාවිතයෙන් එය සොයා ගන්නේ කෙසේද යන්නයි, එය STUN ග්‍රාහකයක් භාවිතා කිරීම බැහැර කළ හැකිය. ඉතින් මම කල්පනා කරනවා ...

භාවිතා කිරීම 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/'

දෝංකාරය මඟින් ද්විමය STUN ඉල්ලීමක් අර්ථ දක්වයි (0x0001 ඇඟවුම් කරන්නේ බන්ධන ඉල්ලීම) කුකී 0xc00cee සමඟ දිග 8 (0x0008) සහ වයර් ෂාර්ක් වලින් අලවන ලද දේවල්. පිළිතුරෙන් ලබාගෙන පිරිසිදු කර මුද්‍රණය කරනු ලබන්නේ බාහිර IP නියෝජනය කරන බයිට් හතර පමණි.

වැඩ කිරීම, නමුත් නිෂ්පාදන භාවිතය සඳහා නිර්දේශ නොකරයි :-)

PS SIP සහ WebRTC සඳහා මූලික තාක්‍ෂණයක් වන බැවින් බොහෝ STUN සේවාදායකයන් තිබේ. මොසිල්ලා වෙතින් එකක් භාවිතා කිරීම ආරක්ෂිත රහස්‍යභාවය අනුව විය යුතු නමුත් ඔබට තවත් එකක් භාවිතා කළ හැකිය: STUN සේවාදායක ලැයිස්තුව


භූගෝලීය හා ඇත්ත වශයෙන්ම බොහෝ ඇප්‍රොපොස් තාක්ෂණය සඳහා +1. Http විමසුම ක්‍රියාත්මක වන අතර, එය මගේ මුළු ජීවිත කාලය පුරාම භාවිතා කර ඇත, නමුත් මම කැමතියි ඇත්ත වශයෙන්ම ප්‍රශ්නයට යම්කිසි සිතුවිල්ලක් ඇති බව. මම මේක දැනගෙන හිටියේ නැහැ. ස්තූතියි!
මයික් එස්

9

තවත් වේගවත් එකක් (වේගවත්ම, සාපේක්ෂව විය හැකිය)

curl ipecho.net/plain

7

මට මේ සඳහා ටෙල්නෙට් විසින් මෝඩ සේවාවක් ඇත. මේ වගේ දෙයක්:

telnet myip.gelma.net

Your IPv4: xxx.xxx.xxx.xxx
Your IPv6: ::ffff:xxxx:xxxx

එය භාවිතා කිරීමට නිදහස් වන්න.


5

නැතිව curl, බාෂ් පමණක් භාවිතා කරමින් ඔබට වෙබ් පිටුවක් කියවිය හැකිය wget:

$ exec 3<> /dev/tcp/icanhazip.com/80 && # open connection
  echo 'GET /' >&3 &&                   # send http 0.9 request
  read -u 3 && echo $REPLY &&           # read response
  exec 3>&-                             # close fd

මෙය ඒකාබද්ධ checkip.amazonaws.comකිරීම මට වේගවත්ම වේ
අවීන්ද්‍ර ගූල්චරන්

1
VAvindraGoolcharan dns ඉල්ලීමක්
jfs

2

අපගේ රවුටර වලට ප්‍රවේශවීමේ ප්‍රවේශය ඇති අය සඳහා, පිටපතක් භාවිතා කර රවුටරයේ 'WAN IP ලිපිනය කුමක්දැයි විමසීමට බාහිර IP ලිපිනය තීරණය කිරීම සඳහා වඩාත් කාර්යක්ෂම ක්‍රමය වේ. උදාහරණයක් ලෙස පහත දැක්වෙන පයිතන් ස්ක්‍රිප්ට් මගේ Medialink MWN-WAPR300N රවුටරය සඳහා බාහිර IP මුද්‍රණය කරයි:

import urllib, urllib2, cookielib
import re
from subprocess import check_output as co

cookie_jar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
urllib2.install_opener(opener)

def get(url, values=None):
  data = None
  if values: data = urllib.urlencode(values)
  req = urllib2.Request(url, data)
  rsp = urllib2.urlopen(req)
  return rsp.read()

router = co(['ip', '-o', 'ro', 'list', '0.0.0.0/0']).split()[2]
url = "http://" + router

get(url+"/index.asp")
get(url+"/LoginCheck", dict(checkEn='0', Username='admin', Password='admin'))
page = get(url+"/system_status.asp")

for line in page.split("\n"):
  if line.startswith("wanIP = "):
    print line.split('"')[1]
    exit(1)

මෙය ඉතා ආරක්ෂිත නොවන බව සලකන්න (සාමාන්‍ය පෙළ අක්තපත්‍ර හා බොහෝ රවුටර වලට ප්‍රවේශ වීම වැනි), එය නිසැකවම අතේ ගෙන යා නොහැකි ය (එක් එක් රවුටරය සඳහා වෙනස් කළ යුතුය). කෙසේ වෙතත් එය ඉතා වේගවත් වන අතර භෞතික වශයෙන් ආරක්ෂිත ගෘහ ජාලයක පරිපූර්ණ සාධාරණ විසඳුමකි.

වෙනත් රවුටරයක් ​​සඳහා ස්ක්‍රිප්ට් රිසිකරණය කිරීම සඳහා, ෆයර්ෆොක්ස් හි ටැම්පර්ඩේටා ඇඩෝන භාවිතා කිරීමට මම නිර්දේශ කරමි.


2
ඔබ රවුටරයේ IP ලිපිනය ව්‍යාකරණමය වශයෙන් ලබා ගැනීමට උත්සාහ කළ යුතුය. උදාහරණයක් ලෙස router = subprocess.check_output(['ip', '-o', 'ro', 'list', '0.0.0.0/0']).split()[2].
ක්‍රිස්ටියන් කියුපිටු

2

මේවාට දේශීය අයිපී ලැබෙනු ඇත:

ifconfig

හෝ කෙටි ප්‍රතිදානය සඳහා:

ifconfig | grep inet

තවද

ip addr show

සහ බොහෝ විට:

hostname -I

මෙය බාහිර IP ලබා ගත යුතුය

wget http://smart-ip.net/myip -O - -q ; echo

සැ.යු : ඔබ ස්ථාපනය කිරීමට අකමැති නම් curl, මෙයද:

curl http://smart-ip.net/myip

1
ifconfig | sed -nre '/^[^ ]+/{N;s/^([^ ]+).*addr: *([^ ]+).*/\1,\2/p}'දේශීය අතුරුමුහුණත් සහ ඊට අනුරූප V4 IP මුද්‍රණය කරනු ඇත
හන්න

1
ifconfig | sed -nre '/^[^ ]+/{N;N;s/^([^ ]+).*addr: *([^ ]+).*addr: *([^ ]+).*/\1,\2,\3/p}'- v4 සහ v6 IP.
හනු

2

බොහෝ නිවාස රවුටර UPnP මගින් විමසිය හැකිය:

curl "http://fritz.box:49000/igdupnp/control/WANIPConn1" -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress" -d "<?xml version='1.0' encoding='utf-8'?> <s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'> <s:Body> <u:GetExternalIPAddress xmlns:u='urn:schemas-upnp-org:service:WANIPConnection:1' /> </s:Body> </s:Envelope>" -s

ඉන්පසු, පිළිතුරෙන් ip ලිපිනය ලබා ගන්න.

grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'

2

ඔබ DD-WRT භාවිතා කරන්නේ නම් මෙය මට වැඩ කරයි:

curl -s 192.168.1.1 | grep "ipinfo" | awk -v FS="(IP: |</span)" '{print $2}'

හෝ

curl -s -u your_ddwrt_username:your_ddwrt_password http://192.168.1.1 | grep "ipinfo" | awk -v FS="(IP: |</span)" '{print $2}'
  • 192.168.1.1 යනු ඩීඩී-ඩබ්ලිව්ආර්ටී රවුටරයේ ගේට්වේ / රවුටරය LAN IP ලිපිනයයි.

  • මෙම -s නිහඬ අංගයක් මාර්ගයෙන් (එනම්, curl ප්රගතිය තොරතුරු පෙන්වන්න එපා).

  • ඔහ්, මම ඉහත සඳහන් කර ඇත්තේ "DD-WRT v24-sp2 (01/04/15) std" සමඟ බව සඳහන් කළ යුතුය .

1

ඔබ උබුන්ටු වර්ගයේ ලින්ක්ස් ස්ථාපනය කර ඇත්නම්

lynx bot.whatismyipaddress.com

curl bot.whatismyipaddress.comවැඩ කරනවා.
ටොමොෆුමි

0

භාවිතා කරන්න ip!

ip addr show

ඉන්පසු අදාළ ඇඩැප්ටරය සොයන්න (නොවේ lo, සහ සාමාන්‍යයෙන් eth0), සහ අසල ඇති අයිපී ලිපිනය සොයා ගන්න inet.


2
ප්රශ්නය වන්නේ පොදු අයිපී ලිපින නොවේ
වුල්ෆ්

0

සමහර විට මම ටිකක් පරක්කුයි, නමුත් ඉන්ක්සිට එය තරමක් පහසු කළ හැකිය.

ස්ථාපනය කරන්න inxi

sudo apt install inxi

ඉන්පසු පහත විධානය ක්‍රියාත්මක කරන්න

inxi -i

zමෙවැනි වෙබ් අඩවි වලට පිටපත් කර ඇලවීමේ විකල්පය භාවිතා කර මගේ තොරතුරු අවහිර කර ඇති උදාහරණය :

~$ inxi -iz
Network:   Card: NVIDIA MCP77 Ethernet driver: forcedeth
           IF: eth0 state: up speed: 1000 Mbps duplex: full mac: <filter>
           WAN IP: <filter>
           IF: eth0 ip-v4: <filter> ip-v6-link: N/A

එය පවසන <filter>තැන ඔබේ WAN IP, IPv4, MAC ලිපිනය යනාදිය දිස්වනු ඇත


-2

ඕනෑම වෙබ් අඩවියක් හෝ සේවාවක් සඳහා ලුහුබැඳීමක් නිකුත් කරන්න ..

sudo traceroute -I google.com

2 වන පේළිය සෑම විටම මගේ රවුටරයේ ගේට්ටුව පසු කළ පසු මගේ පොදු IP ලිපිනය ලෙස පෙනේ.

user@user-PC ~ $ sudo traceroute -I google.com
traceroute to google.com (173.194.46.104), 30 hops max, 60 byte packets
 1  25.0.8.1 (25.0.8.1)  230.739 ms  231.416 ms  237.819 ms
 2  199.21.149.1 (199.21.149.1)  249.136 ms  250.754 ms  253.994 ms**

ඉතින්, bash විධානයක් කරන්න.

sudo traceroute -I google.com | awk -F '[ ]' '{ if ( $2 ="2" ) { print $5 } }'

සහ ප්‍රතිදානය ...

(199.21.149.1)

මම හිතන්නේ නැහැ PHP ස්ක්‍රිප්ට් මත යැපීම සහ එය වර්ග කිරීම හොඳ පුරුද්දක්.


මෙය සිත්ගන්නා සුළුය, මන්දගාමී නමුත් මගේ බාහිර අයිපී මේ
ආකාරයෙන් නොලැබේ

1
මෙම පිළිතුර ප්‍රයෝජනවත් වීමට තරම් සාවද්‍ය ය. මගේ ආයතනික පරිසරය තුළ මගේ IP ලිපිනය කිසිසේත් නොලැබේ. එය ක්‍රියාත්මක වන එකම ක්‍රමය වන්නේ ඔබේ දේශීය රවුටර සහ ස්විචයන් සකසා ඇති ආකාරය ඔබ තේරුම් ගන්නේ නම් සහ ඔබ පනින දේශීය හොප් ගණන අනුව එය 2 වන පේළියේ නොතිබිය හැකිය. මෙම තාක්‍ෂණයෙන් සුහද ඇල්ගොරිතමයක් සෑදීමට ක්‍රමයක් නොමැති අතර තවත් බොහෝ විසඳුම් මෙහි ඇති අතර ඒවා වඩාත් සරල වන අතර සෑම විටම ඔබට නිසි පිළිතුර ලැබෙනු ඇත.
මයික් එස්

එය සමහර විශේෂ වින්‍යාසයන් තුළ ක්‍රියාත්මක විය හැකි නමුත්, මම කිසි විටෙකත් මගේ බාහිර IP එක ලුහුබැඳීමක් තුළ දැක නැත. එය සාමාන්‍යයෙන් එක්කෝ මගේ ගේට්ටුව (මම NAT පිටුපස නොසිටින්නේ නම්) හෝ මගේ රවුටරයේ ගේට්ටුව වේ, නමුත් බොහෝ දුරට තවත් රවුටරයක් ​​දුරින් පිහිටා ඇත.
mivk

alias ip = 'lynx --dump ipecho.net/plain '
phildobbin

-2

ගූගල් ඩීඑන්එස් වීම 8.8.8.8 හැර පරායත්තයන් නොමැති විධානයක්:

echo $(ip route get 8.8.8.8 | awk '{print $NF; exit}')

මෙය ඔබට කියන්නේ ඔබේ දේශීය පිටතට යන අතුරු මුහුණතේ IP ලිපිනය පමණි.
ගුන්ට්බර්ට්

මම එය වලාකුළු සේවාදායකයක් මත ධාවනය කරන්නේ නම් විධානය මඟින් පොදු අයිපී ලිපිනය පෙන්වයි. ප්‍රශ්නය එය නොවේද?
රොල්ෆ්

නැත, ඔබ "වලාකුළු සේවාදායකය" දකින්නේ කොහිද?
ගුන්ට්බර්ට්
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.