Eğer google ile kontrol edersem, genel IP adresimi görebiliyorum. Ubuntu komut satırında bana aynı cevabı verecek bir şey var 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/<.*$//'
veya daha kısa
curl https://ipinfo.io/ip
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.
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
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.).
- DNS yanıt protokolü standartlaştırılmıştır (format uyumlu kalacaktır).
- 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.
- (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
Terminalinize aşağıdakileri yazın:
$ LANG=c ifconfig <interface_name> | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'
Yukarıda, <interface_name>
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
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
ifconfig
tabanlı kullanımlara LANG=c
eklenmiştir, böylece yerel ayarlardan bağımsız olarak her zaman İngilizce çıktı verir.