如何知道登录同一远程计算机的其他用户的 IP 地址?

如何知道登录同一远程计算机的其他用户的 IP 地址?

我可以使用以下命令查看远程计算机上其他用户的名称who...我还想知道这些用户的IP地址......

我正在尝试使用命令/sbin/ifconfingnetstat但无法得到积极的结果......

我需要这个与 Linux 和 Unix 兼容的解决方案......

有该实用程序的命令吗?我需要编写脚本或使用某种管道吗?

答案1

尝试w命令,部分procps包裹。

$ 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

答案2

我的 Debian Linux 系统上的联机who帮助页显示有一个--ips选项可以显示 IP 而不是主机名。

答案3

who是我使用的命令,但它不是 100% 可靠。生成的名称来自 IP 地址的 PTR 记录。该名称可能有也可能没有匹配的 A 记录。

如果您拥有 root 权限,则可以集成来自ps和的数据。netstat否则,您只能做出有根据的猜测哪个连接属于哪个进程。

还有其他可以使用的工具,但我还没有找到任何在 UNIX/Linux 风格上具有一致参数和输出的程序。

答案4

在一些旧的UNIX(即SCO OpenServer Release 5.0.7)上,该w命令是一个很好的启动,但默认情况下不输出IP地址。有时需要命令参数。从man页面:

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

例如:

$ 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

相关内容