Skip to content

Commit 6bf5c3a

Browse files
committed
update: chan with single record
1 parent cbad961 commit 6bf5c3a

File tree

6 files changed

+29
-21
lines changed

6 files changed

+29
-21
lines changed

cmd/all/all.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ func RunMultiThread(net, pod *net.IPNet, count int) (finalRecord define.Records)
6969
scan2 := mutli.ScanNeighborSvc(pod, count)
7070
select {
7171
case r := <-scan:
72-
finalRecord = append(finalRecord, r...)
72+
finalRecord = append(finalRecord, r)
7373
case r := <-scan2:
74-
finalRecord = append(finalRecord, r...)
74+
finalRecord = append(finalRecord, r)
7575
}
7676
return
7777
}

cmd/neighbor/neighbor.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ func RunPod(ns []string, net *net.IPNet, num int) (finalRecord define.Records) {
9393
func RunSvc(net *net.IPNet, num int) (finalRecord define.Records) {
9494
scan := mutli.ScanNeighborSvc(net, num)
9595
for r := range scan {
96-
finalRecord = append(finalRecord, r...)
96+
finalRecord = append(finalRecord, r)
9797
}
9898
if len(finalRecord) == 0 {
9999
log.Warn("ScanSubnet Found Nothing")

pkg/mutli/executor.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"github.com/esonhugh/k8spider/define"
77
)
88

9-
func ScanAll(subnet *net.IPNet, num int) (result <-chan []define.Record) {
9+
func ScanAll(subnet *net.IPNet, num int) (result <-chan define.Record) {
1010
subs := NewSubnetScanner(num)
1111
result = ScanServiceWithChan(subs.ScanSubnet(subnet))
1212
return result
@@ -20,7 +20,7 @@ func ScanNeighbor(namespace []string, subnet *net.IPNet, num int) <-chan []defin
2020
return subs.ScanMultiNeighbor(namespace, subnet)
2121
}
2222

23-
func ScanNeighborSvc(subnet *net.IPNet, num int) <-chan []define.Record {
23+
func ScanNeighborSvc(subnet *net.IPNet, num int) <-chan define.Record {
2424
subs := NewNeighborScanner(num)
2525
return ScanServiceWithChan(subs.ScanSvcNeighbor(subnet))
2626
}

pkg/mutli/neigbhor.go

+6-5
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,12 @@ func (s *NeighborScanner) scan(ns string, subnet *net.IPNet, to chan []define.Re
8686
}
8787
}
8888

89-
func (s *NeighborScanner) ScanSvcNeighbor(subnet *net.IPNet) <-chan []define.Record {
89+
func (s *NeighborScanner) ScanSvcNeighbor(subnet *net.IPNet) <-chan define.Record {
9090
if subnet == nil {
9191
log.Debugf("subnet is nil")
9292
return nil
9393
}
94-
out := make(chan []define.Record, 100)
94+
out := make(chan define.Record, 100)
9595
go func() {
9696
// if subnets, err := pkg.SubnetShift(subnet, 4); err != nil {
9797
if subnets, err := pkg.SubnetInto(subnet, s.count); err != nil {
@@ -117,17 +117,18 @@ func (s *NeighborScanner) ScanSvcNeighbor(subnet *net.IPNet) <-chan []define.Rec
117117
return out
118118
}
119119

120-
func (s *NeighborScanner) scanSvc(subnet *net.IPNet, to chan []define.Record) {
120+
func (s *NeighborScanner) scanSvc(subnet *net.IPNet, to chan define.Record) {
121121
for _, ip := range pkg.ParseIPNetToIPs(subnet) {
122122
hostList := pkg.PTRRecord(ip)
123123
for _, host := range hostList {
124124
if post.IsPodServiceFormat(host) {
125125
newRecord := define.Record{
126126
Ip: ip,
127-
SvcDomain: post.GetPodServiceRawService(host),
127+
SvcDomain: host,
128128
}
129-
to <- []define.Record{newRecord}
129+
to <- newRecord
130130
} else {
131+
log.Tracef("Pod Service: %v(%v) is not a pod service", host, ip.String())
131132
continue
132133
}
133134
}

pkg/mutli/subnet.go

+15-8
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package mutli
22

33
import (
4+
"net"
5+
"sync"
6+
47
"github.com/esonhugh/k8spider/define"
58
"github.com/esonhugh/k8spider/pkg"
6-
"github.com/esonhugh/k8spider/pkg/scanner"
79
log "github.com/sirupsen/logrus"
8-
"net"
9-
"sync"
1010
)
1111

1212
type SubnetScanner struct {
@@ -21,12 +21,12 @@ func NewSubnetScanner(threading int) *SubnetScanner {
2121
}
2222
}
2323

24-
func (s *SubnetScanner) ScanSubnet(subnet *net.IPNet) <-chan []define.Record {
24+
func (s *SubnetScanner) ScanSubnet(subnet *net.IPNet) <-chan define.Record {
2525
if subnet == nil {
2626
log.Debugf("subnet is nil")
2727
return nil
2828
}
29-
out := make(chan []define.Record, 100)
29+
out := make(chan define.Record, 100)
3030
go func() {
3131
// if subnets, err := pkg.SubnetShift(subnet, 4); err != nil {
3232
if subnets, err := pkg.SubnetInto(subnet, s.count); err != nil {
@@ -52,9 +52,16 @@ func (s *SubnetScanner) ScanSubnet(subnet *net.IPNet) <-chan []define.Record {
5252
return out
5353
}
5454

55-
func (s *SubnetScanner) scan(subnet *net.IPNet, to chan []define.Record) {
56-
// to <- scanner.ScanSubnet(subnet)
55+
func (s *SubnetScanner) scan(subnet *net.IPNet, to chan define.Record) {
5756
for _, ip := range pkg.ParseIPNetToIPs(subnet) {
58-
to <- scanner.ScanSingleIP(ip)
57+
ptr := pkg.PTRRecord(ip)
58+
if len(ptr) > 0 {
59+
for _, domain := range ptr {
60+
log.Infof("PTRrecord %v --> %v", subnet, domain)
61+
r := define.Record{Ip: ip, SvcDomain: domain}
62+
to <- r
63+
}
64+
}
5965
}
66+
return
6067
}

pkg/mutli/svc.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import (
55
"github.com/esonhugh/k8spider/pkg/scanner"
66
)
77

8-
func ScanServiceWithChan(rev <-chan []define.Record) <-chan []define.Record {
9-
out := make(chan []define.Record, 100)
8+
func ScanServiceWithChan(rev <-chan define.Record) <-chan define.Record {
9+
out := make(chan define.Record, 100)
1010
go func() {
1111
for records := range rev {
12-
out <- scanner.ScanSvcForPorts(records)
12+
out <- scanner.ScanSingleSvcForPorts(records)
1313
}
1414
close(out)
1515
}()

0 commit comments

Comments
 (0)