以前写过一篇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系统安装有些麻烦