如何让irc bot登录到已注册的缺口?

时间:2016-06-28 04:16:45

标签: irc

根据irc文档,我想在发送PASSNICK之前发送USER 但它似乎没有工作是否有一定的顺序我应该发送东西?

在此订单中出现

PASS <password>\r\n

NICK yuribot\r\n

USER yuribot a blah: yuribot\r\n

日志

:irc.sxci.net 439 * :Please wait while we process your connection.
:irc.sxci.net NOTICE AUTH :*** Looking up your hostname...
:irc.sxci.net NOTICE AUTH :*** Checking Ident
:irc.sxci.net NOTICE AUTH :*** Couldn't look up your hostname
:irc.sxci.net NOTICE AUTH :*** No Ident response
:irc.sxci.net NOTICE Yuribot :*** Your host is masked (72A6C9FC.264941B0.A6596FAF.IP)

这是开始,如果您需要整个日志,我将提供它。

网络

irc.rizon.net

3 个答案:

答案 0 :(得分:1)

客户端连接上的PASS(与服务器 - 服务器链接相关)通常保留用于以某种方式特权的连接,例如, 来自IRC操作员的连接,该操作员应立即屏蔽其主机 在连接上。

服务器之间的连接当然总是需要PASS,因为恶意服务器可以篡改IRC网络的共享状态,导致不稳定,或者做其他恶作剧,如大规模杀戮。

一些网络玩具转发PASS到他们的IRC服务,但这并没有真正流行,因为ircv3 SASL extension提供了更好的标准 在不需要的连接时间对用户进行服务身份验证的方法 劫持已有其他用途的设施。在PASS可用于登录服务的少数情况下,它通常采用与通常用于PASS命令不同的格式。由于您的注册昵称在连接时可能不可用,因此服务至少需要注册的昵称和密码,而PASS通常只接受密码。您必须查找特定于网络及其服务的文档,以便找到所需的特定格式,如果它甚至提供的话。

目前,大多数提供服务的网络都支持SASL身份验证,并且在提供服务的地方,由于客户端和服务器开发人员将其作为一种广泛的努力,它通常是最受支持的选项。标准。

一些网络用户,如Rizon,支持另一种自动识别方法 - CERTFP。 CERTFP标识会根据SSL客户端证书自动登录,并根据存储在服务中的证书指纹进行检查。这是一种比SASL更不常见的自动识别方法,但它是安全的,并且不要求您在脚本或设置中保存密码。设置这一点的具体细节因网络而异,并不总是提供,但您可以检查该网络上的服务帮助文件,并在那里询问帮助渠道以查明它是否可以选择。< / p>

作为最后的手段,您可以在成功连接后自动发送PRIVMSG nickserv :identify <password>,自动/通知您登录nickserv。

答案 1 :(得分:0)

pass命令用于连接注册(而不是用于昵称识别) 您需要在发送NICK + USER组合后识别NickServ。

有两种方法可以安全地识别NickServ,第一种方法是使用NS命令,该命令是消息NickServ服务的别名(但不是名为NickServ的用户),但该命令可能并非在每台服务器上都可用< / p>

NS IDENTIFY <password>\r\n

我更喜欢(并推荐)的方式是向NickServ发送一个普通的PRIVMSG,确保包含服务器名称(services.rizon.net)以确保它不会意外地发送给用户名叫NickServ。

PRIVMSG NickServ@services.rizon.net :IDENTIFY <password>\r\n

担心消息传递给名为NickServ的用户似乎很愚蠢,但是当netsplits发生时(他们确实发生),服务经常丢失,任何用户都可以使用昵称NickServ等,因为它不是在使用和服务不会阻止他们,因为他们不在线。 虽然现在配置了一些IRC守护进程来防止使用昵称NickServ,但是安全比抱歉更好。

答案 2 :(得分:-1)

Rizon使用名为nickserv的机器人(非常常见),因此您只需使用格式identify <password>

向其发送消息