diff options
| author | Handingkang <[email protected]> | 2023-10-17 21:11:26 +0800 |
|---|---|---|
| committer | Handingkang <[email protected]> | 2023-10-17 21:11:26 +0800 |
| commit | c6bb6ad97ebbb7224e3c79b59c499ad17ac03a30 (patch) | |
| tree | 862347d1477f7e0dd7e2ae07fc1de80285ec3d41 | |
| parent | 77fda1b2c709ca7049519fd26555581f6e210ef2 (diff) | |
数据收集维度优化
| -rw-r--r-- | plugin/v64dns/analyze/pb/analyzer.py | 20 | ||||
| -rw-r--r-- | plugin/v64dns/v64dns_policy.go | 8 |
2 files changed, 18 insertions, 10 deletions
diff --git a/plugin/v64dns/analyze/pb/analyzer.py b/plugin/v64dns/analyze/pb/analyzer.py index 8a48502..ea8bede 100644 --- a/plugin/v64dns/analyze/pb/analyzer.py +++ b/plugin/v64dns/analyze/pb/analyzer.py @@ -7,7 +7,7 @@ from concurrent import futures import grpc import pytz from neomodel import db, StringProperty, DateTimeFormatProperty, RelationshipTo, StructuredRel, IntegerProperty, \ - StructuredNode, config + StructuredNode, config, BooleanProperty import analyze_pb2 import analyze_pb2_grpc @@ -106,6 +106,7 @@ class NodeResolver53(StructuredNode): FTIME = DateTimeFormatProperty(format="%Y-%m-%d %H:%M:%S") LTIME = DateTimeFormatProperty(default_now=True, format="%Y-%m-%d %H:%M:%S") W = IntegerProperty() + ISPUBLIC = BooleanProperty(default=False) LINK = RelationshipTo("NodeResolver53", "IP_LINK", model=RelResolver53) @@ -124,18 +125,19 @@ class neo4j_connector: # self.relatmatcher = RelationshipMatcher(self.graph) def work_with_neoj_53(self, data): - for d in data: - print(d) - n = node(d) + for d in range(len(data) - 1): + n = node(data[d]) # 查询是否存在节点 nd, exist = self.checknode_neo4j(n.ip) - print(n.AS) # 不存在则新建 if not exist: - NodeResolver53(AS=n.AS, COU=n.cou, - CCODE=n.couCode, LAT=n.lat, LNG=n.lng, - ISP=n.isp, IPType=aul.IP46(n.ip), PROV=n.prov, FTIME=n.FindTime, - LTIME=n.FindTime, IP=n.ip, W=1).save() + nd = NodeResolver53(AS=n.AS, COU=n.cou, + CCODE=n.couCode, LAT=n.lat, LNG=n.lng, + ISP=n.isp, IPType=aul.IP46(n.ip), PROV=n.prov, FTIME=n.FindTime, + LTIME=n.FindTime, IP=n.ip, W=1) + if data[2] == "0" and d == 0: + nd.ISPUBLIC = True + nd.save() # 存在则只修改时间 else: # nd.LTIME = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) diff --git a/plugin/v64dns/v64dns_policy.go b/plugin/v64dns/v64dns_policy.go index d95d8bb..877f2df 100644 --- a/plugin/v64dns/v64dns_policy.go +++ b/plugin/v64dns/v64dns_policy.go @@ -122,7 +122,13 @@ func (v V64dns) ResponseCNAME(msg *dns.Msg, state request.Request) *dns.Msg { iaddr = net.ParseIP(iaddr).String() oaddr := state.IP() // 调用Python脚本 - go v.a.Go2py([]string{iaddr, oaddr}) + step, _ := strconv.Atoi(string(rune(state.QName()[1]))) + if step == 1 { + go v.a.Go2py([]string{iaddr, oaddr, "0"}) + } else { + go v.a.Go2py([]string{iaddr, oaddr, "1"}) + } + } answer := new(dns.CNAME) |
