Jak mogę poznać adres IP innych użytkowników zalogowanych na tym samym zdalnym komputerze?

13

Widzę nazwy innych użytkowników na zdalnym komputerze za pomocą whopolecenia ... Chciałbym również znać adres IP tych użytkowników ...

Próbowałam z poleceniami /sbin/ifconfingi netstatale nie mogłem uzyskać pozytywne rezultaty ...

Potrzebuję tego rozwiązania kompatybilnego zarówno z Linuxem, jak i Unixem ...

Czy istnieje polecenie z tym narzędziem? Czy muszę napisać skrypt lub użyć jakiegoś potoku?

omar
źródło
5
Żeby było jasne, whonie mówi ci o użytkownikach w tej samej sieci , tylko użytkownicy zalogowani na tym samym komputerze co ty.
jw013,
Kiedy loguję się na odległej maszynie, whopodaje mi nazwę mojej maszyny źródłowej zarówno na Linuksie, jak i na Solaris (ostatnie pole, między nawiasami, gdy loguję się lokalnie z XI, wyświetlam X). Uzyskanie adresu IP z tego powinno być łatwe ( nslookup, host)
AProgrammer

Odpowiedzi:

17

Wypróbuj wpolecenie, część procpspakietu.

$ 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
amfetamachina
źródło
Czy procpspakiet jest dostępny w systemie Unix (w szczególności Solaris)?
Omar
5

Strona whopodręcznika w moim systemie Debian Linux pokazuje, że istnieje --ipsopcja wyświetlania adresów IP zamiast nazw hostów.

LawrenceC
źródło
Wypróbuję tę opcję, gdy wrócę do laboratorium sieciowego Solaris. W moim systemie Xubuntu nie pokazuje adres IP
omar
4
Nie mam też tej flagi na Gentoo; wygląda na to, że został dodany przez Debiana w 5.96-3 jako część błędu 363126
Michael Mrozek
1
Ta flaga również nie istnieje w moim systemie SuSe.
n0pe 10.11.11
CentOS 6.5 również nie ma tej opcji.
aggregate1166877
nie ma też --ipsopcji na łuku
Neel Basu
1

whoto polecenie, którego używam, ale nie jest w 100% niezawodne. Wynikowe nazwy pochodzą z rekordu PTR dla adresu IP. W nazwie może znajdować się pasujący rekord A.

Dane z psi netstatmogą być zintegrowane, jeśli masz uprawnienia roota. W przeciwnym razie możesz jedynie zgadywać, które połączenie należy do którego procesu.

Istnieją inne narzędzia, których można użyć, ale nie znalazłem żadnych programów o spójnych parametrach i wynikach w różnych wersjach UNIX / Linux.

BillThor
źródło
1

W niektórych starych systemach UNIX (np. SCO OpenServer wersja 5.0.7) wpolecenie to dobry początek, ale domyślnie adres IP nie jest wysyłany. Czasami wymagane są argumenty poleceń. Ze manstrony:

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

Na przykład:

$ 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
źródło