Як отримати IP-адресу машини Unix?


13

Мені потрібно знати IP-адресу машини UNIX. Я можу увійти до нього за допомогою ssh, але не знаю IP-адреси.

Хто-небудь, будь ласка, скажіть мені команду отримати IP-адресу машини Unix, на якій я увійшов?


Відповіді:


5

спробуйте цей код, щоб побачити IP-адресу Unix-машини

nslookup mach_name

12

Ви можете використовувати ifconfig, щоб отримати IP-адресу будь-якого з інтерфейсів у системі (зауважте, що може бути більше одного інтерфейсу та більше однієї IP-адреси).

Починати з:

 $ ifconfig -a

4
Деякі системи UNIX не позначають свої інтерфейси en0- більш загальною відповіддю є використання ifconfig -a. Крім того, ifconfigдвійковий файл не завжди використовується PATHдля звичайних користувачів, тому їм може знадобитися спробувати різні заклики, такі як /sbin/ifconfig -a, /etc/ifconfig -aабо увійти як root і спробувати ifconfig -a.
RedGrittyBrick

7

Використовуйте цю команду

host `hostname`

або цей

nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1

Пояснення

Почніть з nslookup

nslookup `hostname`      

потім шукайте "адресу"

nslookup `hostname` | grep -i address

Це поверне щось подібне

Address:    192.168.1.1#53
Address: 192.168.1.167

Тепер займемося лише адресами, вибравши другий стовпець тексту. Ми передаємо "" як роздільник поля

nslookup `hostname` | grep -i address | awk -F" " '{print $2}'

Ми позбудемося частини "# 53", вибравши перший стовпець. Ми передаємо "#" як роздільник поля

nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}'

Остання адреса - місцева адреса. Хвіст допоможе нам його отримати.

nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1

5

Альтернативою ipconfigє те, ip(8)де вихід може дещо звузитися. Наприклад:

$ ip -f inet addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    inet 172.31.39.10/24 brd 172.31.39.255 scope global eth0

Інтерфейс, який не є циклом (lo), є тим, що ви хочете: 172.31.39.10


0

використовувати ifconfigта шукати inetчастину результату. Зверніть увагу, якщо у вас більше однієї мережевої карти (наприклад, Ethernet та бездротової мережі), буде більше одного запису.

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