events_view_ble.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // +build !windows
  2. package events_stream
  3. import (
  4. "fmt"
  5. "io"
  6. "github.com/bettercap/bettercap/network"
  7. "github.com/bettercap/bettercap/session"
  8. "github.com/evilsocket/islazy/tui"
  9. )
  10. func (mod *EventsStream) viewBLEEvent(output io.Writer, e session.Event) {
  11. if e.Tag == "ble.device.new" {
  12. dev := e.Data.(*network.BLEDevice)
  13. name := dev.Device.Name()
  14. if name != "" {
  15. name = " " + tui.Bold(name)
  16. }
  17. vend := dev.Vendor
  18. if vend != "" {
  19. vend = fmt.Sprintf(" (%s)", tui.Yellow(vend))
  20. }
  21. fmt.Fprintf(output, "[%s] [%s] new BLE device%s detected as %s%s %s.\n",
  22. e.Time.Format(mod.timeFormat),
  23. tui.Green(e.Tag),
  24. name,
  25. dev.Device.ID(),
  26. vend,
  27. tui.Dim(fmt.Sprintf("%d dBm", dev.RSSI)))
  28. } else if e.Tag == "ble.device.lost" {
  29. dev := e.Data.(*network.BLEDevice)
  30. name := dev.Device.Name()
  31. if name != "" {
  32. name = " " + tui.Bold(name)
  33. }
  34. vend := dev.Vendor
  35. if vend != "" {
  36. vend = fmt.Sprintf(" (%s)", tui.Yellow(vend))
  37. }
  38. fmt.Fprintf(output, "[%s] [%s] BLE device%s %s%s lost.\n",
  39. e.Time.Format(mod.timeFormat),
  40. tui.Green(e.Tag),
  41. name,
  42. dev.Device.ID(),
  43. vend)
  44. }
  45. }