new: net.probe now also sends multicast dns queries to force mDNS traffic and responses

This commit is contained in:
evilsocket 2018-09-06 17:41:51 +03:00
commit e993bf73f8
No known key found for this signature in database
GPG key ID: 1564D7F30393A456
3 changed files with 69 additions and 0 deletions

View file

@ -102,6 +102,8 @@ func (p *Prober) Start() error {
throttle := time.Duration(p.throttle) * time.Millisecond
for p.Running() {
p.sendProbeMDNS(from, from_hw)
for _, ip := range addresses {
if !p.Running() {
return

21
modules/net_probe_mdns.go Normal file
View file

@ -0,0 +1,21 @@
package modules
import (
"net"
"github.com/bettercap/bettercap/log"
"github.com/bettercap/bettercap/packets"
)
func (p *Prober) sendProbeMDNS(from net.IP, from_hw net.HardwareAddr) {
err, raw := packets.NewMDNSProbe(from, from_hw)
if err != nil {
log.Error("error while sending mdns probe: %v", err)
return
}
log.Debug("sending %d bytes of mdns probe query", len(raw))
if err := p.Session.Queue.Send(raw); err != nil {
log.Error("error sending mdns packet: %s", err)
}
}