Pertanyaan Perintah untuk menentukan IP publik saya?


Jika saya periksa google, Saya bisa melihat IP publik saya. Apakah ada sesuatu di baris perintah Ubuntu yang akan memberi saya jawaban yang sama?


526
2018-01-16 11:50


asal


"Memiliki IP dinamis", "SSH menggunakan beberapa sistem lain di internet", "perintah yang akan menampilkan IP PUBLIK saat ini". Anda melihat masalah ayam / telur di sini? Bagaimana Anda dapat menjalankan perintah pada server jauh tanpa mengetahui alamatnya? Anda mungkin lebih tertarik pada layanan seperti no-ip.com / DynDNS.org. - gertvdijk
tidak dapat SSH tanpa mengetahui IP publik teman saya ... DynDNS biaya banyak dan tidak ada kerja keras -tik tetapi situasi tidak memungkinkan itu ... toh pertanyaannya sudah dijawab .. terima kasih atas saran Anda - Z9iT
PS duckduckgo.com/?q=ip (Tidak ada baris perintah, tapi tidak ada kakak laki-laki G juga) - Campa
Mungkin ini seharusnya menjadi pertanyaan terpisah, tetapi saya ingin melihat peringatan ketika alamat IP publik saya berubah. Untuk saat ini, saya hanya menggunakan jawaban berikut dalam crontab dengan notify-send. - PJ Brunet


Jawaban:


Jika Anda tidak berada di belakang router, Anda dapat menggunakannya ifconfig.

Jika Anda berada di belakang router, maka komputer Anda tidak akan tahu tentang alamat IP publik karena router melakukan terjemahan alamat jaringan. Anda bisa menanyakan beberapa situs web yang digunakan oleh alamat IP publik Anda curl atau wget dan ekstrak informasi yang Anda butuhkan darinya:

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

atau lebih pendek

curl ipinfo.io/ip

748
2018-01-16 11:56



ty - tepat setelah saya memposting, saya menyadari bahwa saya tidak mencari jawaban untuk google terlebih dahulu: sepertinya ini akan berhasil curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'  Kemungkinan lain tercantum di sini: go2linux.org/what-is-my-public-ip-address-with-linux - kfmfe04
yakin - Anda dapat menambahkannya ke jawaban Anda - kfmfe04
Untuk mengklarifikasi: Itu adalah peretasan, dan yang sangat buruk pada itu, jadi saya melakukan pengeditan untuk membuatnya lebih sederhana dan sesuatu yang dapat diingat orang. - jrg♦
Exacly sebagai Giovanni P menyatakan. OP harus mengubah anwser yang diterima. - loostro
curl -s ipinfo.io/ip - chao


Untuk menemukan ip eksternal, Anda dapat menggunakan layanan berbasis web eksternal, atau menggunakan metode berbasis sistem. Yang lebih mudah adalah menggunakan layanan eksternal, juga ifconfig solusi berbasis akan bekerja di sistem Anda hanya jika Anda tidak berada di belakang NAT. kedua metode tersebut telah dibahas di bawah ini secara rinci.

Menemukan IP eksternal menggunakan layanan eksternal

Cara termudah adalah menggunakan layanan eksternal melalui browser baris perintah atau alat unduhan. Sejak wget tersedia secara default di Ubuntu, kita bisa menggunakannya.
Untuk menemukan ip Anda, gunakan-

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

Kesopanan:

Anda juga bisa menggunakan lynx(browser) atau curl di tempat wget dengan sedikit variasi ke perintah di atas, untuk menemukan ip eksternal Anda.

Menggunakan curl untuk menemukan ip:

$ curl ipecho.net/plain

Untuk penggunaan output berformat lebih baik:

$ curl ipecho.net/plain ; echo

Metode yang lebih cepat (bisa dibilang tercepat) menggunakan dig dengan OpenDNS sebagai resolver:

Jawaban lain di sini semua pergi melalui HTTP ke server jauh. Beberapa   mereka membutuhkan parsing dari output, atau bergantung pada header User-Agent   untuk membuat server merespon dalam teks biasa. Mereka juga berubah cukup   sering (turun, mengubah nama mereka, memasang iklan, mungkin berubah   format output, dll.).

  1. Protokol respons DNS distandarkan (format akan tetap kompatibel).
  2. Layanan DNS historis (OpenDNS, Google Public DNS, ..) cenderung bertahan lebih lama dan lebih stabil, skalabel dan umumnya tampak   setelah dari apa pun layanan hip whatismyip.com hip baru panas hari ini.
  3. (bagi mereka yang peduli dengan mikro-optimasi), metode ini seharusnya lebih cepat (hanya beberapa detik mikro).

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 bergantung pada layanan eksternal

  • Jika Anda tahu nama antarmuka jaringan Anda

Ketik yang berikut di terminal Anda:

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

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

N.B: Output bersifat indikatif dan tidak nyata.

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

MEMPERBARUI 

  1. LANG=c telah ditambahkan ke ifconfig berdasarkan penggunaan, sehingga selalu memberikan output bahasa Inggris, terlepas dari pengaturan lokal.

364
2018-06-01 12:10



@ Z9iT, Pasti .. Ini harus bekerja di distribusi linux apapun asalkan Anda telah menginstal wget. Seperti yang dikatakan jika Anda memiliki curl atau lynx yang sudah tersedia, silakan gunakan itu sebagai gantinya. Anda akan membutuhkan izin root untuk menginstal jadi gunakan sudo apt-get install wget - saji89
Perintah dengan ifconfig hanya berfungsi, jika Anda tidak berada di belakang NAT. - lukassteiner
gunakan saja -w pilihan curl bukan echo :) curl -w '\n' ident.me - drAlberT
Proposal ini menggunakan penggalian cukup bagus unix.stackexchange.com/questions/22615/… - binaryanomaly
@saji ifconfig jika usang, silakan gunakan iproute2 ; ^). Perintahnya pasti ip -o -4 a s eth0 | awk '{sub(/\/.*/, "", $4);print $4}'. - bufh


Favorit saya selalu:

curl ifconfig.me

sederhana, mudah diketik.

Anda harus menginstal curl terlebih dahulu;)

Jika ifconfig.me turun, coba icanhazip.com dan atau ipecho.net

curl icanhazip.com

atau

curl ipecho.net

103
2018-06-01 12:41



@ Z9iT, saya baru saja memeriksanya sekarang. Ya, itu akan mengeluarkan ip eksternal di terminal Anda. - saji89
Waktu respons dari ifconfig.me tampaknya agak lebih lambat daripada ipecho.net. - Drew Noakes
Jika Anda tidak punya curl tetapi miliki wget: wget -U curl -qO- ifconfig.me - Stéphane Chazelas
ifconfig.me tampaknya tidak merespons :( - Asfand Qazi
@AsfandYarQazi - bekerja di sini. Anda dapat mencoba salah satu alternatif, icanhazip.com - Panther


icanhazip.com adalah favoritku.

curl icanhazip.com

Anda dapat meminta IPv4 secara eksplisit:

curl ipv4.icanhazip.com

Jika Anda tidak punya curl Kamu dapat memakai wget sebagai gantinya:

wget -qO- icanhazip.com

55
2018-06-01 17:23



mencoba ipv4.icanhazip.com - yprez
IPv4: curl ipv4.icanhazip.com     IPv6: curl ipv6.icanhazip.com - Peter
Busybox tidak memiliki keriting, gunakan ini sebagai gantinya: wget -qO- http://icanhazip.com - Hengjie
inilah perintah bash-only: exec 3<>/dev/tcp/icanhazip.com/80 && echo -e 'GET / HTTP/1.0\n' >&3 && cat <&3 - jfs
ipv6.icanhazip.com sepertinya tidak berfungsi lagi. - Hibou57


Saya telah menemukan segalanya menjadi menjengkelkan dan lambat, jadi saya menulis sendiri. Ini sederhana dan cepat.

API-nya aktif http://api.ident.me/

Contoh:

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

44
2018-01-03 15:49



Woah, itu sangat cepat! - waldyrious
saya menemukan solusi icanhazip.com lebih cepat dan itu termasuk baris baru dalam output. - Tyler Collier
Ya, memang lebih cepat akhir-akhir ini. Hanya tweak solusi saya. - Pierre Carrier
Pujian! 2 tahun dan Anda masih mempertahankannya. Sudah selesai dilakukan dengan baik. "IDENTIFIKASI AKU", adalah apa yang terlintas dalam pikiran saya, ketika saya perlu memeriksa ip :) - Mohnish
@PierreCarrier v6.ident.me tidak bekerja - SebMa


Anda dapat menggunakan permintaan DNS, bukan permintaan HTTP untuk mencari tahu IP publik Anda:

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

Itu menggunakan resolver1.opendns.com Server dns untuk menyelesaikan magis myip.opendns.com nama host untuk anda alamat IP.


37
2018-02-27 15:07



Ini adalah sangat cepat. Saya melakukan satu eksekusi pemanasan, lalu 10 eksekusi masing-masing ini dan curl icanhazip.com. Rata-rata untuk curl versi: 174ms. Rata-rata untuk versi hanya DNS: 9ms. ~ 19x lebih cepat. Lihat juga: unix.stackexchange.com/a/81699/8383 - Adam Monsen
@AdamMonsen Terima kasih atas tautannya. Titik menggunakan DNS (seperti jawaban yang Anda tautkan) adalah bahwa responsnya adalah standar (dan tidak mungkin berubah) dan layanan (OpenDNS) mungkin bertahan lebih lama daripada sebagian besar alternatif httpnya. Waktu yang dibutuhkan untuk membuat permintaan mungkin dibayangi oleh waktu mulai perintah. - jfs
Ya. Saya tidak akan terkejut jika curl sendiri lebih lambat dari dig. Bahkan jika mereka ditulis ulang untuk menjadi seakrab mungkin, curl masih akan lebih lambat; itu menggunakan HTTP (termasuk DNS) dan dig hanya menggunakan DNS. - Adam Monsen


Yang saya gunakan adalah:

wget -O - -q icanhazip.com

Ya, Anda dapat memiliki ip :-)


18
2018-01-16 14:20



aku lebih memilih curl icanhazip.com terkadang wget adalah satu-satunya yang tersedia, tetapi terkadang tidak wget tersedia juga dan curl adalah satu-satunya pilihan Anda (seperti OS / X). Either way curl icanhazip.com hampir semudah curl ifconfig.me tapi lebih lucu ;-) - TryTryAgain


Amazon AWS

curl http://checkip.amazonaws.com

Output sampel:

123.123.123.123

Saya suka itu karena:

  • ia mengembalikan hanya IP plaintext, tidak ada yang lain
  • itu dari penyedia terkenal yang tidak mungkin offline dalam waktu dekat

16
2017-12-21 22:06