Wie kann ich die IP-Adresse anderer Benutzer ermitteln, die auf demselben Remotecomputer angemeldet sind?

13

Ich kann die Namen anderer Benutzer auf dem Remotecomputer mit dem whoBefehl anzeigen ... Ich möchte auch die IP-Adresse dieser Benutzer kennen ...

Ich habe es mit den Befehlen versucht /sbin/ifconfingund netstatkonnte aber keine positiven Ergebnisse erzielen ...

Ich brauche diese Lösung, die sowohl mit Linux als auch mit Unix kompatibel ist ...

Gibt es einen Befehl mit diesem Dienstprogramm? Muss ich ein Skript schreiben oder eine Art Pipes verwenden?

omar
quelle
5
whoUm ganz klar zu sein, werden Sie nicht über Benutzer im selben Netzwerk informiert , sondern nur über Benutzer , die am selben Computer wie Sie angemeldet sind .
jw013
Wenn ich whomich bei einem entfernten Computer anmelde, erhalte ich unter Linux und Solaris meinen ursprünglichen Computernamen (letztes Feld in Klammern, wenn ich lokal von XI angemeldet bin , wird die X-Anzeige angezeigt). Die IP davon zu bekommen sollte einfach sein ( nslookup, host)
AProgrammer

Antworten:

17

Versuchen Sie den wBefehl, der Teil des procpsPakets ist.

$ 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
quelle
Ist das procpsPaket unter Unix (speziell Solaris) verfügbar?
Omar
5

Die whoManpage auf meinem Debian Linux-System zeigt, dass es eine --ipsOption gibt, IPs anstelle von Hostnamen anzuzeigen.

LawrenceC
quelle
Ich werde diese Option ausprobieren, wenn ich zum Solaris-Netzwerklabor zurückkehre. In meinem Xubuntu-System wird die IP-Adresse nicht
angezeigt
4
Ich habe diese Flagge auch nicht auf Gentoo; es sieht so aus, als ob es von Debian in 5.96-3 als Teil des Fehlers 363126 hinzugefügt wurde
Michael Mrozek
1
Dieses Flag existiert auch auf meinem SuSe-System nicht.
Nr.
CentOS 6.5 hat diese Option ebenfalls nicht.
Aggregat1166877
Keine --ipsOption auf Bogen auch
Neel Basu
1

whoist der Befehl, den ich benutze, aber er ist nicht 100% zuverlässig. Die resultierenden Namen stammen aus dem PTR-Datensatz für die IP-Adresse. Möglicherweise gibt es einen passenden A-Datensatz für den Namen.

Daten von psund netstatkönnen integriert werden, wenn Sie über Root-Rechte verfügen. Andernfalls können Sie nur fundierte Vermutungen anstellen, welche Verbindung zu welchem ​​Prozess gehört.

Es gibt andere Tools, die verwendet werden können, aber ich habe keine Programme gefunden, die konsistente Parameter und Ausgaben für UNIX / Linux-Varianten haben.

BillThor
quelle
1

Unter einigen alten UNIX-Versionen (z. B. SCO OpenServer Release 5.0.7) ist der wBefehl ein guter Start, aber die IP-Adresse wird nicht standardmäßig ausgegeben. Befehlsargumente sind manchmal erforderlich. Von der manSeite:

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

Beispielsweise:

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