helpers

package
v0.0.0-...-37a5d2c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2024 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CategoryMap = make(map[string]int) // Maps Intel Category string to corresponding RowID in DB
View Source
var PrivateIPBlocks []*net.IPNet
View Source
var ThreatDBFile = "threats.db"
View Source
var UseIntel = false

Functions

func BufferFromFile

func BufferFromFile(inputfile *os.File) (*bufio.Reader, error)

func BuildThreatDB

func BuildThreatDB(arguments map[string]any, logger zerolog.Logger) error

func CheckIPinTI

func CheckIPinTI(ip string, isDataCenter bool, db *sql.DB) (string, string, string, bool, error)

func CloseChannelWhenDone

func CloseChannelWhenDone(c chan []string, wg *lbtypes.WaitGroupCount)

func CombineOutputs

func CombineOutputs(arguments map[string]any, logger zerolog.Logger) error

func CopyFile

func CopyFile(src, dst string) error

func CreateOutput

func CreateOutput(outputFile string) (*os.File, error)

func DoesFileExist

func DoesFileExist(filename string) bool

func DownloadAuthenticatedFile

func DownloadAuthenticatedFile(logger zerolog.Logger, url string, filepath string, key string, user string, password string) (err error)

func DownloadFile

func DownloadFile(logger zerolog.Logger, url string, filepath string, key string) (err error)

func ExtractTarGz

func ExtractTarGz(gzipStream io.Reader, logger zerolog.Logger, dir string) error

func FileToSlice

func FileToSlice(filename string, logger zerolog.Logger) []string

func FindOrGetDBs

func FindOrGetDBs(arguments map[string]any, logger zerolog.Logger, apikey string) error

func FindTargetIndexInSlice

func FindTargetIndexInSlice(headers []string, targetCol string) int

func GetFeedIDIfExist

func GetFeedIDIfExist(feed_name string, db *sql.DB) int

func GetNewPW

func GetNewPW(logger zerolog.Logger, inputFile string, outputFile string) (*csv.Reader, *csv.Writer, *os.File, *os.File, error)

func Increment

func Increment(ip net.IP)

Increment increments the given net.IP by one bit. Incrementing the last IP in an IP space (IPv4, IPV6) is undefined.

func IngestFile

func IngestFile(inputFile string, categories string, feedid int, db *sql.DB, logger zerolog.Logger) error

func IngestIPNetLists

func IngestIPNetLists(url string, name string, file string, listtype string, category string, logger zerolog.Logger)

func InsertCategory

func InsertCategory(category string, db *sql.DB) error

func InsertFeed

func InsertFeed(feed_name string, feed_url string, db *sql.DB) (error, int)

func IsPrivateIP

func IsPrivateIP(ip net.IP, ipstring string) bool

func ListenOnWriteChannel

func ListenOnWriteChannel(c chan []string, w *csv.Writer, logger zerolog.Logger, outputF *os.File, bufferSize int, wait *lbtypes.WaitGroupCount)

func LookupIPRecords

func LookupIPRecords(ip string) []string

func OpenDBConnection

func OpenDBConnection(logger zerolog.Logger) (*sql.DB, error)

func OpenInput

func OpenInput(inputFile string) (*os.File, error)

func ProcessRecords

func ProcessRecords(logger zerolog.Logger, records [][]string, asnDB maxminddb.Reader, cityDB maxminddb.Reader, countryDB maxminddb.Reader, domainDB maxminddb.Reader, ipAddressColumn int, jsonColumn int, useRegex bool, useDNS bool, channel chan []string, waitGroup *lbtypes.WaitGroupCount, tracker *lbtypes.RunningJobs, tempArgs map[string]any, dateindex int)

func RegexFirstPublicIPFromString

func RegexFirstPublicIPFromString(input string) (string, bool)

func ScannerFromFile

func ScannerFromFile(reader io.Reader) (*bufio.Scanner, error)

func SetAPIUrls

func SetAPIUrls(arguments map[string]any, logger zerolog.Logger) (error, string)

func SetupLogger

func SetupLogger() zerolog.Logger

func SetupPrivateNetworks

func SetupPrivateNetworks() error

func SummarizeThreatDB

func SummarizeThreatDB(logger zerolog.Logger)

func SummarizeThreatFeeds

func SummarizeThreatFeeds(logger zerolog.Logger)

func UpdateDCList

func UpdateDCList(logger zerolog.Logger)

func UpdateVPNList

func UpdateVPNList(logger zerolog.Logger)

Types

type Feed

type Feed struct {
	Name string   `json:"name"`
	URL  string   `json:"url"`
	Type []string `json:"type"`
}

type Feeds

type Feeds struct {
	Feeds []Feed `json:"feeds"`
}

type IPNetGenerator

type IPNetGenerator struct {
	*net.IPNet
	// contains filtered or unexported fields
}

IPNetGenerator is a net.IPnet wrapper that you can iterate over

func NewFromIPNet

func NewFromIPNet(ipNet *net.IPNet) *IPNetGenerator

NewFromIPNet creates a new IPNetGenerator from a *net.IPNet

func NewIPNetGenerator

func NewIPNetGenerator(cidr string) (*IPNetGenerator, error)

NewIPNetGenerator creates a new IPNetGenerator from a CIDR string, or an error if the CIDR is invalid.

func (*IPNetGenerator) Next

func (g *IPNetGenerator) Next() net.IP

Next returns the next net.IP in the subnet

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL