Comment puis-je connaître l'adresse IP d'autres utilisateurs connectés sur la même machine distante?

13

Je peux voir les noms des autres utilisateurs sur la machine distante avec la whocommande ... J'aimerais aussi connaître l'adresse IP de ces utilisateurs ...

J'essayais avec les commandes /sbin/ifconfinget netstatje n'ai pas pu obtenir de résultats positifs ...

J'ai besoin de cette solution compatible à la fois avec Linux et Unix ...

Existe-t-il une commande avec cet utilitaire? Dois-je écrire un script ou utiliser une sorte de pipe?

omar
la source
5
Juste pour être clair, whone vous parle pas des utilisateurs sur le même réseau , juste des utilisateurs connectés à la même machine que vous.
jw013
Lorsque je me connecte à une machine distante, whome donne le nom de ma machine d'origine sur Linux et Solaris (dernier champ, entre parenthèses, lorsque vous êtes connecté localement à partir de XI, obtenez l'affichage X). Obtenir l'adresse IP à partir de cela devrait être facile ( nslookup, host)
AProgrammer

Réponses:

17

Essayez la wcommande, qui fait partie du procpspackage.

$ 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
amphétamachine
la source
Le procpspackage est-il disponible sous Unix (spécifiquement Solaris)?
omar
5

La whopage de manuel sur mon système Debian Linux montre qu'il y a une --ipsoption pour afficher les IP au lieu des noms d'hôte.

LawrenceC
la source
J'essaierai cette option lorsque je reviendrai au laboratoire de réseau Solaris. Dans mon système Xubuntu n'affiche pas l'adresse IP
omar
4
Je n'ai pas non plus ce drapeau sur Gentoo; il semble qu'il ait été ajouté par Debian en 5.96-3 dans le cadre du bogue 363126
Michael Mrozek
1
Ce drapeau n'existe pas non plus sur mon système SuSe.
n0pe
CentOS 6.5 n'a pas non plus cette option.
aggregate1166877
pas d' --ipsoption sur l'arche aussi
Neel Basu
1

whoest la commande que j'utilise, mais elle n'est pas fiable à 100%. Les noms résultants proviennent de l'enregistrement PTR de l'adresse IP. Il peut y avoir ou non un enregistrement A correspondant pour le nom.

Les données de pset netstatpeuvent être intégrées si vous avez des privilèges root. Sinon, vous ne pouvez faire que des suppositions éclairées sur quelle connexion appartient à quel processus.

Il existe d'autres outils qui peuvent être utilisés, mais je n'ai trouvé aucun programme ayant des paramètres cohérents et une sortie dans les versions UNIX / Linux.

BillThor
la source
1

Sur certains anciens UNIX (c'est-à-dire SCO OpenServer version 5.0.7), la wcommande est un bon début, mais l'adresse IP n'est pas sortie par défaut. Des arguments de commande sont parfois requis. Depuis la manpage:

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

Par exemple:

$ 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
la source