Как получить IP-адрес машины Unix?

13

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

Может кто-нибудь сказать мне команду, чтобы получить IP-адрес компьютера Unix, на котором я вошел в систему?

Antoops
источник
Связанный: coffer.com/mac_info/locate-unix.html
RedGrittyBrick

Ответы:

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

Интерфейс, который не является loopback (lo), является тем, который вы хотите: 172.31.39.10

Дэвид Дж. Лишевски
источник
0

использовать ifconfigи искать inetчасть вывода. Обратите внимание, что если у вас более одной сетевой карты (например, Ethernet и беспроводной), будет несколько записей.

hvgotcodes
источник