Как я могу узнать IP-адрес других пользователей, зарегистрированных на том же удаленном компьютере?

13

Я могу видеть имена других пользователей на удаленном компьютере с помощью whoкоманды ... Я также хотел бы знать IP-адрес этих пользователей ...

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

Мне нужно, чтобы это решение было совместимо как с Linux, так и с Unix ...

Есть ли команда с этой утилитой? Нужно ли писать сценарий или использовать какие-то каналы?

Omar
источник
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
amphetamachine
источник
procpsДоступен ли пакет в Unix (особенно Solaris)?
Омар
5

Страница whoруководства моей системы Debian Linux показывает, что есть --ipsвозможность отображать IP-адреса вместо имен хостов.

LawrenceC
источник
Я попробую этот вариант, когда вернусь в сетевую лабораторию Solaris. В моей системе Xubuntu не отображается IP-адрес
Омар
4
У меня нет этого флага и на Gentoo; похоже, что он был добавлен Debian в 5.96-3 как часть ошибки 363126
Майкл
1
Этот флаг также не существует в моей системе SuSe.
n0pe
CentOS 6.5 также не имеет этой опции.
aggregate1166877
--ipsна арке тоже нет выбора
Нил Басу
1

whoэто команда, которую я использую, но она не на 100% надежна. Полученные имена взяты из записи PTR для IP-адреса. Может быть или не быть соответствующей записи A для имени.

Данные из psи netstatмогут быть интегрированы, если у вас есть привилегии root. В противном случае вы можете только догадываться, какая связь принадлежит тому или иному процессу.

Существуют и другие инструменты, которые можно использовать, но я не нашел ни одной программы, которая бы имела согласованные параметры и выход для разных версий UNIX / Linux.

BillThor
источник
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
kbulgrien
источник