refactored module parsing to make intuitive sense
This commit is contained in:
parent
b7f50acf5d
commit
5c36a4d11d
@ -12,8 +12,8 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
_, modType, fl, err := zgrab2.ParseCommandLine(os.Args[1:])
|
||||
if err != nil { //blanked arg is positional arguments
|
||||
_, modType, fl, err := zgrab2.ParseCommandLine(os.Args[1:]) // Blanked arg is positional arguments
|
||||
if err != nil {
|
||||
// Outputting help is returned as an error. Exit successfuly on help output.
|
||||
flagsErr, ok := err.(*flags.Error)
|
||||
if ok && flagsErr.Type == flags.ErrHelp {
|
||||
@ -27,14 +27,26 @@ func main() {
|
||||
if modType == "multiple" {
|
||||
iniParser := zgrab2.NewIniParser()
|
||||
m, _ := fl.(*zgrab2.MultipleCommand)
|
||||
var modTypes []string
|
||||
var flagsReturned []interface{}
|
||||
if m.ConfigFileName == "-" {
|
||||
err = iniParser.Parse(os.Stdin)
|
||||
modTypes, flagsReturned, err = iniParser.Parse(os.Stdin)
|
||||
} else {
|
||||
err = iniParser.ParseFile(m.ConfigFileName)
|
||||
modTypes, flagsReturned, err = iniParser.ParseFile(m.ConfigFileName)
|
||||
}
|
||||
if err != nil {
|
||||
log.Fatalf("could not parse multiple: %s", err)
|
||||
}
|
||||
if len(modTypes) != len(flagsReturned) {
|
||||
log.Fatalf("error parsing flags")
|
||||
}
|
||||
for i, flag := range flagsReturned {
|
||||
f, _ := flag.(zgrab2.ScanFlags)
|
||||
mod := *zgrab2.GetModule(modTypes[i])
|
||||
s := mod.NewScanner()
|
||||
s.Init(f)
|
||||
zgrab2.RegisterScan(s.GetName(), s)
|
||||
}
|
||||
} else {
|
||||
f, _ := fl.(zgrab2.ScanFlags)
|
||||
mod := *zgrab2.GetModule(modType)
|
||||
@ -42,7 +54,6 @@ func main() {
|
||||
s.Init(f)
|
||||
zgrab2.RegisterScan(modType, s)
|
||||
}
|
||||
zgrab2.PrintScanners()
|
||||
m := zgrab2.MakeMonitor()
|
||||
start := time.Now()
|
||||
log.Infof("started grab at %s", start.Format(time.RFC3339))
|
||||
|
@ -66,7 +66,7 @@ func init() {
|
||||
func RegisterScan(name string, s Scanner) {
|
||||
//add to list and map
|
||||
if scanners[name] != nil {
|
||||
log.Fatal("name already used")
|
||||
log.Fatalf("name: %s already used", name)
|
||||
}
|
||||
orderedScanners = append(orderedScanners, name)
|
||||
scanners[name] = &s
|
||||
|
@ -85,7 +85,7 @@ func (s *HTTPScanner) InitPerSender(senderID int) error {
|
||||
}
|
||||
|
||||
func (s *HTTPScanner) GetName() string {
|
||||
return ""
|
||||
return s.config.Name
|
||||
}
|
||||
|
||||
func (s *HTTPScanner) Scan(t zgrab2.ScanTarget, port uint) (interface{}, error) {
|
||||
|
@ -55,7 +55,7 @@ func (s *SSHScanner) InitPerSender(senderID int) error {
|
||||
}
|
||||
|
||||
func (s *SSHScanner) GetName() string {
|
||||
return ""
|
||||
return s.config.Name
|
||||
}
|
||||
func (s *SSHScanner) Scan(t zgrab2.ScanTarget, port uint) (interface{}, error) {
|
||||
return nil, nil
|
||||
|
@ -56,7 +56,7 @@ func (s *TLSScanner) Init(flags zgrab2.ScanFlags) error {
|
||||
}
|
||||
|
||||
func (s *TLSScanner) GetName() string {
|
||||
return ""
|
||||
return s.config.Name
|
||||
}
|
||||
|
||||
func (s *TLSScanner) InitPerSender(senderID int) error {
|
||||
|
Loading…
Reference in New Issue
Block a user