首页 > 代码库 > IRC僵尸网络日记(一)
IRC僵尸网络日记(一)
知道了原理以后,就可以着手来写了。
服务器暂时用现有的程序,只需要自己写客户端即可。打算用python来写。
需要涉及的技术:
(1)python的socket模块
(2)IRC命令(用send发送)
刚开始就遇到了问题:可以连接到服务器上,但是无法加入频道中。不就应该是send(‘join #ircchannel \r\n‘)吗?
后来发现,这句以后服务器会发来ping命令,你必须回答一个pong,才可以连接到频道中。具体做法如下:
import socketnickname=‘lily‘network = ‘172.29.153.23‘port = 6667channel=‘#abs‘irc = socket.socket( socket.AF_INET, socket.SOCK_STREAM )irc.connect((network,port))irc.send(‘nick %s\r\n ‘%nickname)irc.send ( ‘USER 1 %s %s : %s \r\n‘% (network,network,nickname))while True: data = irc.recv ( 4096 ) print data if data.find ( ‘PING‘ ) != -1: irc.send ( ‘PONG ‘ + data.split() [ 1 ] + ‘\r\n‘ ) irc.send ( ‘JOIN %s\r\n‘%channel) irc.send(‘privmsg %s : canyouhearme\r\n‘%channel)
只不过ping的有点慢,但还是可以通信的。
不过,这个代码也太丑了,简单粗暴,就不能美化一下吗?
IRC僵尸网络日记(一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。