无标识响应Python IRC
我没有收到这个IRC连接的“Ident”响应无标识响应Python IRC,python,sockets,irc,Python,Sockets,Irc,我没有收到这个IRC连接的“Ident”响应 import sys import time import socket server="irc.freenode.net" botnick="Hidden" channel="Hidden" #Establish connection irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) irc.connect((server,6667)) irc.setblocking(Fa
import sys
import time
import socket
server="irc.freenode.net"
botnick="Hidden"
channel="Hidden"
#Establish connection
irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
irc.connect((server,6667))
irc.setblocking(False)
time.sleep(1)
time.sleep(1)
irc.send(("/NICK "+botnick+"\r\n").encode('UTF-8'))
time.sleep(1)
irc.send(("/JOIN "+channel+"\r\n").encode('UTF-8'))
while 1:
time.sleep(0.1)
try:
text=irc.recv(2040)
print(text)
except Exception:
pass
if text.find("PING")!=-1:
irc.send(("Test").encode('UTF-8'))
input()
这是控制台输出
b':wilhelm.freenode.net NOTICE * :*** Looking up your
hostname...\r\n:
wilhelm.freenode.net NOTICE * :*** Checking Ident\r\n:
wilhelm.freenode.net NOTICE * :*** Found your hostname\r\n'
b':wilhelm.freenode.net NOTICE * :*** No Ident response\r\n'
它只是挂起大约5-10秒,然后说正在关闭到127.0.0.1的链接
然后说b多次
源代码
ident是一种服务,用于将来自多用户主机的连接与“拥有”这些连接的用户相关联。它曾经被更广泛地使用,较旧的SMTP和NNTP服务器经常配置为记录identd响应,但今天除了IRC服务器外,它基本上已经不再使用了
最初,IRC服务器会在连接时检查ident,因为大多数连接都来自拥有大量用户的UNIX主机,ident允许服务器以及通道操作员在滥用情况下区分这些用户
到目前为止,它仍在为此目的工作,并且对于希望权限超过非常小的连接限制(通常为2-5个连接)的主机来说,它经常是必需的。有时,服务器甚至对未共享的主机也需要它,因为这会为试图从不安全的代理和禁止使用IRC的系统中进行IRC的人造成障碍
由于ident在端口113上运行,因此在将其与类似unix的操作系统(如Linux)一起使用时,您不能以普通用户的身份启动服务-系统管理员必须安装ident守护程序。最有可能的是,您的系统的软件存储库中有一个或多个可用的。在Windows上,不存在特权端口的概念,IRC客户端软件通常提供自己的内置标识