Bagaimana saya bisa mengetahui alamat IP pengguna lain yang login di mesin jarak jauh yang sama?

13

Saya bisa melihat nama-nama pengguna lain di mesin jarak jauh dengan whoperintah ... Saya juga ingin tahu alamat IP dari para pengguna ...

Saya mencoba dengan perintah /sbin/ifconfingdan netstattetapi saya tidak bisa mendapatkan hasil positif ...

Saya membutuhkan solusi ini yang kompatibel dengan Linux dan Unix ...

Apakah ada perintah dengan utilitas itu? Apakah saya perlu menulis skrip atau menggunakan semacam pipa?

omar
sumber
5
Untuk lebih jelasnya, whotidak memberi tahu Anda tentang pengguna di jaringan yang sama , hanya pengguna yang masuk ke mesin yang sama dengan Anda.
jw013
Ketika saya login di mesin yang jauh, whoberi saya nama mesin asal saya di linux dan solaris (bidang terakhir, antara tanda kurung, ketika login secara lokal dari XI mendapatkan tampilan X). Mendapatkan IP dari itu seharusnya mudah ( nslookup, host)
Programmer

Jawaban:

17

Coba wperintah, bagian dari procpspaket.

$ 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
sumber
Apakah procpspaket tersedia di Unix (khusus Solaris)?
omar
5

Halaman whomanual pada sistem Linux Debian saya menunjukkan bahwa ada --ipsopsi untuk menampilkan IP alih-alih nama host.

LawrenceC
sumber
Saya akan mencoba opsi itu ketika saya akan kembali ke lab jaringan Solaris. Dalam sistem Xubuntu saya tidak menunjukkan alamat IP
omar
4
Saya juga tidak memiliki bendera ini di Gentoo; sepertinya ditambahkan oleh Debian pada 5.96-3 sebagai bagian dari bug 363126
Michael Mrozek
1
Bendera ini juga tidak ada di sistem SuSe saya.
n0pe
CentOS 6.5 juga tidak memiliki opsi itu.
aggregate1166877
tidak ada --ipspilihan pada lengkungan juga
Neel Basu
1

whoadalah perintah yang saya gunakan, tetapi tidak dapat diandalkan 100%. Nama-nama yang dihasilkan berasal dari catatan PTR untuk alamat IP. Mungkin ada atau tidak ada catatan A yang cocok untuk nama tersebut.

Data dari psdan netstatdapat diintegrasikan jika Anda memiliki hak akses root. Kalau tidak, Anda hanya bisa membuat tebakan yang mendidik koneksi mana yang dimiliki proses mana.

Ada alat lain yang dapat digunakan, tetapi saya belum menemukan program yang memiliki parameter dan output yang konsisten di seluruh rasa UNIX / Linux.

BillThor
sumber
1

Pada beberapa UNIX lama (yaitu SCO OpenServer Release 5.0.7), wperintahnya adalah awal yang baik, tetapi alamat IP tidak dikeluarkan secara default. Argumen perintah terkadang diperlukan. Dari manhalaman:

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

Sebagai contoh:

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