客户端至客户端协议

✍ dations ◷ 2025-09-11 21:38:59 #IRC,网络术语,IRC相关协议

客户端至客户端协议(英语:Client-to-client protocol ,简称CTCP)是互联网中继聊天(IRC)客户端之间的一种特殊类型的通信。

CTCP是现今使用的大多数IRC客户端支持的一种常见协议。CTCP扩展了原始的IRC协议,允许用户查询其他客户端或频道(使频道中所有客户端都回复CTCP特殊信息)。此外,CTCP可以用来编码信息,发送原始IRC协议的链路不允许发送的信息,例如包含换行或字节值为0(NULL)的信息。CTCP不在客户端之间创建直接连接,但它通常用于协商DCC(英语:Direct Client-to-Client)连接。

CTCP允许用户查询远程客户端正在使用的客户端版本(通过CTCP VERSION)或时间(CTCP TIME)等信息。它还实现了/me命令(通过CTCP ACTION)。

ircII(英语:ircII)是第一个实现了CTCP和DCC协议的IRC客户端。Michael Sandrof在1990年将CTCP协议在ircII 2.1版中实现,Troy Rollo在1991年将DCC协议在2.1.2版本中实现。

CTCP采用一条PRIVMSGNOTICE消息实现,消息中的第一个和最后一个字符是ASCII值0x01。此外,IRC协议中不允许的字符将被转义。由于NOTICE按标准应产生一条回复,CTCP消息采用PRIVMSG发送,而回复采用NOTICE而非PRIVMSG实现。

CTCP查询在大多数客户端上按下列方式初始化:

CTCP <target> <command> <arguments>

其中是目标的昵称或频道名称, 是CTCP命令(例如VERSION), 是发送给的额外信息。

请注意,下列CTCP命令和回复因客户端而不同,但大多数主要的IRC客户端支持它们。因您的IRC客户端不同,传入特定CTCP命令后,您可能会收到或不会收到自动的回复或响应,并且这些自动响应可能因客户端不同而有差异。

CTCP VERSION请求将返回目标正在使用的IRC客户端的名称和版本,某些情况下还提供一些技术信息,诸如操作系统、时钟频率、CPU制造商和CPU架构/指令集。

下面是将一个CTCP VERSION请求发送到运行有HexChat客户端(XChat的一个复刻)的回复:

VERSION HexChat 2.9.1  / Windows 8 

TIME

CTCP TIME请求将返回目标计算机的本地时间。决于IRC客户端,回复可能是包含日期、时间(12小时格式或24小时格式),年(例如2019)以及某种时区(例如AEST(英语:Time in Australia))。

下面是将一个CTCP TIME发送到使用ChatZilla客户端后的回复:

TIME Fri 23 Nov 2019 19:26:42 AEST

PING

CTCP PING请求将测量现有两个客户端之间的直接ping速率(不算服务器)。CTCP PING命令采用的方式是,发送一个整数参数(英语:Argument (computer science))(一个时间戳)到目标客户端,然后目标客户端提供完全相同的数字参数来响应。之后计算原始时间戳与当前时间戳的差异,将结果显示给发起的用户。在过程中通常使用毫秒级的时间戳,因为大多数用户使用的宽带互联网连接通常只有1秒以下的ping延迟。

一个CTCP PING请求的示例,从XChat客户端发送给目标:

CTCP PING 23152511

在之后,根据所获样本差异产生的结果:

相关

  • 瓦杜兹瓦杜兹(德语:Vaduz;发音: 或 )是列支敦士登的首都,座落于莱因河河谷沿岸的一处高地上,拥有5,000上下的人口,其中绝大部分都是罗马天主教信徒。相传瓦杜兹的起源,是13世纪时伟登贝格伯
  • 只升华只升华(1951年7月-),男,汉族,天津人,北京大学国际政治系政治学干部专修科大学专科毕业,中央党校大学学历,1975年12月加入中国共产党,1971年2月参加工作。历任天津市副市长、市委政法委
  • 资源一号卫星资源一号卫星是中国和巴西共同研制的地球资源卫星,又称“中巴地球资源卫星一号”。1990年代中国和巴西达成政府间协议,共同研制一种地球资源卫星,以填补两国在有关领域的空白。
  • 琪亚拉·艾凡尼琪亚拉·艾凡尼(英语:Kiara Advani,1992年7月31日-)是印度电影女演员。她主要出现在宝莱坞电影。2014年拍摄爱情电影《Fugly》出道。艾凡尼之后较成功的电影包括:《M.S. Dhoni: Th
  • 尼可莱·尼可莱耶维奇·杜尼诺沃尼可莱·尼可莱耶维奇·杜尼诺沃,(1876年10月23日-1937年10月27日),俄罗斯语言学家,在大整肃时被处决。他生于俄罗斯贵族杜尼诺沃家族,他父亲与他同名,她母亲也出身贵族。杜尼诺沃
  • 约翰·阿摩司·夸美纽斯约翰·阿摩司·夸美纽斯(捷克语:Jan Amos Komenský、斯洛伐克语:Ján Amos Komenský、德语:Johann Amos Comenius、波兰语:Jan Amos Komeński、匈牙利语:Comenius Ámos János
  • 杨任 (明朝)杨任,明朝政治人物。洪武年间,杨任因人才被举荐,历任袁州府知府。当时已经致仕,因藏匿黄子澄而被牵连磔死。其两子杨礼、杨益亦被斩杀,其余亲属戍边。
  • 郑真郑真(生卒年不详),字千之,号荥阳外史,明朝初年文学家、史学家。浙江鄞县人,明太祖洪武年间在世。郑真精通前代典籍,尤其擅长研究《春秋》。吴澄曾经用治道十二事策问郑真,其引经据典
  • 在伯多禄座位《在伯多禄座位》(拉丁语:Ad Petri cathedram)是教宗若望二十三世即位8个月后于1959年6月29日发出的首道通谕。这道通谕主要论述真理、团结和和平,而通谕并没有根据当时的社会风
  • 金·达康金·达康(英语:Kim Dotcom,1974年1月21日-),,又译为金·德康,生于德国基尔。原名金·施米茨(Kim Schmitz),也称为金宝(Kimble),金·提姆·君·韦斯特(Kim Tim Jim Vestor),德国与芬兰籍电脑工