/
main.go
39 lines (33 loc) · 1.19 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package main
import (
"context"
"flag"
"fmt"
"github.com/spyse-com/go-spyse/pkg"
"log"
)
func main() {
accessToken := flag.String("access_token", "", "API personal access token")
flag.Parse()
client, err := spyse.NewClient(*accessToken, nil)
if err != nil {
log.Fatal(err.Error())
}
svc := spyse.NewBulkService(client)
var domainNames = []string{"example.com", "tesla.com", "google.com", "some-nonexistent-domain.io"}
domainSearchResults, err := svc.Domain(context.Background(), domainNames)
if err != nil {
log.Fatal(err.Error())
}
for _, result := range domainSearchResults {
fmt.Println(fmt.Sprintf("Domain %s, DNS A recod: %s, HTTP status code: %d, Title: %s", result.Name, result.DNSRecords.A[0], *result.Extract.HTTPStatusCode, result.Extract.Title))
}
var ipAddresses = []string{"8.8.8.8", "104.22.58.132", "93.184.216.34", "199.66.11.62", "172.217.4.78"}
ipSearchResults, err := svc.IP(context.Background(), ipAddresses)
if err != nil {
log.Fatal(err.Error())
}
for _, result := range ipSearchResults {
fmt.Println(fmt.Sprintf("IP %s, open ports: %d, Country: %s, AS number: %d", result.IPAddress, len(result.Ports), result.GEOInfo.Country, *result.ISPInfo.ASNum))
}
}