问题 IRC中的昵称,用户名和真实姓名有什么区别,密码是什么?


根据 RFC 2812,第3.1节,为了连接到IRC服务器,用户必须按以下顺序发出三个命令:

PASS <a password>
NICK <a nickname>
USER <a username> <mode> <unused> <a real name>

所以我们有一个密码,我们有三个不同的“名字”:昵称,用户名和真实姓名。

当我使用IRC时,我只有一个名字:聊天中其他人看到的名字。这是绰号吗?另外两个是什么?什么是密码?我知道IRC中有一个功能,您可以注册一个昵称和密码,这样只有您可以使用它,这个密码是什么?


8815
2017-07-28 02:05


起源



答案:


提供的昵称 NICK 是用于在IRC上为您解决的名称。昵称在整个网络中必须是唯一的,因此您不能使用当时已在使用的昵称。

提供的用户名 USER 就是这个 user 参与你的 user@host 在IRC上向其他人显示的主机掩码,显示您的连接源自哪里(如果您从未见过这些,那么您的客户端可能正在隐藏它们)。在IRC的早期阶段,人们通常在多用户计算机上运行其IRC客户端,并且用户名与该计算机上的本地用户名相对应。有些人仍然使用来自多用户shell服务器的IRC,但在大多数情况下,用户名是残留的。

提供的真实姓名 USER 用于填充有人使用时出现的实名字段 WHOIS 命令你的昵称。与其他两个字段不同,此字段可能相当长并且包含大多数字符(包括空格)。有些人确实在这里写了真名,但很多人没有。

PASS 命令是可选的。如果您使用的IRC服务器需要密码,它将用于提供密码。某些服务器将使用提供的密码尝试将您登录到IRC服务。

请注意,RFC2812并不代表IRC的共识视图 - 它是由IRC的一个特定实现创作并专注于标准的更新。 RFC1459仍然是IRC的通用语言。


11
2017-07-30 02:10



在我测试的服务器上,通过与NickServ服务交谈来昵称注册/识别。我不认为在任何RFC中都提到或描述了NickServ,因此使用PASS命令输入昵称识别密码并不是该命令最初的用途? - Jack M
@JackM:对 - 它最初用于实现一个“密码保护”服务器,如果没有密码,它将无法连接。如果它们提供了正确的密码(例如,更长的ping超时或免除k行),它还用于为某些类别的用户提供额外的权限。 - caf


答案:


提供的昵称 NICK 是用于在IRC上为您解决的名称。昵称在整个网络中必须是唯一的,因此您不能使用当时已在使用的昵称。

提供的用户名 USER 就是这个 user 参与你的 user@host 在IRC上向其他人显示的主机掩码,显示您的连接源自哪里(如果您从未见过这些,那么您的客户端可能正在隐藏它们)。在IRC的早期阶段,人们通常在多用户计算机上运行其IRC客户端,并且用户名与该计算机上的本地用户名相对应。有些人仍然使用来自多用户shell服务器的IRC,但在大多数情况下,用户名是残留的。

提供的真实姓名 USER 用于填充有人使用时出现的实名字段 WHOIS 命令你的昵称。与其他两个字段不同,此字段可能相当长并且包含大多数字符(包括空格)。有些人确实在这里写了真名,但很多人没有。

PASS 命令是可选的。如果您使用的IRC服务器需要密码,它将用于提供密码。某些服务器将使用提供的密码尝试将您登录到IRC服务。

请注意,RFC2812并不代表IRC的共识视图 - 它是由IRC的一个特定实现创作并专注于标准的更新。 RFC1459仍然是IRC的通用语言。


11
2017-07-30 02:10



在我测试的服务器上,通过与NickServ服务交谈来昵称注册/识别。我不认为在任何RFC中都提到或描述了NickServ,因此使用PASS命令输入昵称识别密码并不是该命令最初的用途? - Jack M
@JackM:对 - 它最初用于实现一个“密码保护”服务器,如果没有密码,它将无法连接。如果它们提供了正确的密码(例如,更长的ping超时或免除k行),它还用于为某些类别的用户提供额外的权限。 - caf


是的,你说昵称是正确的。一般来说:

  • 昵称 - 为其他用户显示的名称
  • 用户名 - 您用于登录的名称,允许系统识别您
  • 密码 - 符号序列,允许系统将您与用户名匹配
  • 真实姓名 - 这只是关于您的其他信息

0
2017-07-28 02:18



密码不是与昵称匹配,而不是用户名吗?我认为密码的目的正是为了阻止其他人使用你的昵称? - Jack M
隐藏您的用户名更安全,因为要登录您需要一对用户名+密码。使用昵称进行登录不太安全,因为每个人都知道。并且malefactor只需要获取您的密码。 - angubenko
但是,如果您的密码仅与您的用户名相关联,那么它如何帮助您控制您的昵称? - Jack M
它与用户名相关联。在这种情况下,您可以将用户名视为| username | password | nick |表上的主键。您需要使用此用户名登录密码,只有拥有此用户名的用户才能使用特定的缺口。 - angubenko
用户名是 不 在整个网络中都是独一无二的,并不是用来登录你的。它只是之前的部分 @ 在你的 user@host。 - caf


我做了一些实验,唯一似乎重要的是缺口。密码确实用于注册您,并与之关联 缺口,而不是用户名或真实姓名。至少在Foonetic上。

首先,我使用昵称“Iggle”登录,还有一些随机的其他数据:

PASS stuff
NICK Iggle
USER whatever 0 * somerealname

然后我注册了

PRIVMSG nickserv register pinetree myemail@gmail.com

并验证了它。所以现在“pinetree”是Nick的密码:Iggle,用户名:无论如何,真实姓名:somerealname。

我断开连接并重新连接。

PASS something
NICK Iggle
USER whatever 0 * somerealname

它登录了我,但抱怨密码无效。好的:

PRIVMSG nickserv identify pinetree

这很有用,它给了我+ r。所以 PASS 命令确实对应于您向NickServ注册的密码。干 WHOIS Iggle 显示用户名“whatever”和真实姓名“some real name”。我再次断开连接并重新连接。

PASS pinetree
NICK Iggle
USER canada 0 * ghana

这让我陷入困境并且没有抱怨密码,直接给我+ r!这证实了 PASS 命令与给予nickserv的密码相同,并且因为我使用了不同的用户名和真实姓名,所以它表明这些都与密码无关 - 只有尼克很重要。 WHOIS Iggle 显示用户名“canada”和真实姓名“ghana”,没有提到我在之前登录时使用的数据。因此,每次连接到服务器时甚至可以使用不同的用户名和真实姓名,似乎没有人注意到。

结论: 这个缺口似乎是唯一重要的事情。一旦在nickserv中注册,它就永久地附加到密码上,并且用户名和真实姓名无关紧要,并且可以在每次登录时更改。它们甚至似乎都没有被服务器存储在任何地方。


0
2017-07-28 08:22



一些 IRC网络选择重用PASS进行服务认证,但这是非标准用法。 PASS通常用于服务器之间的连接,以及以某种方式享有特权的用户(它们可能具有更大的发送缓冲区,免于洪水控制,屏蔽的主机,免受连接限制,或被授权从通常从该服务器连接的网络连接)不会接受连接。) SASL身份验证 是使用PASS进行服务身份验证的更广泛使用的替代方法。 - Stephanie