Genel IP adresimi belirleme komutu?

Eğer google ile kontrol edersem, genel IP adresimi görebiliyorum. Ubuntu komut satırında bana aynı cevabı verecek bir şey var mı?

Çözüm

Eğer bir yönlendiricinin arkasında değilseniz, ifconfig kullanarak bunu öğrenebilirsiniz.

Bir yönlendiricinin arkasındaysanız, yönlendirici bir ağ adresi çevirisi yaptığından bilgisayarınız genel IP adresini bilmeyecektir. Bir web sitesine curl veya wget kullanarak genel IP adresinizin ne olduğunu sorabilir ve ihtiyacınız olan bilgileri ondan alabilirsiniz:


curl -s https://checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/
Yorumlar (16)

Harici ip'yi bulmak için harici web tabanlı hizmetleri kullanabilir veya sistem tabanlı yöntemleri kullanabilirsiniz. Daha kolay olanı harici servis kullanmaktır, ayrıca ifconfig tabanlı çözümler sisteminizde yalnızca bir NAT arkasında değilseniz çalışacaktır. iki yöntem aşağıda ayrıntılı olarak tartışılmıştır.

Harici servisleri kullanarak harici IP bulma

En kolay yol, bir komut satırı tarayıcısı veya indirme aracı aracılığıyla harici bir hizmet kullanmaktır. Ubuntu'da wget varsayılan olarak mevcut olduğundan, bunu kullanabiliriz.
İp adresinizi bulmak için-

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

Kayrıcalık:

Harici ip adresinizi bulmak için yukarıdaki komutta küçük değişiklikler yaparak wget yerine lynx (tarayıcı) veya curl kullanabilirsiniz.

İp'yi bulmak için `curl' kullanıyorum:

$ curl https://ipecho.net/plain

Daha iyi biçimlendirilmiş bir çıktı için kullanın:

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

Çözümleyici olarak OpenDNS ile dig kullanan daha hızlı (tartışmasız en hızlı) bir yöntem:

Buradaki diğer cevapların hepsi HTTP üzerinden uzak bir sunucuya gider. Bazıları çıktının ayrıştırılmasını gerektirir veya User-Agent başlığına güvenir sunucunun düz metin olarak yanıt vermesini sağlamak için. Ayrıca oldukça değişirler sık sık (aşağı inerler, isimlerini değiştirirler, reklam verirler, değişebilirler çıktı formatı vb.).

  1. DNS yanıt protokolü standartlaştırılmıştır (format uyumlu kalacaktır).
  2. Tarihsel olarak DNS hizmetleri (OpenDNS, Google Public DNS, ..) çok daha uzun süre hayatta kalma eğilimindedir ve daha kararlı, ölçeklenebilir ve genellikle yeni kalça whatismyip.com HTTP hizmetinden sonra bugün sıcak.
  3. (Mikro optimizasyona önem veren inekler için), bu yöntem doğal olarak daha hızlı olmalıdır (sadece birkaç mikro saniye ile).

Çözümleyici olarak OpenDNS ile dig kullanmak:

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

111.222.333.444

Copied from: https://unix.stackexchange.com/a/81699/14497

Harici hizmetlere güvenmeden harici IP bulma

  • Ağ arayüzünüzün adını biliyorsanız

Terminalinize aşağıdakileri yazın:

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

Yukarıda, `yerine gerçek arayüzünüzün adını yazın, örneğin:eth0,eth1,pp0`, vb...

Örnek Kullanım:

$ LANG=c ifconfig ppp0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'
111.222.333.444
  • Ağ arayüzünüzün adını bilmiyorsanız

Terminalinize aşağıdakileri yazın (bu, sisteminizdeki her ağ arayüzünün adını ve ip adresini alır):

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

Örnek Kullanım:

$ 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: Çıktılar gösterge niteliğindedir ve gerçek değildir.

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

GÜNCELLEME

  1. ifconfig tabanlı kullanımlara LANG=c eklenmiştir, böylece yerel ayarlardan bağımsız olarak her zaman İngilizce çıktı verir.
Yorumlar (10)

Benim kullandığım:

wget -O - -q icanhazip.com

Evet, ip alabilirsin :-)

Yorumlar (1)