This is a basic go client for the greynoise v2 api. Most endpoints are functional, but several are still to be implemented on they greynoise platform.
to get started:
go get -u github.com/securityclippy/greynoise
main.go
holds some basic examples of the endpoints and their associated functions
package main
import (
"github.com/securityclippy/greynoise/client"
"github.com/securityclippy/greynoise/conf"
)
func main() {
config, err := conf.ReadConfig("config.json")
if err != nil {
logger.Fatal(err)
}
greyNoise := client.NewClient(config)
// call endpoint call
resp, err := greyNoise.MetaPing()
if err != nil {
log.Fatal(err)
}
// parse response body from *http.response returned by endpoints
body, err := greyNoise.ParseResponse(resp)
// print out response body
log.Info(string(body))
Many endpoints may be subject to change, not working fully or not yet implemented. Endpoints are a best-effort right now, but work unless noted. Some are currently not responding within a 5 minute timeout, but may work in future.
- /v2/meta/ping
- /v2/research/time_series/scan/{protoco}/{port} NOTE: currently not responding
- /v2/research/time_series/http/path - (Greynoise - Not Yet Implemented)
- /v2/research/time_series/http/useragent - (Greynoise - Not Yet Implemented)
- /v2/research/tag/list
- /v2/research/tag/combination
- /v2/research/tag/single
- /v2/research/ip/{ip}
- /v2/research/raw/scan/{protocol}/{port} - (Greynoise - Not Yet Implemented)
- /v2/research/raw/ip/{ip} - (Greynoise - Not Yet Implemented)
- /v2/research/raw/http/path (Greynoise - Not Yet Implemented)
- /v2/research/raw/http/useragent (Greynoise - Not Yet Implemented)
- /v2/research/stats/top/scan
- /v2/research/stats/top/http/path
- /v2/research/stats/top/http/useragent
- /v2/research/stats/top/org
- /v2/research/stats/top/asn
- /v2/research/stats/top/rdns
- /v2/research/search/org NOTE: currently not responding
- /v2/research/search/org/historical
- /v2/research/actors NOTE: currently not responding
- /v2/infections/cidr/{block}/{bits}
- /v2/infections/asn/{asn} NOTE: currently not responding
- /v2/infections/search/org NOTE: currently not responding
- /v2/research/scanners/cidr/{block}/{bits}
- /v2/research/scanners/asn/{asn} NOTE: currently not responding
- /v2/research/ja3/fingerprint/{fingerprint}
- /v2/research/ja3/ip/{ip}
- /v2/enterprise/noise/quick/{ip}
- /v2/enterprise/noise/multi/quick
TODO:
- Unit Tests
- update not-responding endpoints
- add data types for endpoints