为什么 Windows 10 上的 CMD 不允许我指责任何人?

为什么 Windows 10 上的 CMD 不允许我指责任何人?

阅读本文:数字趋势 CMD 命令
我发现了一个名为 Finger 的命令。在我的系统 Windows 10 上试用它,
为什么它不让我 Finger 任何人。。
Connect: Connection Refused? 在此处输入图片描述 不确定我是否输入了正确的命令,但我只是觉得这是一个有趣的命令。
如果其他人有更新或完整的 CMD 命令列表,请将其添加到评论中。

您需要了解的有关 tcp ips finger 实用程序的一切
在 StackOverflow 上找到部分相关问题,关键字为:CMD 和 finger。
从 Grunt Shell 命令捕获用户名
仅从 cmd finger -s 获取名称和登录名
使用 Python 通过 SSH 实现交互式 shell

将在一分钟内更新该问题并提供更多资源。

答案1

这个有趣的名字并不是 Windows 独有的——过去许多操作系统中都存在过同名的程序。“Finger”是最早的 ARPAnet 服务之一(还有 Telnet、FTP、SMTP 等)。

调用

您的第一个问题是,程序需要用户名和/或 Internet 地址(主机名或 IP 地址),但您却给了它随机数。请注意它显示的帮助文本:

finger [-l] [user]@host

这意味着-l和用户名是可选的,但“@host”是强制性的,它实际上必须指示一个主机(很像 ping 或 telnet 也期望一个主机)。

注意-l选项是小写的L(表示“长输出”),不是头号。

在其他一些操作系统上,finger它还具有本地模式,您可以在没有任何主机名的情况下运行它,它会直接收集有关本地用户的信息。但是,Windows 版本不会这样做 - 它会始终尝试连接到在 localhost:79 上运行的“fingerd”服务,而 Windows 系统根本没有这个服务(因此会出现“连接被拒绝”消息)。

(是的,这实际上与帮助文本有些矛盾——如果 Windows一个在端口 79 上监听的 finger 服务,那么 '@host' 实际上是可选的。)

您可以尝试使用 Windows 特定的quserqwinsta命令来大致了解其工作原理。(它们甚至可以像 Finger 一样查询远程 Windows 系统,尽管此功能在非服务器 Windows 版本上也默认禁用。)

实际用途

第二个问题是,互联网上几乎所有的系统不再提供“finger” 服务,出于安全原因(它会显示用户名)和隐私原因(它会显示用户何时处于活动状态,甚至显示他们从哪个 IP 地址进行连接)。基本上,它是 20 世纪 80 年代互联网的遗留物。

但一些公共系统(主要是“复古计算”网站)仍然有意提供这项服务,因此您仍然可以尝试一下:

  • finger @ssh.tilde.club(社交网络“tilde.club”上的基本 Linux 机器)
  • finger @athena.dialup.mit.edu(麻省理工学院的 Linux 集群)
  • finger @samba.acc.umu.se(于默奥大学的 Linux 集群)
  • finger @up.update.uu.se(1970 年代它是在模拟器中运行——您应该使用-l该选项)
  • finger @telehack.com一个游戏模拟 80 年代的网络)
  • finger @nullroute.eu.org(完全定制的“集群”手指)

在所有这些命令中,@host 都可以加上某人的用户名作为前缀(如果您知道的话),例如。初始输出将显示当前登录的用户名。finger [email protected]

某些系统会在输入用户名时自动激活“长”模式,但对于其他某些系统,您仍然需要-l选择获取详细输出。


另一个系统也必须运行 Unix。

远程系统不需要是 Unix – OpenVMS、ITS、Cisco IOS 也有此服务,也可以为 Windows 编写一个(我已经做了)

由于协议非常简单(只是 TCP 上的 ASCII),一些系统托管自定义的 Finger 服务,用于提供其他类型的数据,例如天气信息 - 例如 CMU 有一台自动售货机,而 MIT 曾经有一个“浴室占用”服务(也可以看看)。在新增或存续的服务中,finger [location]@graph.no将为您提供天气预报。

答案2

这篇文章中有关 Finger 的信息有点荒谬。Finger 是一个相当简单的命令,几乎在所有地方都被禁用,因为它带来的安全威胁大于好处。它在早期互联网中被广泛部署(在大量用户和安全问题出现之前),并且不使用加密或安全措施。

为了使系统正常工作,远程系统需要运行一个 finger 守护进程 (通常是 fingerd) - 由于系统没有运行这个进程,当您尝试使用该命令时您会收到一条消息。

同样,语法需要主机名 - 而不是数字,因此您的客户端正在尝试连接不存在的设备,这是您所看到的失败的具体原因。

相关内容