saga's blog

突出重点,系统全面,不留死角

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  33 Posts :: 2 Stories :: 185 Comments :: 0 Trackbacks

公告

QQ:34O859O5

常用链接

留言簿(15)

搜索

  •  

积分与排名

  • 积分 - 209827
  • 排名 - 121

最新评论

阅读排行榜

评论排行榜

         POP3(Post Office Protocol 3) POP适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称POP3.用于从POP3邮件服务器上下载邮件.这个协议很简单.命令只有12个.一般情况下,大多数现有的POP3客户与服务器执行采用ASCII明文发送用户名和口令,在 认可状态等 待客户连接的情况下,客户发出连接,并由命令USER和PASS对在网络上发送明文用户名和 口令给服务器,为了避免发送明文口令的问题使用APOP,口令在传输之前被加密.但是目前大多数windows上的邮件客户软件不支持APOP命令.所以如果在进行ARP欺骗后就可以对内网使用POP3协议下载邮件的用户进行嗅探.所以在使用OutlookExpress等客户端登陆POP3服务器的时候就要小心有人嗅你的密码.
         编写嗅POP3的嗅探器并不难,在我的以前的贴子里的ARP欺骗的基础上加十几行代码就可以实现了.可以供大家学习参考练习用,实际上的作用不是很强.
         首先,分析POP3协议就知道POP3服务器开在110端口.我们就可以先判断包是否是TCP包,如果是的就查看连接的端口,是110就说明是在使用POP3协议进行会话.IP头的第10个字节(加上14个字节以太头,就是整个帧的第24个字节)为0x06就表示后面跟的是TCP包.使用POP3会话时IP头一般是20个字节长,所以一般不用去计算IP头的长度.默认20字节处理,这样效率会好点.
TCP头的第3,4两个字节(整个帧的第37.38字节)是目的端口号.判断是否是110.
         然后,发现POP3协议的包后就分析POP3的命令,由于是嗅用户名与口令,所以我们就只需对USER和PASS两条命令进行判断,POP3命令采用命令行形式,用ASCII码表示.POP3命令由一个命令和一些参数组成,所有命令以一个CRLF对结束。命令和参数由可打印的ASCII字字符组成,它们之间由空格间隔。命令一般是三到四个字母,每个参数却可达40个字符长。不过用户名和口令基本上都在20个字节以内.命令是在TCP的数据部分的开头.所以通过计算TCP头的长度(一般也是20个字节),在加上34,就是POP3命令数据的起点了.
         再判断命令是否为USER和PASS.判断的时候没必要将他们输入字符串进行比较,直接从数据起点取unsigned long形数据与0x55534552与0x50415353进行比较就行,更快.如果是USER或PASS就记录他们后面一个空格(0x20)后的字符串,直道CR停止.
         这样就记录了用户名与口令.当然你还要记录别人登陆服务器的IP,不然你也不知道去哪登录.
         本人菜鸟,不当之处请不吝指点.
                                                                            saga.constantine
                                                                                 2006.05.11
        
posted on 2006-05-11 15:06 saga.constantine 阅读(1482) 评论(3)  编辑 收藏 引用 所属分类: Code

Feedback

# re: [原创]POP3密码的内网嗅探编写体会 2006-05-11 15:28 夜狼
对POP3不是太理解,不过能用POP3嗅探程序来进行嗅探还是蛮有意义的,POP3嗅探程序只能嗅探登陆POP3服务器时的那些数据吗?没登陆POP3服务器时还起不起嗅探作用?
  回复  更多评论
  

# re: [原创]POP3密码的内网嗅探代码编写体会 2006-05-11 15:41 saga.constantine
@夜狼
欺骗后他的数据都由你转发,所以你看的到他发的所有ip包(只转发ip包就行了)你可以得到很多数据,有用的你自己去过滤出来,他没有登陆pop3就嗅不到密码,数据还是经过你啊 !
  回复  更多评论
  

# re: [原创]POP3密码的内网嗅探代码编写体会 2007-06-02 01:27 流年
呵呵本人菜鸟呵呵。。你挺牛的  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理