This commit is contained in:
crusader 2018-06-13 20:22:23 +09:00
parent 163a6a92d2
commit 6b10353dd0
2 changed files with 33 additions and 13 deletions

18
Gopkg.lock generated
View File

@ -34,7 +34,7 @@
"protocol/json", "protocol/json",
"registry" "registry"
] ]
revision = "1092f7a7ae44ef2f907579af217f1a594e48959c" revision = "dcc3af07239b3f6fcbae3529bcb52c522b02053d"
[[projects]] [[projects]]
branch = "master" branch = "master"
@ -92,7 +92,7 @@
"time/scheduler/storage", "time/scheduler/storage",
"time/scheduler/task" "time/scheduler/task"
] ]
revision = "1966a985759721fd451171a78a0b8f4524afc644" revision = "4d4017d214d2a8fdde59d774254f421991fabe7e"
[[projects]] [[projects]]
branch = "master" branch = "master"
@ -102,15 +102,15 @@
"config/probe", "config/probe",
"core/annotation", "core/annotation",
"core/config", "core/config",
"core/constants",
"core/interfaces", "core/interfaces",
"core/util", "core/util",
"model/data", "model/data",
"model/discovery", "model/discovery",
"model/meta",
"model/sensorconfig", "model/sensorconfig",
"service/probe" "service/probe"
] ]
revision = "078a39712d33c131303cf2705cca185da18cc196" revision = "687985e7f2122d12e43a0111f13d6df9921c3d82"
[[projects]] [[projects]]
branch = "master" branch = "master"
@ -120,7 +120,7 @@
"client", "client",
"service" "service"
] ]
revision = "61644fd5e4218ec577aa2a9b61c1e5f12bda5fab" revision = "19dfca7aa5de04aceec13b8f81d05a40c7a25254"
[[projects]] [[projects]]
branch = "master" branch = "master"
@ -183,8 +183,8 @@
[[projects]] [[projects]]
name = "github.com/stretchr/testify" name = "github.com/stretchr/testify"
packages = ["assert"] packages = ["assert"]
revision = "12b6f73e6084dad08a7c6e575284b177ecafbc71" revision = "f35b8ab0b5a2cef36673838d662e249dd9c94686"
version = "v1.2.1" version = "v1.2.2"
[[projects]] [[projects]]
name = "github.com/valyala/fasthttp" name = "github.com/valyala/fasthttp"
@ -231,7 +231,7 @@
"poly1305", "poly1305",
"ssh" "ssh"
] ]
revision = "94e3fad7f1b4eed4ec147751ad6b4c4d33f00611" revision = "8ac0e0d97ce45cd83d1d7243c060cb8461dda5e9"
[[projects]] [[projects]]
name = "gopkg.in/yaml.v2" name = "gopkg.in/yaml.v2"
@ -242,6 +242,6 @@
[solve-meta] [solve-meta]
analyzer-name = "dep" analyzer-name = "dep"
analyzer-version = 1 analyzer-version = 1
inputs-digest = "4347c825e10ed37c42eb74f4e8e696611fbfffe2174e443b452c5bb0086d04fe" inputs-digest = "97021d754c9c62c90d33dc569fc8e4a6f66459dd3f8b220910bb3fb44f90a032"
solver-name = "gps-cdcl" solver-name = "gps-cdcl"
solver-version = 1 solver-version = 1

View File

@ -9,6 +9,7 @@ import (
cnsm "git.loafle.net/commons/service_matcher-go" cnsm "git.loafle.net/commons/service_matcher-go"
cuej "git.loafle.net/commons/util-go/encoding/json" cuej "git.loafle.net/commons/util-go/encoding/json"
ocmm "git.loafle.net/overflow/commons-go/model/meta"
ocmsc "git.loafle.net/overflow/commons-go/model/sensorconfig" ocmsc "git.loafle.net/overflow/commons-go/model/sensorconfig"
"git.loafle.net/overflow/crawler-go" "git.loafle.net/overflow/crawler-go"
) )
@ -25,19 +26,38 @@ func (s *SocketHeahthCrawler) SetMatcher(m cnsm.Matcher) {
func (s *SocketHeahthCrawler) getConnection(config *ocmsc.SensorConfig) (net.Conn, error) { func (s *SocketHeahthCrawler) getConnection(config *ocmsc.SensorConfig) (net.Conn, error) {
connection := config.Target.Connection connection := config.Target.Connection
metaIPType := connection.MetaIPType
ip := connection.IP ip := connection.IP
port := connection.Port port := connection.Port
portType := connection.PortType metaPortType := connection.MetaPortType
ssl := connection.SSL metaCryptoType := connection.MetaCryptoType
addr := fmt.Sprintf("%s:%s", ip, port) addr := fmt.Sprintf("%s:%s", ip, port)
conn, err := net.Dial(portType.String(), addr) network := ""
switch ocmm.ToMetaIPTypeEnum(metaIPType) {
case ocmm.MetaIPTypeEnumV6:
switch ocmm.ToMetaPortTypeEnum(metaPortType) {
case ocmm.MetaPortTypeEnumUDP:
network = "udp6"
default:
network = "tcp6"
}
default:
switch ocmm.ToMetaPortTypeEnum(metaPortType) {
case ocmm.MetaPortTypeEnumUDP:
network = "udp"
default:
network = "tcp"
}
}
conn, err := net.Dial(network, addr)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if ssl { if ocmm.ToMetaCryptoTypeEnum(metaCryptoType) == ocmm.MetaCryptoTypeEnumTLS {
cfg := &tls.Config{ cfg := &tls.Config{
InsecureSkipVerify: true, InsecureSkipVerify: true,
ServerName: ip, ServerName: ip,