使用python来嗅探局域网内的QQ号码

增加了一个令牌的判断,可以抓新版本的QQ和老版本的QQ包了.

因为朋友们说这个程序已经无法捕捉到最新的QQ登陆包了,所以修改了一下.因为时间关系,我没有修改本文的其他部分,仅仅修改了代码.

说到嗅探必须要讲到所支持的环境,并非只能对本机或者HUB环境才能使用。对于交换机,你可以指定一个口为嗅探口,从这个口能拿到所有端口的数据。如果这个交换是核心交换,那么你所能取到数据将更多。(三层交换一般都可以指定嗅探口)
1、如果你已经是个python爱好者你机器一定有了python的运行环境,如果你没有可以到www.python.org去下载一个。我使用的还是python 2.3。
2、这段程序需要pcap模块支持,你可以到http://monkey.org/~dugsong/pypcap/去下载一个,它有unix和win两个版本,请注意,win下他需要winpcap支持,如果你没有这个,请再下载winpcap。同样,如果你是在unix下使用,请下载libpcap。
3、安装pcap没有太多说的,win下是个exe,直接运行。unix下直接make就可以了。
4、打开你的记事本,将以下代码保存在sniffer-QQ.py这个文件中。

[code]
# -*- coding: cp936 -*-
import pcap ,struct

pack=pcap.pcap()
pack.setfilter('udp')
key=''
for recv_time,recv_data in pack:
   recv_len=len(recv_data)
   if recv_len == 102 and recv_data[42]== chr(02) and recv_data[101] == chr(03):
      print struct.unpack('>I',recv_data[49:53])[0]
      print '登陆了'
   elif recv_len == 55:
      print struct.unpack('>I',recv_data[49:53])[0]
      print '登陆了'
[/code]

如果你在*nix下运行,请将# -*- coding: cp936 -*-更改为# -*- coding: utf-8 -*-
好了,你可以运行你的python程序了,试着登陆你的QQ。看你的QQ号码是否被抓下来了。
这里付上我的抓屏结果
[code]D:/socket-qq>;sniffer-QQ.py
278333853
12345
1234567890
1234567890
1234567890
278333853
1234567890
1234567890
278333853
278333853[/code]

利用的什么原理呢。
QQ使用udp协议来和服务器进行通讯,当数据包在传输的时候。udp报文被抓了下来。而登陆包是以0x02开头0x03为结尾的,我们先判断是否为正确的登陆包,当然,登陆包的长度都为102个字节。我们取出结构中特定的位置,就是你的QQ号码了。
如果还有什么疑问,请大家跟贴。

引自:http://blog.csdn.net/meijingsong/article/details/1567127

使用python来嗅探局域网内的QQ号码相关推荐

  1. python局域网嗅探_使用python来嗅探局域网内的qiuqiu号码

    使用python来嗅探局域网内的"qiuqiu号码" 2007年4月16日更新 增加了一个令牌的判断,可以抓新版本包了. 说到嗅探必须要讲到所支持的环境,并非只能对本机或者HUB环 ...

  2. python Scapy获取局域网内的IP和mac地址

    ''' python3 安装scapy-python3 注:linux,可能需要以root登陆,避免出现permission error Scapy还包含内建函数arping(),该函数实现的功能和以 ...

  3. 局域网内用QQ传文件,会经过腾讯的服务器么?

    刚开始的时候会经过 即  你发送文件请求的消息时候 然后  建立连接   其实连接刚建立的时候  交换或者路由就会发现接收放和发送方处于同一网段  然后如果交换上面查找不到信息  就递交给上一层的设备 ...

  4. Python Socket网络编程(二)局域网内和局域网与广域网的持续通信

    目录 前言 IP地址 简介 公有IP 私有IP 局域网之间网络通信 前提 功能描述 源码 运行结果 局域网与广域网网络通信 前提 源码 结语 前言 本系列博客是笔者学习Python Socket的过程 ...

  5. 局域网内连接MySQL

    2019独角兽企业重金招聘Python工程师标准>>> 局域网内连接MySQL 博客分类: MySQL MySQL局域网连接grant 我们都知道连接MySQL一般用的语句就是 jd ...

  6. 局域网内QQ号码的嗅探

    最近刚看完<Windows网络与通信程序设计>,颇有些感受,其中的内容都是我很喜欢的系统网络底层知识.C++是C的扩充,引入了面向对象的概念,今天中午看了下<数据结构 c++ 语言描 ...

  7. python实现简易聊天需要登录_python编写简易聊天室实现局域网内聊天功能

    本文实例为大家分享了python实现局域网内聊天功能的具体代码,供大家参考,具体内容如下 功能: 可以向局域网内开启接收信息功能的ip进行发送信息,我们可以写两段端口不同的代码来实现在一台电脑上与自己 ...

  8. Python使用UDP协议实现局域网内屏幕广播

    3年前推送过一篇使用TCP协议进行局域网内屏幕广播的文章,见 Python实现局域网内屏幕广播的技术要点分析 众所周知,TCP协议尽管有良好的流量控制.拥塞控制等传输质量保证机制,但开销比较大且只能单 ...

  9. Python实现局域网内屏幕广播的技术要点分析

    为更好地保证教学质量和提高学生的学习积极性,我使用Python开发了一套课堂教学管理系统,具有在线点名.在线答疑.随机提问.在线作业管理.在线自测.在线考试.数据汇总.试卷生成.屏幕广播等功能,教师端 ...

最新文章

  1. 独家 | 熵–数据科学初学者必知的关键概念(附链接)
  2. 在SCSS文件中导入常规CSS文件?
  3. tibco_TIBCO产品的微服务和DevOps
  4. resnetv2 测试
  5. HDFS 文件系统NameSpace、副本机制
  6. 优化器--牛顿法总结
  7. 看完让你理解WebSocket原理
  8. 全球最抠门的商场,一年卖了1000亿
  9. linux 如何查看php的日志,Linux下apache日志分析与状态查看方法
  10. python之读入数据
  11. 我的计时软件TimeDogV13
  12. 机器学习实战应用案例100篇(十)-蝙蝠算法从原理到实战应用案例
  13. 超级详细的iptables介绍
  14. FreeCAD开发:修改了源码,需要翻译成中文,如何更新语言包
  15. HTML:自定义修改鼠标指针
  16. 计算机网络原理实验实验七:分析IP报文结构
  17. 友盟分享 qq没有存储权限 分享失败
  18. Android中Gson使用,flutter调用原生sdk
  19. css特效实例——纯css实现带边角卷边阴影的纸
  20. conda中的CUDA和自己安装的CUDA的区别

热门文章

  1. 如何用PDF编辑器修改PDF文件的字体颜色
  2. python黑客帝国代码雨特效
  3. 2022-2028全球与中国荧光增白剂 OB-1市场现状及未来发展趋势
  4. 成都百词斩2018web前端秋招笔试题
  5. MATLAB利用均值滤波的方法去除图像的噪声,将滤除噪声前后的图像输出。
  6. Ansys Zemax / SPEOS | 光源文件转换器
  7. 基于java(ssm)旅游网站系统源码成品(java毕业设计)
  8. 2015蓝桥杯python——奇妙的数字
  9. 软件项目管理MOOC(北邮)——第十一章测试答案
  10. PS磨皮神器更新为Portraiture V3中文汉化版(仅64位) 。