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

fix: when net.sniff is sniffing a mDNS hostname, it'll update the endpoint field

This commit is contained in:
evilsocket 2019-04-04 10:01:49 +02:00
parent 126cb7febf
commit 1f37381fde
No known key found for this signature in database
GPG Key ID: 1564D7F30393A456
2 changed files with 11 additions and 0 deletions

@ -29,6 +29,8 @@ func NewSniffer(s *session.Session) *Sniffer {
Stats: nil,
}
mod.SessionModule.Requires("net.recon")
mod.AddParam(session.NewBoolParameter("net.sniff.verbose",
"false",
"If true, every captured and parsed packet will be sent to the events.stream for displaying, otherwise only the ones parsed at the application layer (sni, http, etc)."))

@ -4,6 +4,7 @@ import (
"strings"
"github.com/bettercap/bettercap/packets"
"github.com/bettercap/bettercap/session"
"github.com/google/gopacket"
"github.com/google/gopacket/layers"
@ -44,6 +45,14 @@ func mdnsParser(ip *layers.IPv4, pkt gopacket.Packet, udp *layers.UDP) bool {
}
for hostname, ips := range m {
for _, ip := range ips {
if endpoint := session.I.Lan.GetByIp(ip); endpoint != nil {
endpoint.OnMeta(map[string]string{
"mdns:hostname": hostname,
})
}
}
NewSnifferEvent(
pkt.Metadata().Timestamp,
"mdns",