IRC笔记

这应该是上个学期空虚寂寞冷的产物。

IRC,即 Internet Relay Chat [互联网中继聊天] 是一种用于群聊的网络协议。这和大约十年前的网页版在线聊天室有一些类似。
IRC服务器上有不同的频道,这一点和不同的板块比较类似。为了与用户名相区分,一般来说,当你在引用频道名称的时候,需要在前面加上井号,例如:#help。
要使用IRC协议与他人对话,首先需要一个IRC客户端,例如mIRC,或者BitchX,诸如此类。这些IRC客户端的操作模式和命令行操作较为相似。
接下来,你需要在客户端中输入你的昵称,并选择一个IRC服务器。例如:chat.freenode.net。

随后你就能看到聊天界面了。在IRC客户端,输入文本并回车即可提交自己想要说的内容。这些内容可以被与你处于同一频道的用户看到。除此之外,你也可以输入命令来完成某些操作,这些命令都是以反斜杠 / 开头的。

* 注意:下面在讲解语法的时候,<…> 表示此项必填,<…|…> 表示必须选一项填,[…] 表示此项可不填。

例如

/msg <用户|#频道> <消息>
用于向某人或者某个频道的所有人发送消息。
/help
在大多数客户端下可以显示常用的命令列表,或是帮助文档。
/quit [原因]
关闭与当前服务器的链接。
/whois <用户>
用于查询某个人的详细信息。
/join <#频道> [频道的密码]
进入某个频道,接收其中的消息。如果某个频道有密码,则需要指定它。
/part <#闲聊室> [原因]
退出某个频道。
详细的命令列表可以参阅帮助文档,或者网上的某些资料。例如:http://blog.sina.com.cn/s/blog_627235350100mhrt.html
值得注意的是,一些具有图形界面的IRC客户端在工具栏中就已经集成了这些功能,用起来很方便。但上面这些指令是对所有客户端都适用的。

如果是第一次在某台服务器上登录,那么你需要注册自己的昵称,以防止在一定时间之后被服务器强制更名或者踢出。
所有与昵称相关的服务是由 NickServ 用户提供的,如果要进行相关操作,则需要与之对话。其格式为:
/msg NickServ <指令> [参数]
例如,输入
/msg NickServ help
即可得到关于昵称操作的指令列表,包括用于修改密码乃至注销昵称的指令。
/msg NickServ help register
即可得到关于昵称的注册帮助信息。

一般来说,将你当前使用的昵称在服务器上注册的格式是
/msg NickServ REGISTER <密码> <邮箱地址>
不同的服务器可能不大相同,具体情况可以参阅帮助。
如果没有重名的话,你的邮箱会收到一封确认邮件,按照提示操作即可。

此后当你每次登录服务器之后,就需要与 NickServ 对话,使用 IDENTIFY 指令来验证自己的身份。一般的格式为
/msg NickServ IDENTIFY <密码>

验证通过后,你会收到 NickServ 的一条确认消息,例如
[14:57:43] -NickServ- You are now identified for <用户名>.

这样,你就可以使用 /join 命令加入某个频道,开始使用IRC进行聊天了。
如果需要在服务器上查找频道,可以使用 /list 命令,其语法如下:
/list [#频道] [-MIN <人数>] [-MAX  <人数>]
如果不带任何参数,则会列出所有开放的频道。
你可以使用频道名(支持通配符 *),或者频道里的用户数量来限制检索结果。

结束了吗?不,还有一些关于个人隐私的问题。
你还记得前面提到过的 /whois 命令吗?
好的,如果你在聊天窗口输入
/whois <你自己的昵称>
会看到什么?
[21:00] <用户名> is ~<用户名>@115.154.91.xxx * …
[21:00] <用户名> using hobana.freenode.net Bucharest, RO
[21:00] <用户名> is connecting from *@115.154.91.xxx 115.154.91.xxx
[21:00] <用户名> has been idle 8mins 42secs, signed on Tue Jun 24 20:32:56
[21:00] <用户名> is logged in as <用户名> .
[21:00] <用户名> End of /WHOIS list.

注意:如果你没有验证身份(登录),则不会看到 logged in 的提示。
而且,你看到了你的完整IP地址。虽然第三行对于其他人是不可见的,然而不幸的是,第一行却是公开的。而知道你的IP地址其实也就知道了你的地理位置。所以我们需要隐藏自己的IP地址。
目前有两种方法可以隐藏自己的IP地址。一种是使用
/mode <用户名> +x
来隐藏自己IP的最后一位。但这种方法似乎并不安全。
一个较为保险的方法是,使用 cloak 来隐藏自己的IP地址。
在服务器上有很多组织是可以为用户颁发 cloak 的,(例如维基百科的 cloak:wikipedia,这个需要通过维基上面专门的页面来申请。)但前提是你需要和相关的管理员联系好,这样他们会进行设置,为你颁发属于这个组织的 cloak。
或者,你可以申请一个个人[unaffiliated]的 cloak。方法是去IRC服务器的帮助频道(一般是 #help,或者,freenode 服务器上是 #freenode),向管理员请求一个cloak。为此,你需要首先加入这个频道
/join #freenode

提出自己的请求(ask for an unaffiliated cloak)
随后,应该会有管理员处理你的请求。
例如,这是我当时申请个人 cloak 时的对话记录(我删去了其他人的聊天内容,除了俩对DoS比较感兴趣的哥们)

[22:14] <—> Hello, there? I think I need some help on cloak.
[22:16] <th–bs> —: did you want to ask for an unaffiliated cloak?
[22:16] <—> Sure the unaffiliated one.
[22:17] <th–bs> —: you ask here, and you wait for staff members to see your request 🙂
[22:18] <—> So… the cloak is actually applied by the staff?
[22:18] <A—x> Can you take somebody’s IP if he’s clocked?
[22:18] <th–bs> —: correct
[22:18] <—> thanks a lot.
[22:18] <th–bs> A—x: I know how to bypass cloaks.
[22:18] <A—x> I want to ddos them a little bit
[22:18] <th–bs> A—x: (it’s common knowledge)
[22:18] <th–bs> A—x: that’s not really a good idea, isn’t it?
[22:18] <A—x> Teach me LOL
[22:19] <A—x> Nobody wants to take any measure here on freenode
[22:19] <A—x> I have to make justice
[22:19] <th–bs> A—x: DDoSing a user is certainly off-topic
[22:19] <A—x> Ok
[22:19] <A—x> Teach me how to bypass cloak
[22:19] <A—x> Dcc?
[22:19] <th–bs> A—x: no, sorry.
[22:20] <jo——_m> ddos is fun
[22:20] <jo——_m> i like to ddos
[22:20] <A—x> Ofcourse is fun
[22:20] <jo——_m> especially when th–bs is here
[22:20] <jo——_m> now

由此可以看到保护自己IP的重要性了。
稍等片刻,当你再使用 /whois 查询的时候,便会看到

[22:22] <用户名> is ~<用户名>@unaffiliated/<用户名> * …
[22:22] <用户名> on #freenode
[22:22] <用户名> using holmes.freenode.net London, UK
[22:22] <用户名> is connecting from *@115.154.91.xxx 115.154.91.xxx
[22:22] <用户名> has been idle 50secs, signed on Tue Jun 24 21:40:25
[22:22] <用户名> is logged in as <用户名>
[22:22] <用户名> End of /WHOIS list.

这就说明 cloak 已经生效了。此后当你登录服务器并验证身份后,过一会儿便会收到提示

unaffiliated/<用户名> is now your hidden host (set by services.)

顺便说一句, cloak 是对整个服务器均有效的,不论你处于哪个频道。

如果你需要开一个自己的频道,或者管理频道,可以向 ChanServ 用户对话。为此,可以使用
/msg ChanServ help
来获取一个完整的指令列表。

请参阅

IRC 扫盲:http://blog.sina.com.cn/s/blog_627235350100mhrt.html
IRC 攻防手册:http://wenku.baidu.com/link?url=laq65tPIaAThpWPDr36mSHSTcKYWusKwrp8FWu53i4zkbpXaUHk09wlaFXi31Vo1hCJFcTOIawpQ0T3_gkwd45OhrizkTagu4n8nm_pz9v_

发布者

CXuesong

CXuesong

给我一点点考虑的时间。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*