Найпростіший спосіб показати мою IP-адресу?


62

Після завантаження, який найпростіший спосіб отримати та відобразити IP-адресу, яку зараз використовується пристрій?
Я використовую Raspbian, але ifconfigвін, здається, не встановлений.

Чи є віджети, які відображають цю інформацію в LXDE?


4
Він, ймовірно, встановлений; вам доведеться судо ifconfig на Debian.
Алекс Чемберлен

Я зараз це розумію. Я думаю, що мене зіпсували підказки командного рядка Ubuntu. Я перевірю це, коли підключу його.
Zoot

Це штучка, а не штука Ubuntu. Я думаю, що ifconfig просто встановлений з різними дозволами.
Алекс Чемберлен

1
Так, я забув судо. ifconfig встановлений за замовчуванням, але він створює команду не знайдено помилку, якщо ви не судо. Дякую!
Zoot

Мій Raspbian показує IP-адресу безпосередньо перед запитом на вхід.
Thorbjørn Ravn Andersen

Відповіді:


65

Сімейство інструментів if, включаючи ifconfig, застаріло та замінено новішими командами ip, щоб ви могли використовувати будь-яку з наведених нижче командних рядків для визначення вашої IP-адреси:

sudo ip addr show

або

sudo hostname --ip-address

або якщо ви все ще хочете використовувати ifconfig, і він уже не встановлений

sudo apt-get install wireless-tools
sudo ifconfig -a

1
@jackweirdy - це новіші інструменти, які замінюють старі інструменти if. Спробуйте man ip для отримання додаткових деталей.
Стів Робіллард

1
привіт за це, сьогодні дізналися щось нове :)
jackweirdy

це команда "arp", яка покаже вам щось у рядку IP-адреси?
Пьотр Кула

4
ip aдостатньо, якщо ви хочете отримати IP-адресу :)
Der Hochstapler

3
Жодна з команд відображення насправді не потребує дозволу sudo. Це, мабуть, показано через побічний ефект від встановлення шляху для включення / збивання. Ви можете працювати /sbin/ifconfigабо /sbin/ipяк будь-який користувач, як правило.
XTL

12

Ви також можете використовувати цей маленький сценарій python.

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'))

9
Трохи надмірності ви не думаєте? Немало сенсу замінювати існуючі команди Linux, які досягають того ж.
Jivings

2
@ Живі Біт суворий - це відповідь, яка працює! (Я кажу без тестування ...) Наприклад, це може бути основою віджета на робочому столі.
Алекс Чемберлен

1
@Bryan Ласкаво просимо до обміну стеками та Raspberry Pi!
Алекс Чемберлен

1
@AlexChamberlain Вибачте Брайан. Я ще не
випив

1
Це навіть може бути додано до служби повідомлень, яка працює після входу, щоб автоматично відображати IP-адресу поряд із початковим повідомленням. Тоді це було б автоматичне введення тексту не потрібно.
Стів Робіллард

8

Як альтернатива пошуку IP-адреси, призначеної DHCP, я додав зарезервовану IP-адресу на своєму маршрутизаторі / сервері DHCP. Він відповідає MAC-адресу Raspi і завжди призначає однакову IP-адресу - навіть після нової установки ОС.

Якщо у Wheezy тепер за умовчанням включений SSH, це означає, що я можу увійти до щойно встановленого Raspberry Pi, не потребуючи підключення клавіатури чи монітора.

Вибачте за те, що не відповіли на питання безпосередньо, але, здавалося, досить тісно пов'язані, щоб підказати.


Якщо це допомагає людям знайти прості способи визначення IP, я все за це.
Zoot

7

Можливо, ви зможете перевірити стан / журнали DHCP на вашому сервері DHCP. Особливо, якщо це у вашій домашній мережі. На всіх маршрутизаторах, якими я володію, це було досить легко знайти.

Це корисно, якщо ви працюєте без голови і просто хочете знати адресу, на яку слід ввести ssh.


@gnibbler +1 для вирішення проблеми для тих, хто працює без голови. Можна зауважити, визначити, який пристрій є Pi, може бути складним, оскільки він не завжди ідентифікує себе через мережу, і, таким чином, може відображатися без імені в списку доданих пристроїв. У цій темі raspberrypi.org/phpBB3/viewtopic.php?f=36&t=6998 є докладніше про проблему та рішення
Стів Робіллард

@SteveRobillard, мій же ідентифікувати себе, але вона також може допомогти кому - то , якщо вони бачать MAC - адреса , починаючи , як b8:27:eb:xx:xx:xx, це, ймовірно, RPi :)
John La Роой

5

Що для мене спрацювало:

sudo ifconfig

оскільки ifconfigбув уsbin/ifconfig


Хоча я ціную вашу відповідь, коментар Алекса Чемберлена та відповідь Стіва Робільярда вже містять цю інформацію.
Zoot

5

Якщо ви хочете бачити вашу зовнішню ip-адресу, використовуйте це у своєму командному рядку

завиток http://ipecho.net/plain ; відлуння;

Ви можете створити функцію для полегшення.

Відредагуйте .bashrc та додайте наступну функцію в кінці файлу.

Функція для відображення зовнішньої ip-адреси

Функція для відображення зовнішньої ip-адреси

Виклик вашої функції з cli

введіть тут опис зображення

Ви можете знайти більш цікаві способи отримання своєї ip адреси за цим посиланням

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


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

2

Нещодавно Ши Сільверман та Джейкоб Бейтс створили інструмент під назвою PIP, який дозволяє отримати IP вашого малинового пі, навіть не прикріплюючи його до екрана, оскільки він встановлює сценарій, що надсилає вашу IP-адресу на сервер, який ви можете відвідати разом із вашим основний ПК. Це може бути не найкращим варіантом у будь-якій ситуації, але це дуже спритний злом.


2

Baby script для повернення ip-адреси, працює з підказки:

ip список адрес | grep inet | grep -v 127.0.0 | вирізати -d "" -f 6 | вирізати -d "/" -f 1


1

Я пропоную вам використовувати Bonjour замість того, щоб знаходити IP-адресу. Нехай він призначається через DHCP, і поки ваш ПК знаходиться в одній мережі, ви можете отримати доступ до нього по імені.

Наприклад .. raspberrypi.local

Після цього налаштування ви можете запустити повністю без голови, підключитися до Pi за допомогою SSH або VNC тощо.

Ось стаття, що пояснює, як налаштувати Bonjour. http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=18207

Зауважте, що для машини Windows вам потрібно буде встановити драйвер Принтер Bonjour для принтерів, крихітна річ ...

Для Mac та Ubuntu Bonjour вже є.


0

Просто додайте сюди якусь доповнення, тому у вас, можливо, немає ifconfig, оскільки ваша система, напевно, використовує набір iproute2. iproute2 включає оновлені еквіваленти старої програми ifconfig та маршрутів.

Я доводжу це, тому що якщо ви почнете пробувати команди, до яких ви звикли з ifconfig або route, ваш перший інстинкт, можливо, буде встановити ці старі пакунки, а не просто використовувати новіший еквівалент. Наприклад, якщо вам потрібно скористатися netstat і зрозуміти, що він відсутній, просто виконайте пошук "iproute2 netstat еквівалент", і ви повинні знайти команду "ss". Для подальшого читання та документації див. Статтю Linux Foundation про це: http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2


1
Я вдячний за вашу відповідь, але в мене було встановлено ifconfig. Я просто забув судо перед командою. Перегляньте коментарі нижче відповіді.
Zoot

1
До! Я використовую лише Arch, і він деякий час не використовував ifconfig.
коді

Нема проблем. Це теж кинуло мене на цикл.
Zoot

Ару, вам не потрібно судо для ifconfig, вам просто потрібно зателефонувати весь шлях, оскільки він зараз не у вашому $ PATH. де ifconfig дасть вам шлях, якщо потрібно; тоді ви можете запустити його звідти. Судо - це не відповідь !.
djsmiley2k - CoW

0

Я бачив різноманітні відповіді. деяких я знав, а деяких я не знав. Також завжди є той, який я завжди використовую, який ще не був перерахований. Якщо він є, і я пропустив це, на жаль, шкода.

sudo hostname -я


0

Один вкладиш з ifconfig і sed:

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

Замініть wlan0 на потрібний інтерфейс.


-1
curl ipinfo.io 

працює для мене і на Ubuntu, і на Raspbian


Просто для уточнення тих, хто може не знати: Цей конкретний відповідь дасть зовнішню IP-адресу маршрутизатора або брандмауера локальної мережі, на яку входить Raspberry Pi. Він не дасть конкретну локальну IP-адресу самого Pi. Це може бути корисно для усунення несправностей в Інтернеті. Щоб отримати IP-адресу локальної локальної мережі в якості запитуваного запитання, перегляньте інші відповіді в цьому запитанні.
MrChips

-2

Я вважаю, що arp -aабо Windows, або Linux будуть найпростішими, коли ваш пі підключений до мережі.


2
Мені здається, це дає адреси інших систем, а не вашої власної. Також на man arpданий момент починається зауваження "Ця програма застаріла."
goldilocks

-3

Я не знаю про LXDE. Щоб дізнатися вашу IP-адресу свого пристрою, відвідайте сайт Ip-Details.com . Тут вони також нададуть IP-адресу, ISP-адресу, країну тощо ...


3
Це забезпечить лише зовнішній IP, а не ваш внутрішній IP.
Zoot
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.