用python来嗅探QQ号码

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

# -*- 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 '登陆了'

 

 

不过这个嗅探功能还很弱,主要表现在对抓取的包的分析过于简单,直接导致的结果是将非qq登录包当成登录包截获,然后给出非意料中的qq登录号码

你可能感兴趣的:(python,qq,服务器,通讯)