summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHandingkang <[email protected]>2023-10-17 21:11:26 +0800
committerHandingkang <[email protected]>2023-10-17 21:11:26 +0800
commitc6bb6ad97ebbb7224e3c79b59c499ad17ac03a30 (patch)
tree862347d1477f7e0dd7e2ae07fc1de80285ec3d41
parent77fda1b2c709ca7049519fd26555581f6e210ef2 (diff)
数据收集维度优化
-rw-r--r--plugin/v64dns/analyze/pb/analyzer.py20
-rw-r--r--plugin/v64dns/v64dns_policy.go8
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)