Linux crunch

{

 

1、crunch命令格式


 

    crunch <min-len> <max-len> [<charset string>] [options]

参数:

    min-len crunch要开始的最小长度字符串。即使不使用参数的值,也需要此选项
    max-len crunch要开始的最大长度字符串。即使不使用参数的值,也需要此选项
    charset string 在命令行使用crunch你可能必须指定字符集设置,否则将使用缺省的字符集设置。缺省的设置为小写字符集,大写字符集,数字和特殊字符(符号),如果不按照这个顺序,你将得到自己指定结果。必须指定字符类型或加号的值。注意:如果你想在你的字符集中包含空格特征,你必须使用“\”字符或用引号括起来你的字符集,例如"abc "。见示例3,11,12,和13。如果有“+”指定,则后续格式中出现的类型从其中取值!
    常用的命令:
    -c 数字 指定写入输出文件的行数,也即包含密码的个数
    -d 数字符号,限制出现相同元素的个数(至少出现元素个数),“-d 2@”限制小写字母输出像aab和aac,aaa不会产生,因为这是连续3个字母,格式是数字+符号,数字是连续字母出现的次数,符号是限制字符串的字符,例如@,%^(“@”代表小写字母,“,”代表大写字符,“%”代表数字,“^”代表特殊字符)(限制每个密码至少出现几种字符)
    -e 字符串,定义停止生成密码 ,比如-e 222222:到222222停止生成密码

    -f /path/to/charset.lst charset-name,从charset.lst指定字符集,也即调用密码库文件,比如kali中的charset.lst 在/usr/share/crunch/charset.lst,则参数为“-f /usr/share/crunch/charset.lst”

    -i 改变出格式。例如将格式aaa,aab,aac,aad,更换为格式aaa,baa,caa,daa,aba,bba等

    -o wordlist.txt,指定输出文件的名称,例如wordlist.txt

    -p 字符串 或者-p 单词1 单词2 ...以排列组合的方式来生成字典。

    -q filename.txt,读取filename.txt
    实例使用方法:

    (1) 案例1生成字母组合
    runch 1 8

    生成最小1位,最大8位,由26个小写字母为元素的所有组合

    (2) 案例2生成指定字符组合
    crunch 1 6 abcdefg

    生成最小为1,最大为6,由字符串abcdefg开头,以字符串gggggg为结束的所有字符组合

    (3) 案例3指定字符串加特殊字符的组合
    crunch 1 6 abcdefg\

    生成最小为1,最大为6,由abcdefg和空格为元素的所有组合(/代表空格)
    注:指定字符集设置为占位符:使用 -t命令
    -t 命令如下:

    -t @,%^,指定模式,@,%^分别代表意义如下:
    @ 插入小写字母
    , 插入大写字母
    % 插入数字
    ^ 插入特殊符号          
    使用实例:(当确定使用的对象类型但不具体知道是那些时可以使用占位符)
    例1、
    生成缺位的手机号码(有可能作为路由器密码或wifi密码(8-11位))
    命令:crunch 11 11   -t  1503453%%%%   -o 1.txt 或>> 1.txt(以%位数字占位符)
    例二:
    crunch 4 4  + + 123 + -t %%@^

    生成4位密码,其中格式为“两个数字”+“一个小写字母”+“常见符号”(其中数字这里被指定只能为123组成的所有2位数字组合)。比如12f#,32j^,13t$......
    加号(+)是一个占位符,以便为字符类型指定一个字符集。crunch将使用默认字符集的字符类型,当crunch遇到一个+(加号)的命令行。您必须为每个字符类型指定值或使用加号。也就是说,如果你有两个字符类型,你要么为每个类型指定值,要么使用加号。
    关于+的理解 :在有%@^指定类型时,前面如果先要指定输出的字符范围而不是默认范围就要用到+号  但如果有好几种数据类型但是不确定也需要用到+占个位(如上题)一般来说只有指定数字时前面要用+  ,而字母不用
    例:root@kali:~# crunch 3 3 abc -t 1@@
    Crunch will now generate the following amount of data: 36 bytes
    0 MB
    0 GB
    0 TB
    0 PB
    Crunch will now generate the following number of lines: 9
    1aa
    1ab
    1ac
    1ba
    1bb
    1bc
    1ca
    1cb
    1cc
    关于+这里我也不是很理解,大家只要记住如果得到的不是你想要的结果(上述为例)加一个加号试一试
     
    一些比较有用的命令

    (1)生成pass01-pass99所有数字组合


     

    crunch 6 6 -t pass%%  >>newpwd.txt

    (2)生成六位小写字母密码,其中前四位为pass


     

    crunch 6 6 -t pass@@  >>newpwd.txt

    (3)生成六位密码,其中前四位为pass,后二位为大写


     

    crunch 6 6 -t pass,,  >>newpwd.txt

    (4)生成六位密码,其中前四位为pass,后二位为特殊字符


     

    crunch 6 6 -t pass^^  >>newpwd.txt

    (5)制作8为数字字典


     

    crunch 8 8 charset.lst numeric -o num8.dic

    (6)制作6为数字字典


     

    crunch 6 6  0123456789 –o num6.dic

    (7)制作139开头的手机密码字典


     

    crunch 11 11  +0123456789 -t 139%%%%%%%% -o num13.dic
    crunch 11 11  +0123456789 -t 139%%%%%%%% -b 20mib -o START

    文件大小为1144 MB,还可以每次生成文件大小为20M,自动生成文件:
    最后补充一下  关于使用字符集的方法:
    字符集在 /usr/share/crunch/charset.lst 下  如果要使用自己可以去查名字
    使用方法以及实例:

     
    -f /path/to/charset.lst charset-name,从charset.lst指定字符集,也即调用密码库文件,比如kali中的charset.lst 在/usr/share/crunch/charset.lst,则参数为“-f /usr/share/crunch/charset.lst”
    实例:
    crunch 1 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt

    调用密码库charset.lst,生成最小为1,最大为8,元素为密码库charset.lst中 mixalpha-numeric-all-space的项目,并保存为 wordlist.txt;其中 charset.lst在kali_linux的目录为 /usr/share/crunch/charset.lst, charset.lst中mixalpha-numeric-all-space项目包含最常见的元素组合(即大小写字母+数字+常见符号);使用cat /usr/share/crunch/charset.lst 查看所有密码库

    crunch集成的密码库都可以按照上述方法调用   
————————————————
版权声明:本文为CSDN博主「MQ灬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42025840/java/article/details/81125584

 

}

posted @   YZFHKMS-X  阅读(230)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示