★我要吧★

 找回密码
 注册[Register]
搜索
qq空间相册密码查看为什么登陆后需要激活无法注册?

[技术] 使用python来嗅探局域网内的QQ号码

[复制链接]
发表于 2016-2-14 09:25:04 | 显示全部楼层 |阅读模式
说到嗅探必须要讲到所支持的环境,并非只能对本机或者HUB环境才能使用。对于交换机,你可以指定一个口为嗅探口,从这个口能拿到所有端口的数据。如果这个交换是核心交换,那么你所能取到数据将更多。(三层交换一般都可以指定嗅探口)& f9 p3 l' u. X0 Q0 f
1、如果你已经是个python爱好者你机器一定有了python的运行环境,如果你没有可以到www.python.org去下载一个。我使用的还是python 2.3。
# A/ u5 W% Z/ T* k& t2、这段程序需要pcap模块支持,你可以到http://monkey.org/~dugsong/pypcap/去下载一个,它有unix和win两个版本,请注意,win下他需要winpcap支持,如果你没有这个,请再下载winpcap。同样,如果你是在unix下使用,请下载libpcap。. m6 H0 @7 h4 b
3、安装pcap没有太多说的,win下是个exe,直接运行。unix下直接make就可以了。
* d" o2 r" Q% S4 c4、打开你的记事本,将以下代码保存在sniffer-QQ.py这个文件中。
/ c1 Q8 T8 d9 M# C
. t6 e- g0 X8 M/ c! o
1 R- N8 r4 J$ E# Q6 \# -*- coding: cp936 -*-
9 Z6 x3 I4 R7 x% ]4 o1 Qimport pcap ,struct0 c+ {' a, ]: p9 y& h, x0 K0 L

& d% {& A/ O3 Z; R& O9 V+ Xpack=pcap.pcap()
( M; j6 I" y* b6 upack.setfilter('udp')) k7 m, n/ V' [  T, i! Z* S
key=''7 E& L. Y# V. [/ r: V# e
for recv_time,recv_data in pack: 1 S5 c5 H* U  ?: E4 r: b% Y$ ^
  recv_len=len(recv_data)
, d; R) r. p4 h  if recv_len == 102 and recv_data[42]== chr(02) and recv_data[101] == chr(03):
4 R5 G$ j( c! w& V) h/ X     print struct.unpack('>I',recv_data[49:53])[0]" O0 ?0 q. k) F9 W
     print '登陆了'7 ~! N0 Y: ]; s* k. m) x; c# B
  elif recv_len == 55:9 r2 D/ S  x) {- X1 G* X2 v
     print struct.unpack('>I',recv_data[49:53])[0]
8 Z; S, }9 C6 j1 T$ u# J7 j     print '登陆了'
) V8 b" z$ q% x+ c  ?, S4 l, n
. |$ ^7 T/ a+ v: `, H0 W$ X8 G0 ]4 n7 f) p$ I! y9 X! ^
如果你在*nix下运行,请将# -*- coding: cp936 -*-更改为# -*- coding: utf-8 -*-
% O0 E. c* m) B; `! g8 P! s' U好了,你可以运行你的python程序了,试着登陆你的QQ。看你的QQ号码是否被抓下来了。
! h, o. T/ F: V( y/ P/ e这里付上我的抓屏结果
( i3 E* {1 g& F1 i8 M, q+ QD:\socket-qq>;sniffer-QQ.py
1 K/ x: p/ L( D8 T: x% p5 z278333853* x( E* ^& N  N6 b
12345
8 g: ~( k5 R: v: g) X2 O1234567890% b: }- h( W) }' S1 l; z* g
1234567890; b+ Z; s5 K) e
12345678902 E' x5 ], l+ H( F
2783338532 Q. ?9 i* z& m
1234567890
3 `/ n# J& D6 T, F1234567890
: {/ Y# n8 `( K) b5 A1 b278333853
2 ^7 b$ O, G8 ^( H278333853% C+ x. S+ F' Z0 f$ b' }* b9 a

9 C2 Z/ I6 V7 G4 U; Q) e1 ~6 g4 C/ d( c, o2 m; ?! M
利用的什么原理呢。
) |- v/ j7 X! R3 rQQ使用udp协议来和服务器进行通讯,当数据包在传输的时候。udp报文被抓了下来。而登陆包是以0x02开头0x03为结尾的,我们先判断是否为正确的登陆包,当然,登陆包的长度都为102个字节。我们取出结构中特定的位置,就是你的QQ号码了。) f& {$ V- Q& V8 x
1 O, U7 n4 {8 x. I; u: p
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

QQ|手机版|小黑屋|☆我要吧☆ ( 豫ICP备13016831号-1 )

GMT+8, 2024-5-30 18:46 , Processed in 0.062103 second(s), 18 queries .

Powered by abc369 X3.4

© 2001-2023 abc369.

快速回复 返回顶部 返回列表