Come posso sapere l'indirizzo IP di altri utenti registrati sullo stesso computer remoto?


13

Posso vedere i nomi di altri utenti sulla macchina remota con il whocomando ... Vorrei anche sapere l'indirizzo IP di quegli utenti ...

Stavo provando con i comandi /sbin/ifconfinge netstatnon sono riuscito a ottenere risultati positivi ...

Ho bisogno di questa soluzione compatibile sia con Linux che Unix ...

Esiste un comando con quell'utilità? Devo scrivere una sceneggiatura o usare una specie di pipe?


5
Giusto per essere chiari, whonon ti parla degli utenti sulla stessa rete , ma solo degli utenti che hanno effettuato l'accesso alla stessa tua macchina.
jw013,

Quando accedo a una macchina distante, whomi dà il nome della mia macchina di origine sia su Linux che su Solaris (l'ultimo campo, tra parentesi, quando si accede localmente da X ottengo il display X). Ottenere l'IP da questo dovrebbe essere facile ( nslookup, host)
AProgrammer

Risposte:


17

Prova il wcomando, parte del procpspacchetto.

$ 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

Il procpspacchetto è disponibile in Unix (in particolare Solaris)?
omar,

5

La whomanpage sul mio sistema Debian Linux mostra che c'è --ipsun'opzione per visualizzare gli IP anziché i nomi host.


Proverò quell'opzione quando torno al laboratorio di rete di Solaris. Nel mio sistema Xubuntu non mostra l'indirizzo IP
omar

4
Non ho nemmeno questa bandiera su Gentoo; sembra che sia stato aggiunto da Debian nel 5.96-3 come parte del bug 363126
Michael Mrozek

1
Questo flag non esiste neanche sul mio sistema SuSe.
n0pe

Anche CentOS 6.5 non ha questa opzione.
aggregato

nessuna --ipsopzione anche sull'arco
Neel Basu il

1

whoè il comando che uso, ma non è affidabile al 100%. I nomi risultanti provengono dal record PTR per l'indirizzo IP. Potrebbe esserci o meno un record A corrispondente per il nome.

I dati da pse netstatpossono essere integrati se si dispone dei privilegi di root. Altrimenti puoi solo fare ipotesi istruite su quale connessione appartiene a quale processo.

Esistono altri strumenti che possono essere utilizzati, ma non ho trovato alcun programma che abbia parametri e output coerenti su versioni UNIX / Linux.


1

Su alcuni vecchi UNIX (ovvero SCO OpenServer versione 5.0.7), il wcomando è un buon inizio, ma l'indirizzo IP non viene emesso per impostazione predefinita. A volte sono richiesti argomenti di comando. Dalla manpagina:

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

Per esempio:

$ 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.