Podobne do wyszukiwania http://whatismyip.com . Oczywiście musiałby wysłać zapytanie do komputera. Zastanawiam się, czy ktoś miał sprytny sposób na zrobienie tego?
Podobne do wyszukiwania http://whatismyip.com . Oczywiście musiałby wysłać zapytanie do komputera. Zastanawiam się, czy ktoś miał sprytny sposób na zrobienie tego?
Odpowiedzi:
curl http://myip.dnsomatic.com
dig + short myip.opendns.com
Działa to tylko wtedy, gdy używasz OpenDNS jako serwera dns.
Jeśli nie, jeden z nich powinien działać:
dig + short myip.opendns.com @ 208.67.222.222 dig + short myip.opendns.com @ 208.67.220.220 dig + short myip.opendns.com @ 208.67.222.222 @ 208.67.220.220
@resolver1.opendns.com(Dla czytelności)
STUN jest właściwym rozwiązaniem.
% ogłuszenie -v stun.ekiga.net ... MappedAddress = 88.189.152.187:18009
lynx -dump http://www.pcmesh.com/ip-check.cgi | awk '/REMOTE_ADDR/{print $2}'
po prostu uruchamiam traceroute gdzieś w Internecie i szukam przeskoku z naszej sieci lokalnej.
może jest lepszy sposób?
„lynx http://whatismyip.com ”
najprostszym sposobem jest: curl ifconfig.me
możesz użyć polecenia ifconfig, aby wyświetlić listę wszystkich interfejsów i powiązanych z nimi adresów IP.
więc jeśli wiesz, że twój interfejs internetowy to ppp0, możesz uruchomić
$ ifconfig ppp0
ppp0 Link encap: Protokół Point-to-Point
adres inet: XXXX.X PtP: RRRR Maska: 255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU: 1444 Metryczny: 1
Pakiety RX: 198986 błędy: 0 usunięte: 0 przekroczeń: 0 ramka: 0
Pakiety TX: 122929 błędów: 0 odrzuconych: 0 przekroczeń: 0 nośnych: 0
kolizje: 0 txqueuelen: 3
Bajty RX: 134195571 (127,9 MiB) Bajty TX: 17101701 (16,3 MiB)
XXXX będzie Twoim adresem IP. RRRR to adres IP następnego przeskoku.
następnie możesz przetworzyć dane wyjściowe ifconfig za pomocą grep / awk / sed / cut / perl / cokolwiek, aby wyodrębnić tylko adres IP.
inną alternatywą, jeśli masz zainstalowane narzędzia iproute, jest użycie polecenia ip. na przykład
$ ip lista adresów ppp0
21842: ppp0: mtu 1444 qdisc stan htb NIEZNANY qlen 3
link / ppp
inet XXXX peer RRRR / 32 zakres globalny ppp0
jest to prawdopodobnie łatwiejsze do odczytania i na pewno łatwiejsze do przeanalizowania:
$ ip lista adresów ppp0 | awk '/ inet / {print $ 2}'
XXXX