making way for Manufac data, added notes about logging clean up
This commit is contained in:
parent
e5c5674f6b
commit
9e9d8982a7
@ -7,6 +7,10 @@ package eros
|
|||||||
// Raw Advertisement Packet (Advertisement)
|
// Raw Advertisement Packet (Advertisement)
|
||||||
// Services UUIDs (Services)
|
// Services UUIDs (Services)
|
||||||
|
|
||||||
|
// TODO:
|
||||||
|
// Output to report
|
||||||
|
//
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"time"
|
"time"
|
||||||
@ -28,10 +32,11 @@ type Characteristic struct {
|
|||||||
|
|
||||||
// Device will hold details about the discoverd device
|
// Device will hold details about the discoverd device
|
||||||
type Device struct {
|
type Device struct {
|
||||||
Name string
|
Name string
|
||||||
MAC string
|
MAC string
|
||||||
RSSIlast int16
|
Manufacturer string
|
||||||
RSSIhist map[time.Time]int16
|
RSSIlast int16
|
||||||
|
RSSIhist map[time.Time]int16
|
||||||
|
|
||||||
// Services - see Service struct
|
// Services - see Service struct
|
||||||
Services []Service
|
Services []Service
|
||||||
@ -56,7 +61,7 @@ var deviceDb *bitcask.Bitcask
|
|||||||
// attackDb will hold details about exploits to be used against BLE devices
|
// attackDb will hold details about exploits to be used against BLE devices
|
||||||
var attackDb *bitcask.Bitcask
|
var attackDb *bitcask.Bitcask
|
||||||
|
|
||||||
// serviceDb will hold definitions of various bluetook services and will ultimately be updated via an HTTP repository
|
// serviceDb will hold definitions of various bluetook services and will ultimately be updated via an HTTP repository
|
||||||
var serviceDb *bitcask.Bitcask
|
var serviceDb *bitcask.Bitcask
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
|
@ -33,6 +33,7 @@ type Meta struct {
|
|||||||
// BLEScans map[int]*BLEScan
|
// BLEScans map[int]*BLEScan
|
||||||
// LoraScans map[int]*LoraScan
|
// LoraScans map[int]*LoraScan
|
||||||
// ZigScans map[int]*ZigScan
|
// ZigScans map[int]*ZigScan
|
||||||
|
// WiFiScans map[int]*WiFiScan
|
||||||
}
|
}
|
||||||
|
|
||||||
type Scan struct {
|
type Scan struct {
|
||||||
@ -74,18 +75,24 @@ func (m *Meta) NewScan() *Scan {
|
|||||||
return scan
|
return scan
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Scan) NewDevice(name string, addr string, rssi int16) *eros.Device {
|
func (s *Scan) NewDevice(name string, addr string, manuf string, rssi int16) *eros.Device {
|
||||||
newid := len(s.Devices) - 1
|
newid := len(s.Devices) - 1
|
||||||
s.Devices[newid] = &eros.Device{
|
s.Devices[newid] = &eros.Device{
|
||||||
Name: name,
|
Name: name,
|
||||||
MAC: addr,
|
MAC: addr,
|
||||||
RSSIlast: rssi,
|
Manufacturer: manuf,
|
||||||
|
RSSIlast: rssi,
|
||||||
}
|
}
|
||||||
|
|
||||||
s.Count = len(s.Devices)
|
s.Count = len(s.Devices)
|
||||||
return s.Devices[newid]
|
return s.Devices[newid]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ManfCheck(bluetooth.UUID) string {
|
||||||
|
|
||||||
|
return "Place Holder"
|
||||||
|
}
|
||||||
|
|
||||||
func (s *Scan) Start() error {
|
func (s *Scan) Start() error {
|
||||||
s.Started = time.Now()
|
s.Started = time.Now()
|
||||||
|
|
||||||
@ -118,15 +125,21 @@ func (s *Scan) Start() error {
|
|||||||
payload := result.AdvertisementPayload
|
payload := result.AdvertisementPayload
|
||||||
addr := result.Address.String()
|
addr := result.Address.String()
|
||||||
lname := result.LocalName()
|
lname := result.LocalName()
|
||||||
|
manuf := "ManuF Place Holder"
|
||||||
//adbytes := payload.Bytes()
|
//adbytes := payload.Bytes()
|
||||||
uuids := payload.ServiceUUIDOut()
|
uuids := payload.ServiceUUIDOut()
|
||||||
rssi := result.RSSI
|
rssi := result.RSSI
|
||||||
|
|
||||||
var sublog zerolog.Logger
|
var sublog zerolog.Logger
|
||||||
|
|
||||||
|
//Services level logging
|
||||||
|
// TODO:
|
||||||
|
// Fix Loggin output here -- Prob shouldnt output this much info
|
||||||
|
// for each service discovered
|
||||||
|
// only each device
|
||||||
sublog = log.With().Int("Scan_ID", s.ID).
|
sublog = log.With().Int("Scan_ID", s.ID).
|
||||||
Str("LocalName", lname).Str("MAC", addr).
|
Str("LocalName", lname).Str("MAC", addr).
|
||||||
Int16("RSSI", rssi).Logger()
|
Str("ManuF", manuf).Int16("RSSI", rssi).Logger()
|
||||||
|
|
||||||
//could add -t option to enable this feature for active tracking
|
//could add -t option to enable this feature for active tracking
|
||||||
// Skipping duplicate results
|
// Skipping duplicate results
|
||||||
@ -141,7 +154,7 @@ func (s *Scan) Start() error {
|
|||||||
// Upon finding new and valid info we update the time for last activity
|
// Upon finding new and valid info we update the time for last activity
|
||||||
s.Activity = time.Now()
|
s.Activity = time.Now()
|
||||||
|
|
||||||
dev := s.NewDevice(lname, addr, rssi)
|
dev := s.NewDevice(lname, addr, manuf, rssi)
|
||||||
|
|
||||||
AdvServBuf := make([]byte, 255)
|
AdvServBuf := make([]byte, 255)
|
||||||
|
|
||||||
@ -180,7 +193,7 @@ func (s *Scan) Start() error {
|
|||||||
Int("Service_Count", len(fromEros.Services)).
|
Int("Service_Count", len(fromEros.Services)).
|
||||||
Msg("EROS_RECALL")
|
Msg("EROS_RECALL")
|
||||||
|
|
||||||
if projVars.AttackMode == true && projVars.TrackingMode == false /*changed to false for debug*/ {
|
if projVars.AttackMode == true && projVars.TrackingMode == false /*changed attackmode to false for debug*/ {
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
//var PreTargetHandling type
|
//var PreTargetHandling type
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user