07c61c1b1c
First push for beginning of project
44 lines
762 B
Go
44 lines
762 B
Go
package shodan
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"net"
|
|
|
|
"github.com/ns3777k/go-shodan/v4/shodan"
|
|
|
|
"git.tcp.direct/perp/shogo/internal/utils"
|
|
)
|
|
|
|
// Return domain information
|
|
func Domain(host string) {
|
|
// Parse IP
|
|
ips, err := net.LookupIP(host)
|
|
if err != nil {
|
|
fmt.Printf("%s: %s\n", utils.Red("Error"), err.Error())
|
|
return
|
|
}
|
|
|
|
// Get results
|
|
results, err := utils.Client.GetServicesForHost(
|
|
context.Background(),
|
|
ips[0].To4().String(),
|
|
&shodan.HostServicesOptions{},
|
|
)
|
|
if err != nil {
|
|
fmt.Printf("%s: %s\n", utils.Red("Error"), err.Error())
|
|
return
|
|
}
|
|
|
|
// Print results
|
|
utils.Title.Printf("Domain: %s", host)
|
|
|
|
fmt.Printf("\n\n")
|
|
|
|
for index := range results.Data {
|
|
fmt.Println(results.Data[index].Domains)
|
|
}
|
|
}
|
|
|
|
// Todo: Find domain records
|