以前写过一篇cdlinux抓握手包WiFi密码破解https://zhuanlan.zhihu.com/p/29013496,说了破解的原理和思路,现在就把文章里面的资源整理出来。资源包括以下
- CDLinux系统安装
- 跑字典工具EWSA和弱口令字典
- 生成字典Java代码
1. CDLinux系统安装
安装CDLinux材料
- UltraISO
- CDLinux.iso
- grub4dos
- grubinst_gui2
安装CDLinux是对于新手来说是比较难的,可参考百度经验https://jingyan.baidu.com/article/7908e85c723c59af481ad21c.html
2. 跑字典工具EWSA和弱口令字典
跑字典的思路是先从弱口令字典开始。弱口令字典通过网络搜索也能收集,这里提供我所用过的字典和EWSA
下载地址https://pan.baidu.com/s/1VbjTvy07Er4DYSdw1dKMfQ#list/path=%2F%E8%B5%84%E6%BA%90%E5%85%B1%E4%BA%AB%2FWIFI%E5%AF%86%E7%A0%81%E7%A0%B4%E8%A7%A3%E8%B5%84%E6%BA%90
3. 生成字典Java代码
这些字典比较大,所以用代码生成,代码比较菜,有空再改下。
获取地区手机号码
public class GetPhoneNumbers { static String url="http://www.51hao.cc/city/guangdong/guangzhou.php";//获取号码段的网页 private static List<List<String>> phone_sections=new ArrayList<>();//号码段 private static List<String> phone_names=new ArrayList<>();//保存号码段的文件名 public static void main(String[] args) { Document document=null; try { document= Jsoup.connect(url).get(); Elements phonesnames_elements=document.select(".nums");//号码段名字所在标签,如130 Elements phonesections_elements=document.select("ul"); //所有的号码段元素,一个ul对一个号码段 //遍历元素,获取所有号码段 for (int i=0;i<phonesnames_elements.size();i++){ phone_names.add(phonesnames_elements.get(i).text()); List<String> li=new ArrayList<>(); for (int j=0;j<phonesections_elements.get(i).children().size();j++){ li.add(phonesections_elements.get(i).child(j).text()); } phone_sections.add(li); } FileWriter fileWriter=null; //保存为字典txt文件 for (int i=0;i<phonesections_elements.size();i++){ fileWriter=new FileWriter(phone_names.get(i)+".txt"); for (int j=0;j<phone_sections.get(i).size();j++){ long phonestart=Long.parseLong(phone_sections.get(i).get(j)+"0000"); long phoneend=Long.parseLong(phone_sections.get(i).get(j)+"9999"); for (long k=phonestart;k<=phoneend;k++){ fileWriter.write(k+"\r\n"); } } } fileWriter.close(); } catch (IOException e) { e.printStackTrace(); } } }
CDLinux系统安装有些麻烦