2023-08-01 22:35:47 +00:00
|
|
|
package shodan
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"fmt"
|
|
|
|
|
|
|
|
"github.com/ns3777k/go-shodan/v4/shodan"
|
|
|
|
|
|
|
|
"git.tcp.direct/perp/shogo/internal/utils"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Return your query result count
|
2023-08-03 22:48:39 +00:00
|
|
|
func (s *Shodan) Count() {
|
2023-08-01 22:35:47 +00:00
|
|
|
// Setup query
|
|
|
|
options := &shodan.HostQueryOptions{
|
2023-08-03 22:48:39 +00:00
|
|
|
Query: s.Flags.Query,
|
2023-08-01 22:35:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Get results
|
|
|
|
results, err := utils.Client.GetHostsCountForQuery(context.Background(), options)
|
|
|
|
if err != nil {
|
2023-08-03 22:48:39 +00:00
|
|
|
s.Results <- fmt.Sprintf("%s: %s", utils.Red("Error"), err.Error())
|
|
|
|
return
|
2023-08-01 22:35:47 +00:00
|
|
|
}
|
|
|
|
|
2023-08-03 22:48:39 +00:00
|
|
|
// Send result
|
|
|
|
s.Results <- utils.Title.Sprintf("Count: %s\n", s.Flags.Query) + fmt.Sprintf("%s", utils.Blue(results.Total))
|
2023-08-01 22:35:47 +00:00
|
|
|
}
|