Como posso saber o endereço IP de outros usuários conectados na mesma máquina remota?

13

Posso ver os nomes de outros usuários na máquina remota com o whocomando ... Gostaria também de saber o endereço IP desses usuários ...

Eu estava tentando com os comandos /sbin/ifconfinge netstatmas não consegui resultados positivos ...

Preciso desta solução compatível com Linux e Unix ...

Existe um comando com esse utilitário? Preciso escrever um script ou usar algum tipo de canal?

omar
fonte
5
Só para esclarecer, whonão informa sobre usuários na mesma rede , apenas usuários conectados à mesma máquina que você.
jw013
Quando eu logo em uma máquina distante, whome dá o nome da máquina de origem no linux e no solaris (último campo, entre parênteses, quando logado localmente no XI, recebo a tela X). Obtendo o IP de que deve ser fácil ( nslookup, host)
AProgrammer

Respostas:

17

Experimente o wcomando, parte do procpspacote.

$ 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
anfetamaquina
fonte
O procpspacote está disponível no Unix (especificamente Solaris)?
Omar
5

A página de whomanual no meu sistema Debian Linux mostra que há uma --ipsopção para exibir IPs em vez de nomes de host.

LawrenceC
fonte
Vou tentar essa opção quando voltar ao laboratório de rede Solaris. No meu sistema Xubuntu não mostra o endereço IP
omar
4
Também não tenho essa bandeira no Gentoo; parece que foi adicionado pelo Debian em 5.96-3 como parte do bug 363126
Michael Mrozek
1
Este sinalizador também não existe no meu sistema SuSe.
n0pe
O CentOS 6.5 também não tem essa opção.
aggregate1166877
nenhuma --ipsopção em arco muito
Neel Basu
1

whoé o comando que eu uso, mas não é 100% confiável. Os nomes resultantes são do registro PTR para o endereço IP. Pode ou não haver um registro A correspondente para o nome.

Os dados pse netstatpodem ser integrados se você tiver privilégios de root. Caso contrário, você só pode fazer suposições informadas sobre qual conexão pertence a qual processo.

Existem outras ferramentas que podem ser usadas, mas não encontrei nenhum programa que possua parâmetros e resultados consistentes nos sabores UNIX / Linux.

BillThor
fonte
1

Em alguns UNIX antigos (ou seja, SCO OpenServer Release 5.0.7), o wcomando é um bom começo, mas o endereço IP não é emitido por padrão. Às vezes, argumentos de comando são necessários. Na manpágina:

-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.

Por exemplo:

$ 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
fonte