Simile a una ricerca http://whatismyip.com . Ovviamente avrebbe bisogno di interrogare un computer là fuori. Ti stai solo chiedendo se qualcuno avesse un modo intelligente per farlo?
Simile a una ricerca http://whatismyip.com . Ovviamente avrebbe bisogno di interrogare un computer là fuori. Ti stai solo chiedendo se qualcuno avesse un modo intelligente per farlo?
Risposte:
curl http://myip.dnsomatic.com
dig + short myip.opendns.com
Funziona solo se si utilizza OpenDNS come server DNS.
In caso contrario, uno di questi dovrebbe funzionare:
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
(per leggibilità)
STUN è la soluzione corretta.
% stun -v stun.ekiga.net ... MappedAddress = 88.189.152.187:18009
lynx -dump http://www.pcmesh.com/ip-check.cgi | awk '/REMOTE_ADDR/{print $2}'
corro solo un traceroute da qualche parte su Internet e cerco il hop out della nostra rete locale.
forse c'è un modo migliore?
"lince http://whatismyip.com "
il modo più semplice è: arricciare ifconfig.me
è possibile utilizzare il comando ifconfig per elencare tutte le interfacce e gli indirizzi IP associati.
quindi, se sai che la tua interfaccia Internet è ppp0, puoi eseguire
$ ifconfig ppp0 ppp0 Link encap: protocollo punto-punto inet addr: XXXX.X PtP: AAAA Maschera: 255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU: 1444 Metrico: 1 Pacchetti RX: 198986 errori: 0 rilasciati: 0 sovraccarichi: 0 frame: 0 Pacchetti TX: 122929 errori: 0 rilasciati: 0 sovraccarichi: 0 portante: 0 collisioni: 0 txqueuelen: 3 Byte RX: 134195571 (127,9 MiB) Byte TX: 17101701 (16,3 MiB)
XXXX sarà il tuo indirizzo IP. AAAA è l'indirizzo IP dell'hop successivo.
è quindi possibile postelaborare l'output di ifconfig con grep / awk / sed / cut / perl / qualunque cosa per estrarre solo l'IP.
un'altra alternativa, se hai gli strumenti iproute installati, è usare il comando ip. per esempio
$ ip addr list ppp0 21842: ppp0: mtu 1444 qdisc htb state UNKNOWN qlen 3 Link / ppp inet XXXX peer YYYY / 32 scope global ppp0
è probabilmente più facile da leggere e sicuramente più facile da analizzare:
$ ip addr list ppp0 | awk '/ inet / {print $ 2}' XXXX