Untuk menemukan ip eksternal, Anda dapat menggunakan layanan berbasis web eksternal, atau menggunakan metode berbasis sistem. Yang lebih mudah adalah dengan menggunakan layanan eksternal, juga ifconfig
solusi berbasis akan bekerja di sistem Anda hanya jika Anda tidak ketinggalan a NAT
. kedua metode tersebut telah dibahas secara rinci di bawah ini.
Menemukan IP eksternal menggunakan layanan eksternal
Cara termudah adalah dengan menggunakan layanan eksternal melalui browser baris perintah atau alat unduhan. Karena wget
tersedia secara default di Ubuntu, kita dapat menggunakannya.
Untuk menemukan ip Anda, gunakan-
$ wget -qO- https://ipecho.net/plain ; echo
Kesopanan :
Anda juga dapat menggunakan lynx
(browser) atau curl
menggantikannya wget
dengan sedikit variasi pada perintah di atas, untuk menemukan ip eksternal Anda.
Menggunakan curl
untuk menemukan ip:
$ curl https://ipecho.net/plain
Untuk penggunaan output yang diformat lebih baik:
$ curl https://ipecho.net/plain ; echo
Metode yang lebih cepat (bisa dibilang tercepat) menggunakan dig
dengan OpenDNS
sebagai resolver:
Jawaban lain di sini semua pergi HTTP ke server jauh. Beberapa dari mereka memerlukan penguraian output, atau mengandalkan header User-Agent untuk membuat server merespons dalam teks biasa. Mereka juga sering berubah (turun, ganti nama, memasang iklan, mungkin mengubah format output, dll.).
- Protokol respons DNS distandarisasi (formatnya akan tetap kompatibel).
- Secara historis layanan DNS (OpenDNS, Google Public DNS, ..) cenderung bertahan lebih lama dan lebih stabil, terukur, dan secara umum dijaga daripada layanan HTTP whatismyip.com baru apa pun yang sedang panas saat ini.
- (bagi mereka yang peduli dengan optimasi mikro), metode ini seharusnya lebih cepat secara inheren (baik itu hanya dengan beberapa mikro detik).
Menggunakan dig dengan OpenDNS sebagai resolver:
$ dig +short myip.opendns.com @resolver1.opendns.com
111.222.333.444
Disalin dari: https://unix.stackexchange.com/a/81699/14497
Menemukan IP eksternal tanpa mengandalkan layanan eksternal
- Jika Anda tahu nama antarmuka jaringan Anda
Ketikkan yang berikut di terminal Anda:
$ LANG=c ifconfig <interface_name> | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'
Dalam contoh di atas, ganti <interface_name>
dengan nama antarmuka Anda yang sebenarnya, misalnya: eth0
, eth1
, pp0
, dll ...
Contoh penggunaan:
$ LANG=c ifconfig ppp0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'
111.222.333.444
- Jika Anda tidak tahu nama antarmuka jaringan Anda
Ketik yang berikut di terminal Anda (ini mendapatkan nama dan alamat ip dari setiap antarmuka jaringan di sistem Anda):
$ 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 }'
Contoh penggunaan:
$ 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
NB: Output bersifat indikatif dan tidak nyata.
Courtesy: https://www.if-not-true-then-false.com/2010/linux-get-ip-address/
MEMPERBARUI
LANG=c
telah ditambahkan ke ifconfig
penggunaan berbasis, sehingga selalu memberikan output bahasa Inggris, terlepas dari pengaturan lokal.