Як я можу знати IP-адресу інших користувачів, що ввійшли в систему на тому ж віддаленому пристрої?


13

Я можу побачити імена інших користувачів на віддаленій машині з whoкомандою ... Я також хотів би знати IP-адресу цих користувачів ...

Я намагався з командами /sbin/ifconfingі , netstatале я не міг отримати позитивні результати ...

Мені потрібно це рішення сумісне як з Linux, так і з Unix ...

Чи є команда з цією утилітою? Чи потрібно писати сценарій чи використовувати певні труби?


5
Щоб було зрозуміло, whoне повідомляється про користувачів у тій самій мережі , просто користувачі ввійшли на той же апарат, що і ви.
jw013

Коли я входжу на віддалену машину, whoдає мені своє ім'я машини-джерела як на Linux, так і на solaris (останнє поле, між дужками, коли локально входиш у систему з XI, отримує дисплей X). Отримати IP з цього слід просто ( nslookup, host)
AProgrammer

Відповіді:


17

Спробуйте wкоманду, частина procpsпакету.

$ w
 21:12:09 up 6 days,  7:42,  1 user,  load average: 0.27, 1.08, 1.64
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
h3xx     pts/11   192.168.1.3      21:12    2.00s  0.04s  0.04s -bash

Чи procpsдоступний пакет в Unix (зокрема, Solaris)?
омар

5

На сторінці сторінки whoв моїй системі Debian Linux є --ipsможливість відображати IP-адреси замість імен хостів.


Я спробую цей варіант, коли повернусь до лабораторії мережі Solaris. У моїй системі Xubuntu не відображається IP-адреса
omar

4
У мене немає також цього прапора на Gentoo; схоже, що його додав Debian у 5.96-3 у складі помилки 363126
Michael Mrozek

1
Цей прапор також не існує в моїй системі SuSe.
n0pe

У CentOS 6.5 також немає такої можливості.
aggregate1166877

жодної --ipsопції для арки теж
Ніл Басу

1

whoце команда, яку я використовую, але вона не є на 100% надійною. Отримані імена походять із запису PTR для IP-адреси. Може бути або не бути відповідним записом для імені.

Дані з psта netstatможуть бути інтегровані, якщо у вас є root права. Інакше ви можете лише здогадуватися, який зв’язок належить до якого процесу.

Є й інші інструменти, якими можна скористатися, але я не знайшов жодної програми, яка б відповідала параметрам та виводилась на всі версії UNIX / Linux.


1

У деяких старих UNIX (наприклад, SCO OpenServer Release 5.0.7) wкоманда є вдалим початком, але IP-адреса не виводиться за замовчуванням. Іноді потрібні аргументи команд. Зі manсторінки:

-x
   Print out the hostname. This option cannot be used with
   the -u option.

-X
   Print out full hostnames. This option implies the -x
   option. Hostnames printed by the -x option are truncated
   to fit into a field; hostnames printed by the -X option
   are not truncated.

Наприклад:

$ w
  2:39pm  up 2 days, 11:07,  1 user,  load average: 0.00, 0.00, 0.00
User     Tty       Login@   Idle   JCPU   PCPU  What
minime   ttyp0     2:31pm      -      -      -  w
$ w -x
  2:39pm  up 2 days, 11:07,  1 user,  load average: 0.00, 0.00, 0.00
User     Tty       Login@   Idle   JCPU   PCPU Hostname           What
minime   ttyp0     2:31pm      -      -      - 192.168.36.188     w -x
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.