de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
 kfmfe04
kfmfe04
Question

Komenda do określenia mojego publicznego IP?

Jeśli sprawdzę za pomocą google, mogę zobaczyć moje publiczne IP. Czy jest coś w wierszu poleceń Ubuntu, co da mi taką samą odpowiedź?

644 2012-01-16T11:50:35+00:00 3
 tshepang
tshepang
Edytowane pytanie 23. listopada 2012 в 11:00
Ubuntu
networking
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
Michael K
Michael K
16. stycznia 2012 в 11:56
2012-01-16T11:56:26+00:00
Więcej
Źródło
Edytuj
#20153804

Jeśli nie jesteś za routerem, możesz to sprawdzić używając ifconfig.

Jeśli jesteś za routerem, wtedy twój komputer nie będzie wiedział o publicznym adresie IP, ponieważ router wykonuje translację adresów sieciowych. Możesz zapytać jakąś stronę internetową jaki jest twój publiczny adres IP używając curl lub wget i wyciągnąć z niej potrzebne informacje:

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

lub krócej

curl https://ipinfo.io/ip
 AnthonyB
AnthonyB
Edytowana odpowiedź 6. listopada 2018 в 2:58
928
0
 saji89
saji89
1. czerwca 2012 в 12:10
2012-06-01T12:10:38+00:00
Więcej
Źródło
Edytuj
#20153806

Aby znaleźć zewnętrzne ip, możesz albo użyć zewnętrznych usług internetowych, lub użyć metod opartych na systemie. Łatwiej jest korzystać z usług zewnętrznych, również rozwiązania oparte na ifconfig będzie działać w systemie tylko wtedy, gdy nie jesteś za NAT. te dwie metody zostały omówione poniżej w szczegółach.

Znajdowanie zewnętrznego IP przy użyciu zewnętrznych usług

Najprostszym sposobem jest użycie zewnętrznej usługi poprzez przeglądarkę z linii poleceń lub narzędzie do pobierania. Ponieważ wget jest domyślnie dostępny w Ubuntu, możemy go użyć.
Aby znaleźć swoje ip, użyj-

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

Courtesy:

  • https://hawknotes.blogspot.in/2010/06/finding-your-external-ip-address.html
  • https://ipecho.net/plain

Możesz również użyć lynx(przeglądarka) lub curl w miejsce wget z drobnymi wariacjami na temat powyższej komendy, aby znaleźć swoje zewnętrzne ip.

Użycie curl do znalezienia ip:

$ curl https://ipecho.net/plain

Dla lepiej sformatowanego wyjścia użyj:

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

Szybszą (prawdopodobnie najszybszą) metodą jest użycie dig z OpenDNS jako resolvera:

Pozostałe odpowiedzi tutaj wszystkie przechodzą przez HTTP do zdalnego serwera. Niektóre z nich wymagają parsowania danych wyjściowych, lub polegają na nagłówku User-Agent aby serwer odpowiadał czystym tekstem. Zmieniają się one również dość często (upadają, zmieniają nazwę, zamieszczają reklamy, mogą zmienić format wyjściowy itp.).

  1. Protokół odpowiedzi DNS jest znormalizowany (format pozostanie zgodny).
  2. Historycznie usługi DNS (OpenDNS, Google Public DNS, ...) mają tendencję do przetrwania znacznie dłużej i są bardziej stabilne, skalowalne i ogólnie wyglądają po niż cokolwiek nowego hip whatismyip.com HTTP usługa jest gorąca dzisiaj.
  3. (dla tych geeków, którzy dbają o mikrooptymalizację), ta metoda powinna być z natury szybsza (czy to tylko o kilka mikro sekund).

Użycie dig z OpenDNS jako resolvera:

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

111.222.333.444

Kopiowane z: https://unix.stackexchange.com/a/81699/14497

Znajdowanie zewnętrznego IP bez polegania na zewnętrznych usługach

  • Jeśli znasz nazwę swojego interfejsu sieciowego

Wpisz w swoim terminalu następujące polecenie:

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

W powyższym, zamień <interface_name> na nazwę twojego rzeczywistego interfejsu, np: eth0, eth1, pp0, itd...

Przykładowe użycie:

$ LANG=c ifconfig ppp0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'
111.222.333.444
  • Jeśli nie znasz nazwy swojego interfejsu sieciowego

Wpisz poniższe polecenie w terminalu (w ten sposób uzyskasz nazwę i adres IP każdego interfejsu sieciowego w systemie):

$ 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 }'

Przykład użycia:

$ 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

N.B: Dane wyjściowe są orientacyjne i nie są prawdziwe.

Courtesy: https://www.if-not-true-then-false.com/2010/linux-get-ip-address/

UPDATE

  1. LANG=c został dodany do zastosowań opartych na ifconfig, tak aby zawsze dawał angielskie wyjście, niezależnie od ustawień locale.
 AnthonyB
AnthonyB
Edytowana odpowiedź 6. listopada 2018 в 1:45
386
0
 jflaflamme
jflaflamme
16. stycznia 2012 в 2:20
2012-01-16T14:20:36+00:00
Więcej
Źródło
Edytuj
#20153805

Ten, którego używam to :

wget -O - -q icanhazip.com

Tak, możesz mieć ip :-)

18
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
Jasur Fozilov
Zarejestrowany 8 godzin temu
2
Zuxriddin Muydinov
Zarejestrowany 1 dzień temu
3
Денис Анненский
Zarejestrowany 3 dni temu
4
365
Zarejestrowany 1 tydzień temu
5
True Image
Zarejestrowany 1 tydzień temu
BG
DE
EL
ES
FI
FR
ID
IT
JA
KO
NL
PL
PT
RU
SL
ZH
© de-vraag 2022
Źródło
askubuntu.com
na podstawie licencji cc by-sa 3.0 z przypisaniem