crunch - 根据字符集生成字典

来源:互联网 发布:打字赚钱软件 编辑:程序博客网 时间:2024/05/02 00:56


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

 

Crunch 可以根据你所指定的准则创建字典.产生的内容可以输出到屏幕,文件,或者其他应用程序。需用用到下面参数:

       min-len
              crunch创建字符的最小长度.  此选项是必需参数.        max-len
              crunch创建字符的最大长度. 此选项是必需参数.        charset string
              你可以指定crunch命令行所使用的字符集,如果你不指定,crunch会使用默认的字
              符集,顺序必须是小写字符,大写字符,数字,符号. 如果不遵循上面的顺序,你将
              不能获取你想要的结果.  字符类型或加号,你必须指定每个值. 注意: 如果你的字符集
              中想要包含空格,请用\ 字符将其转义或用引号闭合. 请查看例子3,11,12,13.

OPTIONS        
       -b number[type]
              指定输出文件的大小, 只有-o START使用时,该参数才起作用,例如: 60MB
             输出文件名的格式是 起始字符-结束字符,
             例如: ./crunch 4 5 -b 20mib -o START
             会生成四个文件: aaaa-gvfed.txt,gvfee-ombqy.txt, ombqz-wcydt.txt, wcydu-zzzzz.txt .
             前面的三种类型kb,mb,gb,是以1000为单位计算统计的。后面的kib,mib,gib是
             以1024为基础。注意类型与数字之间没有空格。例如: 500mb 正确, 500 mb错误。        -c number
              指定写入文件的行数, 只有-o START使用时,该参数才起作用,例如: 60  
              输出文件名的格式是 起始字符-结束字符.
              例如: ./crunch 1 1 -f /pentest/password/crunch/charset.lst mixalpha-
              numeric-all-space -o START -c 60 会生成两个文件: a-7.txt and 8-\ .txt  
              第二个文件名中包含\, 是因为后面有个空格.        -d numbersymbol
              限制字符重复的次数.  -d 2@ 会限制小写字符集输出类似 aab和aac这样的值. Aaa不
              会被产生. 参数格式就是数字后面跟一个符号,数字表示连续字符出现的最大次数,符
             号指想要限制的字符集符号,例如: @,%^   请看例子 17-19.        -e string
              遇到该字符,crunch会提前结束        -f /path/to/charset.lst charset-name
              从文件中获取字符集        -i 反转输出内容,如果原始内容是aaa,aab,aac,aad, 你会得到 aaa,baa,caa,daa,aba,bba,        -l 当你使用 -t 选项时, crunch会将符号理解为它的字面值. 这样可以在模式中使用占位符.
       -l 选项应该与-t选项拥有同样的长队,详见例子15.        -m 与 -p 合并. 请使用 -p.        -o wordlist.txt
              指定输出文件, 例如: wordlist.txt        -p charset OR -p word1 word2 ...
              告诉 crunch 生成不包含重复字符的词.   默认crunch生成的字典大小是
              #of_chars_in_charset ^ max_length.  
              
              该选项不会产生 #of_chars_in_charset!.   ! 代表阶乘.
              例如: 字符是 abc,最大长度为 4..  Crunch 默认会生成 3^4 = 81 个词. 该选项会生成
              3! = 3x2x1 =  6  个词
              (abc, acb, bac, bca, cab, cba).  它必须是最后一个选项!  此选项不能与 -s 一起使用, 它
              会忽略最小和最大长度, 但是你必须指定两个数字。        -q filename.txt
             类似 -p 选项, 不同的是它从文件中获取输入.        -r 告诉crunch继续完成上次终止的任务.  -r仅与 -o 一起时生效-r.
       如果与 -s 一起使用, 会出现异常. 如果原始命令中包含 -s 选项, 你必须移除它,然后在命令
       末尾加上 -r ,才能继续上次的任务.        -s startblock
              指定一个起始字符串, 例如: 03god22fs        -t @,%^
              指定模式, 例如: @@god@@@@ where the only the @'s, ,'s, %'s, and ^'s  will
              change.
              @ will insert lower case characters
              , will insert upper case characters
              % will insert numbers
              ^ will insert symbols


       -u      
              禁止输出百分线.   该选项应该是最后一个参数. 


       -z gzip, bzip2, lzma, and 7z
              压缩 -o 选项指定的输出.  有效参数有gzip, bzip2, lzma, 7z.
              gzip 速度快,但是压缩率较小.  bzip2 比gzip慢,但是有更好的压缩率.  
              7z最慢, 但是压缩的最好.

EXAMPLES
       Example 1
       crunch 1 8
       crunch会生成一个以a起始, zzzzzzzz 结尾的字典.
 
       Example 2
       crunch 1 6 abcdefg
       crunch 根据字符集 abcdefg 生成字典,起始值是a,结束值是gggggg.
 
       Example 3
       crunch 1 6 abcdefg\
       字符串最后有一个空格.  为了让crunch使用该空格, 你需要使用在空格前使用转义字符 \ .
       如果使用引号引用, 那么就不需要转义字符, 例如: "abcdefg". 此处会根据abcdefg 字符集生成
       字典, 以a为起始,6个空格结束.
 
       Example 4
       crunch 1 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt
       crunch 会使用character.lst 里面的字符集 mixalpha-numeric-all-space ,并将字典列表
       写入文件 wordlist.txt.  字典以 a 为起始, 8个空格结束  "        "

       Example 5
       crunch 8 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt -t @@dog@@@ -s cbdo‐
       gaaa
       crunch 会使用character.lst 里面的字符集 mixalpha-numeric-all-space ,并将字典列表
       写入文件 wordlist.txt.  字典以 cbdogaa 为起始,  "以 "  dog   " 结束.
 
       Example 6
       crunch 2 3 -f charset.lst ualpha -s BB
       crunch  会生成一个以 BB 为起始,  ZZZ 为结尾的字典.  如果你可以在生成字典的过程中停下来
       在开始之前,请确保已经将原始的字典改名,因为crunch会覆盖内容.
 
       Example 7
       crunch 4 5 -p abc
       此处的数字不会起什么作用, 但是必须指定.
       crunch 会生成 abc, acb, bac, bca, cab, cba.
 
       Example 8
       crunch 4 5 -p dog cat bird
       此处的数字不会起什么作用, 但是必须指定.
       crunch 会生成 birdcatdog, birddogcat, catbirddog, catdogbird, dogbirdcat,  dogcatbird.

       Example 9
       crunch 1 5 -o START -c 6000 -z bzip2
       crunch  会生成  bzip2 压缩文件,每个文件包含 6000 个词.  压缩包的文件名是 first_word-last_word.txt.bz2
 
       # time ./crunch 1 4 -o START -c 6000 -z gzip
       real    0m2.729s
       user    0m2.216s
       sys     0m0.360s
 
       # time ./crunch 1 4 -o START -c 6000 -z bzip2
       real    0m3.414s
       user    0m2.620s
       sys     0m0.580s
 
       # time ./crunch 1 4 -o START -c 6000 -z lzma
       real    0m43.060s
       user    0m9.965s
       sys     0m32.634s
 
       size  filename
       30K   aaaa-aiwt.txt
       12K   aaaa-aiwt.txt.gz
       3.8K  aaaa-aiwt.txt.bz2
       1.1K  aaaa-aiwt.txt.lzma

        Example 10
       crunch 4 5 -b 20mib -o START
       会生成4个文件: aaaa-gvfed.txt, gvfee-ombqy.txt, ombqz-wcydt.txt, wcydu-zzzzz.txt
       前面的三个文件都是 20MBs (real power of 2 MegaBytes),最后一个是 11MB.
 
       Example 11
       crunch 3 3 abc + 123 !@# -t @%^
       会生成长度为三的词,第一个为字母,第二个是数字, 第三个是符号.  指定字符的顺序很重要.
       整个顺序是, 小写字母,大写字母,数字, 符号。如果你不打算使用指定的字符集,需要使用
       一个加号作为占位符。正如你所看到的那样,我没有使用大写的字符集,因此使用了一个占位
       符。上面生成的字典, 将会以a1!起始,c3#结束。
 
       Example 12
       crunch 3 3 abc + 123 !@# -t ^%@
       将会生成长度词长为3的字典,以 !1a起始,#3c 为结束.
 
       Example 13
       crunch 4 4  + + 123 + -t %%@^
        (+) 是一个占位符,表示某一类的字符集合.   指定 + 号后, crunch 会使用默认的字符集.
       你可以使用指定的值或者加号.  此例中的字符集如下: 
       abcdefghijklmnopqrstuvwxyz
       ABCDEFGHIJKLMNOPQRSTUVWXYZ
       123
       !@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/
       上面的字符串最后由一个空格, 字典以11a! 起始, "33z "结束.  引号后面有个空格.
 
       Example 14
       crunch 5 5 -t ddd@@ -o j -p dog cat bird
       任何非 @,%^ 的字符表示替换词的占位符.
       @,%^ 与 -t 有同样的功能.
       如果你想使用 @,%^ , 你可以使用 -l 选项指定需要按字面理解的字符. 
       birdcatdogaa
       birdcatdogab
       birdcatdogac
       <skipped>
       dogcatbirdzy
       dogcatbirdzz

       Example 15
       crunch 7 7 -t p@ss,%^ -l a@aaaaa
       crunch 会将 @ 符号理解为其字面意思, 不会替换为大写字符集.  生成的字符集如下:
       p@ssA0!
       p@ssA0@
       p@ssA0#
       p@ssA0$
       <skipped>
       p@ssZ9
 
       Example 16
       crunch 5 5 -s @4#S2 -t @%^,2 -e @8 Q2 -l @dddd -b 10KB -o START
       crunch  会生成字符长度为5的字典,以 @4#S2为起始, @8 Q2.为结尾。 每个文件的大小是10KB.
 
       Example 17
       crunch 5 5 -d 2@ -t @@@%%
       crunch 会生成字符长度5的字典,以aab00为起始, zzy99为结尾.  包含 aaa 和 zzz 这样的词不会出现.
 
       Example 18
       crunch 10 10 -t @@@^%%%%^^ -d 2@ -d 3% -b 20mb -o START
       crunch  会生成字符长度为10的字典,以aab!0001!!为起始, zzy 9998.为结尾。 每个文件的大小是20mb.
 
       Example 19
       crunch 8 8 -d 2@
       crunch 会生成词长为8的字典,字符重复次数最大为2.  Crunch 会以 aabaabaa 为起始,  zzyzzyzz为结束.
 
       Example 20
       crunch 4 4 -f unicode_test.lst japanese -t @@%% -l @xdd
       crunch 加载unicode_test character文件中的 japanese 字符集.   字典将以 @日00起始,  @語99为结束.

0 0
原创粉丝点击