码迷,mamicode.com
首页 > 其他好文 > 详细

IRC僵尸网络日记(一)

时间:2014-12-23 20:48:09      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

知道了原理以后,就可以着手来写了。

服务器暂时用现有的程序,只需要自己写客户端即可。打算用python来写。

需要涉及的技术:

(1)python的socket模块

(2)IRC命令(用send发送)

刚开始就遇到了问题:可以连接到服务器上,但是无法加入频道中。不就应该是send(‘join #ircchannel \r\n‘)吗?

后来发现,这句以后服务器会发来ping命令,你必须回答一个pong,才可以连接到频道中。具体做法如下:

import socket

nickname=lily
network = 172.29.153.23
port = 6667
channel=#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僵尸网络日记(一)

标签:

原文地址:http://www.cnblogs.com/myblog-lyc/p/4180522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!