2020-12-29 01:17:10 -08:00
package common
import (
"flag"
)
func Banner ( ) {
banner := `
___ _
/ _ \ ___ ___ _ __ __ _ ___ | | __
/ / _ \ / ____ / __ | / __ | ' __ / _ ` + " ` " + ` | / __ | | / /
/ / _ \ \ _____ \ __ \ ( __ | | | ( _ | | ( __ | <
\ ____ / | ___ / \ ___ | _ | \ __ , _ | \ ___ | _ | \ _ \
2022-01-06 21:38:38 -08:00
fscan version : ` + version + `
2020-12-29 01:17:10 -08:00
`
print ( banner )
}
func Flag ( Info * HostInfo ) {
Banner ( )
flag . StringVar ( & Info . Host , "h" , "" , "IP address of the host you want to scan,for example: 192.168.11.11 | 192.168.11.11-255 | 192.168.11.11,192.168.11.12" )
2021-09-13 21:16:01 -07:00
flag . StringVar ( & NoHosts , "hn" , "" , "the hosts no scan,as: -hn 192.168.1.1/24" )
2020-12-29 01:17:10 -08:00
flag . StringVar ( & Info . Ports , "p" , DefaultPorts , "Select a port,for example: 22 | 1-65535 | 22,80,3306" )
2021-12-07 01:01:21 -08:00
flag . StringVar ( & PortAdd , "pa" , "" , "add port base DefaultPorts,-pa 3389" )
2022-04-20 18:56:07 -07:00
flag . StringVar ( & UserAdd , "usera" , "" , "add a user base DefaultUsers,-usera user" )
flag . StringVar ( & PassAdd , "pwda" , "" , "add a password base DefaultPasses,-pwda password" )
2021-05-05 20:37:29 -07:00
flag . StringVar ( & NoPorts , "pn" , "" , "the ports no scan,as: -pn 445" )
2020-12-29 01:17:10 -08:00
flag . StringVar ( & Info . Command , "c" , "" , "exec command (ssh)" )
2021-05-30 19:03:01 -07:00
flag . StringVar ( & Info . SshKey , "sshkey" , "" , "sshkey file (id_rsa)" )
2020-12-29 01:17:10 -08:00
flag . StringVar ( & Info . Domain , "domain" , "" , "smb domain" )
flag . StringVar ( & Info . Username , "user" , "" , "username" )
flag . StringVar ( & Info . Password , "pwd" , "" , "password" )
flag . Int64Var ( & Info . Timeout , "time" , 3 , "Set timeout" )
flag . StringVar ( & Info . Scantype , "m" , "all" , "Select scan type ,as: -m ssh" )
2021-05-29 00:55:05 -07:00
flag . StringVar ( & Info . Path , "path" , "" , "fcgi、smb romote file path" )
2021-03-07 18:00:56 -08:00
flag . IntVar ( & Threads , "t" , 600 , "Thread nums" )
2022-01-06 21:38:38 -08:00
flag . IntVar ( & LiveTop , "top" , 10 , "show live len top" )
2021-06-29 20:07:24 -07:00
flag . StringVar ( & HostFile , "hf" , "" , "host file, -hf ip.txt" )
2021-02-04 22:43:07 -08:00
flag . StringVar ( & Userfile , "userf" , "" , "username file" )
flag . StringVar ( & Passfile , "pwdf" , "" , "password file" )
2022-04-20 02:45:27 -07:00
flag . StringVar ( & PortFile , "portf" , "" , "Port File" )
2022-04-20 18:56:07 -07:00
flag . StringVar ( & PocPath , "pocpath" , "" , "poc file path" )
2021-02-04 22:43:07 -08:00
flag . StringVar ( & RedisFile , "rf" , "" , "redis file to write sshkey file (as: -rf id_rsa.pub) " )
flag . StringVar ( & RedisShell , "rs" , "" , "redis shell to write cron file (as: -rs 192.168.1.1:6666) " )
flag . BoolVar ( & IsWebCan , "nopoc" , false , "not to scan web vul" )
2021-11-24 18:16:39 -08:00
flag . BoolVar ( & IsBrute , "nobr" , false , "not to Brute password" )
2022-04-20 02:45:27 -07:00
flag . IntVar ( & BruteThread , "br" , 1 , "Brute threads" )
2021-02-04 22:43:07 -08:00
flag . BoolVar ( & IsPing , "np" , false , "not to ping" )
flag . BoolVar ( & Ping , "ping" , false , "using ping replace icmp" )
flag . StringVar ( & TmpOutputfile , "o" , "result.txt" , "Outputfile" )
flag . BoolVar ( & TmpSave , "no" , false , "not to save output log" )
2021-05-13 20:47:30 -07:00
flag . Int64Var ( & WaitTime , "debug" , 60 , "every time to LogErr" )
2021-05-13 19:43:26 -07:00
flag . BoolVar ( & Silent , "silent" , false , "silent scan" )
2021-03-03 22:42:10 -08:00
flag . StringVar ( & URL , "u" , "" , "url" )
2021-03-25 00:36:21 -07:00
flag . StringVar ( & UrlFile , "uf" , "" , "urlfile" )
2021-02-04 22:43:07 -08:00
flag . StringVar ( & Pocinfo . PocName , "pocname" , "" , "use the pocs these contain pocname, -pocname weblogic" )
flag . StringVar ( & Pocinfo . Proxy , "proxy" , "" , "set poc proxy, -proxy http://127.0.0.1:8080" )
2021-03-03 22:42:10 -08:00
flag . StringVar ( & Pocinfo . Cookie , "cookie" , "" , "set poc cookie" )
2021-03-04 19:44:21 -08:00
flag . Int64Var ( & Pocinfo . Timeout , "wt" , 5 , "Set web timeout" )
2021-05-05 20:37:29 -07:00
flag . IntVar ( & Pocinfo . Num , "num" , 20 , "poc rate" )
2020-12-29 01:17:10 -08:00
flag . Parse ( )
}