Cara termudah untuk menunjukkan alamat IP saya?

62

Setelah saya boot, apa cara termudah untuk mendapatkan dan menampilkan alamat IP yang saat ini digunakan perangkat?
Saya menggunakan Raspbian, dan ifconfigsepertinya tidak diinstal.

Apakah ada widget yang menampilkan informasi ini di LXDE?

Zoot
sumber
4
Mungkin diinstal; Anda harus sudo ifconfig di Debian.
Alex Chamberlain
Saya menyadari itu sekarang. Saya pikir saya dimanja oleh petunjuk baris perintah Ubuntu. Saya akan memeriksanya ketika saya menyalakannya kembali.
Zoot
Itu hal bash, bukan hal Ubuntu. Saya pikir ifconfig baru saja diinstal dengan izin yang berbeda.
Alex Chamberlain
1
Ya, saya lupa sudo. ifconfig diinstal secara default, tetapi muncul dengan perintah tidak ditemukan kesalahan jika Anda tidak sudo itu. Terima kasih!
Zoot
Raspbian saya menunjukkan alamat IP tepat sebelum prompt masuk.
Thorbjørn Ravn Andersen

Jawaban:

65

Keluarga if alat termasuk ifconfig sedang tidak digunakan dan diganti dengan perintah ip yang lebih baru sehingga Anda dapat menggunakan salah satu dari yang berikut ini dari baris perintah untuk menentukan alamat IP Anda:

sudo ip addr show

atau

sudo hostname --ip-address

atau jika Anda masih ingin menggunakan ifconfig, dan belum diinstal

sudo apt-get install wireless-tools
sudo ifconfig -a
Steve Robillard
sumber
1
@jackweirdy, itu adalah alat yang lebih baru yang menggantikan alat yang lama. Coba ip man untuk beberapa detail tambahan.
Steve Robillard
1
bersorak untuk itu, belajar sesuatu yang baru hari ini :)
jackweirdy
adakah perintah "arp" yang akan menunjukkan kepada Anda sesuatu yang sejalan dengan alamat IP?
Piotr Kula
4
ip asudah cukup jika Anda ingin mendapatkan alamat IP :)
Der Hochstapler
3
Tidak ada perintah tampilan yang benar-benar membutuhkan izin sudo. Itu mungkin ditampilkan karena efek samping dari pengaturan jalur Anda untuk menyertakan / sbin. Anda dapat menjalankan /sbin/ifconfigatau /sbin/ipseperti pengguna biasa.
XTL
12

Anda dapat menggunakan skrip python kecil ini juga.

import socket

def get_local_ip_address(target):
  ipaddr = ''
  try:
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect((target, 8000))
    ipaddr = s.getsockname()[0]
    s.close()
  except:
    pass

  return ipaddr
print "Raspberry Pi - Local IP Address"
print(get_local_ip_address('10.0.1.1'))
print(get_local_ip_address('google.com'))
Bryan
sumber
9
Agak berlebihan bukan? Tidak banyak gunanya mengganti perintah Linux yang ada yang mencapai hal yang sama.
Jivings
2
@Jivings Sedikit kasar - ini adalah jawaban, itu berhasil! (Saya katakan tanpa pengujian ...) Ini bisa menjadi dasar dari widget di desktop misalnya.
Alex Chamberlain
1
@Bryan Selamat datang di Stack Exchange dan Raspberry Pi!
Alex Chamberlain
1
@AlexChamberlain Maaf Bryan. Belum minum kopi saya pagi ini :)
Jivings
1
Ini bahkan dapat ditambahkan ke layanan pesan yang berjalan setelah login untuk secara otomatis menampilkan alamat IP di samping pesan startx. Maka otomatis tidak perlu mengetik.
Steve Robillard
8

Sebagai alternatif untuk menemukan alamat IP yang ditugaskan DHCP, saya telah menambahkan alamat IP yang dipesan di router / server DHCP saya. Ini cocok dengan alamat MAC Raspi dan selalu memberikan alamat IP yang sama - bahkan setelah instalasi baru OS.

Dengan Wheezy sekarang yang mengaktifkan SSH secara default, itu berarti saya bisa masuk ke Raspberry Pi yang baru diinstal tanpa perlu menyambungkan keyboard atau monitor.

Permintaan maaf karena tidak menjawab pertanyaan secara langsung, tetapi tampaknya cukup erat untuk disarankan.

Greg Woods
sumber
Jika itu membantu orang menemukan cara mudah untuk menentukan IP, saya siap untuk itu.
Zoot
7

Anda mungkin dapat memeriksa status / log DHCP di server DHCP Anda. Apalagi jika itu di jaringan rumah Anda. Pada semua router yang saya miliki, ini cukup mudah ditemukan.

Ini berguna jika Anda menjalankan tanpa kepala dan hanya ingin tahu alamat yang harus ssh.

John La Rooy
sumber
@gnibbler +1 untuk mengatasi masalah bagi mereka yang menjalankan tanpa kepala. Satu pemikiran untuk dicatat, mengidentifikasi perangkat mana yang merupakan Pi dapat menjadi rumit karena tidak selalu mengidentifikasi dirinya melalui jaringan, dan karenanya, dapat muncul tanpa nama dalam daftar perangkat yang terpasang. Utas ini raspberrypi.org/phpBB3/viewtopic.php?f=36&t=6998 memiliki lebih banyak masalah dan solusi
Steve Robillard
@SteveRobillard, milikku memang mengidentifikasi dirinya sendiri, tetapi juga dapat membantu seseorang jika mereka melihat alamat MAC dimulai seperti b8:27:eb:xx:xx:xx, itu mungkin sebuah RPi :)
John La Rooy
5

Apa yang berhasil untuk saya:

sudo ifconfig

sejak ifconfigdisbin/ifconfig

Matthieu Riegler
sumber
Sementara saya menghargai tanggapan Anda, komentar Alex Chamberlain dan tanggapan Steve Robillard sudah berisi informasi ini.
Zoot
5

Jika Anda ingin melihat alamat ip eksternal Anda gunakan ini pada baris perintah Anda

curl http://ipecho.net/plain ; gema;

Anda dapat membuat fungsi untuk membuatnya lebih mudah.

Edit .bashrc Anda dan tambahkan fungsi berikut di akhir file.

Berfungsi untuk menampilkan alamat ip eksternal

Berfungsi untuk menampilkan alamat ip eksternal

Memanggil fungsi Anda dari cli

masukkan deskripsi gambar di sini

Anda mungkin menemukan cara yang lebih menarik untuk mendapatkan alamat ip Anda di tautan ini

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

andreskwan
sumber
5
$ host raspberrypi
raspberrypi has address 192.168.1.20

$ host raspberrypi | grep ‘address’ | cut -d’ ‘ -f4
192.168.1.20

$ nslookup 192.168.1.20
Server:  192.168.1.1
Address:    192.168.1.1#53
20.1.168.192.in-addr.arpa   name = raspberrypi.

$ nslookup 192.168.1.20 | grep ‘=’ | cut -d’ ‘ -f3
raspberrypi
devpsp
sumber
2

Shea Silverman dan Jacob Bates baru-baru ini menciptakan alat yang disebut PIP yang memungkinkan Anda untuk mendapatkan IP raspberry pi Anda tanpa melampirkannya ke layar, karena menginstal skrip yang mengirim alamat IP Anda ke server yang dapat Anda kunjungi dengan PC utama. Ini mungkin bukan pilihan terbaik dalam setiap situasi, tetapi ini adalah peretasan yang sangat pintar.

Zoot
sumber
2

Skrip bayi untuk mengembalikan alamat ip, berfungsi dari prompt:

daftar alamat ip | grep inet | grep -v 127.0.0 | cut -d "" -f 6 | cut -d "/" -f 1

Mutek sang tamu
sumber
1

Saya sarankan Anda menggunakan Bonjour daripada harus menemukan alamat IP. Biarkan ditugaskan melalui DHCP dan selama PC Anda berada di jaringan yang sama Anda dapat mengaksesnya dengan nama.

Misalnya .. raspberrypi.local

Setelah pengaturan ini Anda dapat menjalankan sepenuhnya tanpa kepala, sambungkan ke Pi dengan SSH, atau VNC dll.

Berikut adalah artikel yang menjelaskan cara mengatur Bonjour. http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=18207

Perhatikan bahwa untuk mesin windows Anda perlu menginstal driver layanan printer Terapkan Bonjour, hal kecil ...

Untuk Mac dan Ubuntu, Bonjour sudah ada di sana.

dfowler7437
sumber
0

Hanya untuk menambahkan beberapa suplemen di sini, alasan Anda mungkin tidak memiliki ifconfig adalah karena sistem Anda mungkin menggunakan iproute2 suite sebagai gantinya. iproute2 mencakup ekuivalen yang diperbarui dari ifconfig lama dan rute suite.

Saya membahas hal ini karena jika Anda mulai mencoba perintah yang biasa Anda gunakan dengan ifconfig atau rute, insting pertama Anda mungkin menginstal paket-paket lama itu daripada hanya menggunakan yang setara yang lebih baru. Misalnya, jika Anda perlu menggunakan netstat dan menyadari bahwa itu tidak ada, cukup lakukan pencarian untuk "iproute2 netstat equivalen" dan Anda harus menemukan perintah "ss". Untuk bacaan dan dokumentasi lebih lanjut, lihat artikel Linux Foundation di dalamnya: http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2

berkode
sumber
1
Saya menghargai jawaban Anda, tetapi saya sudah menginstal ifconfig. Saya hanya lupa sudo sebelum perintah. Lihat komentar di bawah jawabannya.
Zoot
1
Doh! Saya hanya menggunakan Arch dan belum menggunakan ifconfig untuk sementara.
kode
Tidak masalah. Itu membuat saya loop, juga.
Zoot
Aduh, Anda tidak perlu sudo untuk ifconfig, Anda hanya perlu memanggil seluruh path karena tidak ada dalam $ PATH Anda saat ini. whereis ifconfig akan memberi Anda jalan jika diperlukan; maka Anda dapat menjalankannya dari sana. sudo bukan jawabannya !.
djsmiley2k - KK
0

Saya melihat berbagai jawaban. beberapa yang saya tahu dan beberapa yang saya tidak tahu. Ada juga satu yang selalu saya gunakan yang belum terdaftar. Jika sudah dan saya melewatkannya oops sorry.

sudo hostname -I

Pismurf
sumber
0

Satu liner dengan ifconfig dan sed:

sudo ifconfig wlan0 | sed -En -e 's/.*inet ([0-9.]+).*/\1/p'

Ganti wlan0 dengan antarmuka yang diinginkan.

bleater
sumber
-1
curl ipinfo.io 

bekerja untuk saya di Ubuntu dan Raspbian

pengguna522843
sumber
Hanya untuk mengklarifikasi bagi mereka yang mungkin tidak sadar: Jawaban khusus ini akan memberikan alamat IP eksternal (yang menghadap internet) dari router LAN atau firewall tempat Raspberry Pi aktif. Itu tidak akan memberikan alamat IP LAN spesifik dari Pi itu sendiri. Ini bisa berguna untuk pemecahan masalah internet. Untuk mendapatkan alamat IP LAN lokal sebagai pertanyaan yang diajukan, lihat jawaban lain di sini dalam pertanyaan ini.
MrChips
-2

Saya percaya arp -apada windows atau linux akan menjadi yang paling sederhana setelah pi Anda terhubung ke jaringan.

pengguna44213
sumber
2
Menurut saya ini memberikan alamat sistem lain, bukan milik Anda. Perhatikan juga man arpsaat ini dimulai "Program ini sudah usang."
goldilocks
-3

Saya tidak tahu tentang LXDE. Untuk mengetahui alamat IP perangkat Anda, kunjungi situs Ip-Details.com . Di sini mereka juga akan memberikan lokasi IP, alamat ISP, negara dll ...

pengguna46126
sumber
3
Ini hanya akan memberikan IP eksternal, bukan IP internal Anda.
Zoot