SYMBOL INDEX (48 symbols across 8 files) FILE: gscan.go type ScanConfig (line 19) | type ScanConfig struct type GScanner (line 33) | type GScanner struct method loadConfig (line 57) | func (gs *GScanner) loadConfig(cfgFile string) error { method getScanConfig (line 209) | func (gcfg *GScanner) getScanConfig(scanMode string) (*ScanConfig, tes... function init (line 51) | func init() { function main (line 114) | func main() { FILE: iprange.go function splitIP (line 16) | func splitIP(strline string) []ipaddr.Prefix { function parseIPRangeFile (line 98) | func parseIPRangeFile(file string) (chan string, error) { function dedup (line 187) | func dedup(s []ipaddr.Prefix) []ipaddr.Prefix { FILE: ping.go function testPing (line 18) | func testPing(ctx context.Context, ip string, config *ScanConfig, record... constant icmpv4EchoRequest (line 31) | icmpv4EchoRequest = 8 constant icmpv4EchoReply (line 32) | icmpv4EchoReply = 0 constant icmpv6EchoRequest (line 33) | icmpv6EchoRequest = 128 constant icmpv6EchoReply (line 34) | icmpv6EchoReply = 129 type icmpMessage (line 39) | type icmpMessage struct method Marshal (line 53) | func (m *icmpMessage) Marshal() ([]byte, error) { type icmpMessageBody (line 46) | type icmpMessageBody interface function parseICMPMessage (line 84) | func parseICMPMessage(b []byte) (*icmpMessage, error) { type icmpEcho (line 104) | type icmpEcho struct method Len (line 110) | func (p *icmpEcho) Len() int { method Marshal (line 119) | func (p *icmpEcho) Marshal() ([]byte, error) { function parseICMPEcho (line 128) | func parseICMPEcho(b []byte) (*icmpEcho, error) { function Ping (line 138) | func Ping(address string, timeout time.Duration) error { function Pinger (line 142) | func Pinger(address string, timeout time.Duration) error { function ipv4Payload (line 198) | func ipv4Payload(b []byte) []byte { FILE: quic.go function testQuic (line 20) | func testQuic(ctx context.Context, ip string, config *ScanConfig, record... FILE: scan.go type ScanRecord (line 13) | type ScanRecord struct type ScanRecords (line 18) | type ScanRecords struct method AddRecord (line 24) | func (srs *ScanRecords) AddRecord(rec *ScanRecord) { method IncScanCounter (line 31) | func (srs *ScanRecords) IncScanCounter() { method RecordSize (line 38) | func (srs *ScanRecords) RecordSize() int { method ScanCount (line 44) | func (srs *ScanRecords) ScanCount() int32 { method Records (line 48) | func (srs *ScanRecords) Records() []*ScanRecord { type testIPFunc (line 54) | type testIPFunc function testip (line 56) | func testip(ctx context.Context, testFunc testIPFunc, ip string, config ... method testIPWorker (line 68) | func (gs *GScanner) testIPWorker(ctx context.Context, ipQueue chan strin... method StartScan (line 100) | func (gs *GScanner) StartScan(ipQueue chan string) { FILE: sni.go function testSni (line 12) | func testSni(ctx context.Context, ip string, config *ScanConfig, record ... FILE: tls.go function testTls (line 17) | func testTls(ctx context.Context, ip string, config *ScanConfig, record ... FILE: util.go function readJsonConfig (line 17) | func readJsonConfig(filename string, config interface{}) error { function readJson (line 62) | func readJson(r io.Reader) ([]byte, error) { function mergeMap (line 82) | func mergeMap(m1 map[string]interface{}, m2 map[string]interface{}) error { function randInt (line 102) | func randInt(l, u int) int { function randomChoice (line 106) | func randomChoice[T any](a []T) T { function randomHost (line 113) | func randomHost() string { function or (line 126) | func or[T comparable](vals ...T) T { function pathExist (line 137) | func pathExist(name string) bool { function ops (line 142) | func ops(count, threads int, op func(i, thread int)) {