mirror of
https://github.com/bettercap/bettercap
synced 2025-08-14 10:46:57 -07:00
new: events.stream.filter parameter.
This commit is contained in:
parent
10b05dd0eb
commit
72b80346ad
1 changed files with 23 additions and 7 deletions
|
@ -2,6 +2,7 @@ package modules
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/evilsocket/bettercap-ng/core"
|
||||
"github.com/evilsocket/bettercap-ng/session"
|
||||
|
@ -18,6 +19,11 @@ func NewEventsStream(s *session.Session) *EventsStream {
|
|||
quit: make(chan bool),
|
||||
}
|
||||
|
||||
stream.AddParam(session.NewStringParameter("events.stream.filter",
|
||||
"",
|
||||
"",
|
||||
"If filled, filter events by this prefix type."))
|
||||
|
||||
stream.AddHandler(session.NewModuleHandler("events.stream on", "",
|
||||
"Start events stream.",
|
||||
func(args []string) error {
|
||||
|
@ -54,6 +60,14 @@ func (s EventsStream) Author() string {
|
|||
|
||||
func (s *EventsStream) Start() error {
|
||||
if s.Running() == false {
|
||||
filter := ""
|
||||
|
||||
if err, v := s.Param("events.stream.filter").Get(s.Session); err != nil {
|
||||
return err
|
||||
} else {
|
||||
filter = v.(string)
|
||||
}
|
||||
|
||||
s.SetRunning(true)
|
||||
|
||||
go func() {
|
||||
|
@ -61,15 +75,17 @@ func (s *EventsStream) Start() error {
|
|||
var e session.Event
|
||||
select {
|
||||
case e = <-s.Session.Events.NewEvents:
|
||||
tm := e.Time.Format("2006-01-02 15:04:05")
|
||||
if filter == "" || strings.Contains(e.Tag, filter) {
|
||||
tm := e.Time.Format("2006-01-02 15:04:05")
|
||||
|
||||
if e.Tag == "sys.log" {
|
||||
fmt.Printf("[%s] [%s] %s %v\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.Data)
|
||||
if e.Tag == "sys.log" {
|
||||
fmt.Printf("[%s] [%s] %s %v\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.Data)
|
||||
}
|
||||
|
||||
s.Session.Input.Refresh()
|
||||
}
|
||||
|
||||
s.Session.Input.Refresh()
|
||||
break
|
||||
|
||||
case <-s.quit:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue