diff --git a/modules/net_probe.go b/modules/net_probe.go index be0c17b6..f1d4401a 100644 --- a/modules/net_probe.go +++ b/modules/net_probe.go @@ -1,7 +1,6 @@ package modules import ( - "fmt" "net" "time" @@ -67,22 +66,7 @@ func (p *Prober) shouldProbe(ip net.IP) bool { } func (p *Prober) sendProbe(from net.IP, from_hw net.HardwareAddr, ip net.IP) { - name := fmt.Sprintf("%s:137", ip) - if addr, err := net.ResolveUDPAddr("udp", name); err != nil { - log.Error("Could not resolve %s.", name) - } else if con, err := net.DialUDP("udp", nil, addr); err != nil { - log.Error("Could not dial %s.", name) - } else { - // log.Debug("UDP connection to %s enstablished.", name) - defer con.Close() - wrote, _ := con.Write([]byte{0xde, 0xad, 0xbe, 0xef}) - - if wrote > 0 { - p.Session.Queue.Lock() - p.Session.Queue.Sent += uint64(wrote) - p.Session.Queue.Unlock() - } - } + p.sendProbeUDP(from, from_hw, ip) } func (p *Prober) Configure() error { diff --git a/modules/net_probe_udp.go b/modules/net_probe_udp.go new file mode 100644 index 00000000..98bb0923 --- /dev/null +++ b/modules/net_probe_udp.go @@ -0,0 +1,27 @@ +package modules + +import ( + "fmt" + "net" + + "github.com/evilsocket/bettercap-ng/log" +) + +func (p *Prober) sendProbeUDP(from net.IP, from_hw net.HardwareAddr, ip net.IP) { + name := fmt.Sprintf("%s:137", ip) + if addr, err := net.ResolveUDPAddr("udp", name); err != nil { + log.Error("Could not resolve %s.", name) + } else if con, err := net.DialUDP("udp", nil, addr); err != nil { + log.Error("Could not dial %s.", name) + } else { + // log.Debug("UDP connection to %s enstablished.", name) + defer con.Close() + wrote, _ := con.Write([]byte{0xde, 0xad, 0xbe, 0xef}) + + if wrote > 0 { + p.Session.Queue.Lock() + p.Session.Queue.Sent += uint64(wrote) + p.Session.Queue.Unlock() + } + } +}