1
0
mirror of https://github.com/bettercap/bettercap.git synced 2025-03-12 04:36:03 -07:00

fix: better way of printing events

This commit is contained in:
evilsocket 2018-01-30 12:03:24 +01:00
parent 8e8e529744
commit bcdfcca047
4 changed files with 47 additions and 22 deletions

@ -1,4 +1,4 @@
events.stream off
#events.stream off
events.clear
# set events.stream.filter net.sniff
# events.stream on

@ -1,10 +1,6 @@
package modules
import (
"fmt"
"strings"
"github.com/evilsocket/bettercap-ng/core"
"github.com/evilsocket/bettercap-ng/session"
)
@ -74,20 +70,6 @@ func (s *EventsStream) Configure() error {
return nil
}
func (s *EventsStream) dumpEvent(e session.Event) {
if s.filter == "" || strings.Contains(e.Tag, s.filter) {
tm := e.Time.Format("2006-01-02 15:04:05")
if e.Tag == "sys.log" {
fmt.Printf("[%s] [%s] (%s) %s\n", tm, core.Green(e.Tag), e.Label(), e.Data.(session.LogMessage).Message)
} else {
fmt.Printf("[%s] [%s] %+v\n", tm, core.Green(e.Tag), e)
}
s.Session.Refresh()
}
}
func (s *EventsStream) Start() error {
if s.Running() == true {
return session.ErrAlreadyStarted
@ -102,7 +84,7 @@ func (s *EventsStream) Start() error {
var e session.Event
select {
case e = <-s.Session.Events.NewEvents:
s.dumpEvent(e)
s.view(e)
break
case <-s.quit:
@ -116,7 +98,7 @@ func (s *EventsStream) Start() error {
func (s *EventsStream) Show() error {
for _, e := range s.Session.Events.Sorted() {
s.dumpEvent(e)
s.view(e)
}
return nil

43
modules/events_view.go Normal file

@ -0,0 +1,43 @@
package modules
import (
"fmt"
"strings"
"github.com/evilsocket/bettercap-ng/core"
"github.com/evilsocket/bettercap-ng/session"
)
const eventTimeFormat = "2006-01-02 15:04:05"
func (s EventsStream) viewLogEvent(e session.Event) {
fmt.Printf("[%s] [%s] (%s) %s\n",
e.Time.Format(eventTimeFormat),
core.Green(e.Tag),
e.Label(),
e.Data.(session.LogMessage).Message)
}
func (s EventsStream) viewSnifferEvent(e session.Event) {
se := e.Data.(SnifferEvent)
fmt.Printf("[%s] [%s] %s > %s | %v\n",
e.Time.Format(eventTimeFormat),
core.Green(e.Tag),
se.Source,
se.Destination,
se.Data)
}
func (s *EventsStream) view(e session.Event) {
if s.filter == "" || strings.Contains(e.Tag, s.filter) {
if e.Tag == "sys.log" {
s.viewLogEvent(e)
} else if strings.HasPrefix(e.Tag, "net.sniff.") {
s.viewSnifferEvent(e)
} else {
fmt.Printf("[%s] [%s] %v\n", e.Time.Format(eventTimeFormat), core.Green(e.Tag), e)
}
s.Session.Refresh()
}
}

@ -31,6 +31,6 @@ func NewSnifferEvent(t time.Time, proto string, src string, dst string, data Sni
func (e SnifferEvent) Push() {
fmt.Printf("%s\n", e.Message)
session.I.Events.Add("net.sniff.leak."+e.Protocol, e.Data)
session.I.Events.Add("net.sniff.leak."+e.Protocol, e)
session.I.Refresh()
}