Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project

自制利用Golang实现简单的目录扫描器

Install

如果你的本地有Golang语言环境,可以直接

go build main.go

生成二进制可执行文件,然后就可以在命令行里愉快的使用了。

Help

使用-h参数能够查看简易的帮助:

./main -h
Usage of ./main:
  -f string
    	设定使用的字典 (default "./dict/default.txt")
  -m string
    	指定使用扫描的方法一般就用这两种(GET,HEAD) (default "HEAD")
  -t int
    	指定需要的协程数 (default 3)
  -u string
    	设定需要扫描的域名,eg: -u https://baidu.com,请输入完整地址 (default "http://127.0.0.1:8080")
  -v	是否详细输出(详细输出会输出所有http返回码的内容)

能够得到一些简易的帮助。

Example

基本只需要指定扫描的URL,其他东西都不用管,默认使用的是dirsearch项目的字典,如果需要指定字典文件,可以把fuzzDict项目里面的字典搬过来,指定即可,以本地python开启的简单http服务器为例

python3 -m http.server 8080
/main -u http://127.0.0.1:8080

默认字典跑完大约需要10s左右,由于怕扫的太快,所以源码中添加的休眠限制一下速度,如果有进一步的需求可直接删除休眠代码,-t 20时,大概只需要4s的时间扫完,

About Code

所有的源码均在api.go里,基本使用一个Go结构体完成所有数据方面的制定~~(强行写成了面向对象的编程)~~,其他的地方主要就是select配合time.Newtimer进行超时无阻塞的并发操作了,主要原因是本地测试的时候,读字典的GoRoutine跑的没有拿数据的协程快,避免协程直接挂掉,才出此下策解决。

About

Self-made simple directory scanner with Golang

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages