new: centralized pcap capture configuration management

This commit is contained in:
Simone Margaritelli 2021-08-21 14:21:36 +02:00
commit 59dce4ced6
8 changed files with 118 additions and 62 deletions

View file

@ -7,6 +7,7 @@ import (
"sync/atomic"
"time"
"github.com/bettercap/bettercap/network"
"github.com/bettercap/bettercap/packets"
"github.com/bettercap/bettercap/session"
@ -115,7 +116,7 @@ func (mod *SynScanner) Configure() (err error) {
return session.ErrAlreadyStarted(mod.Name())
}
if mod.handle == nil {
if mod.handle, err = pcap.OpenLive(mod.Session.Interface.Name(), 65536, true, pcap.BlockForever); err != nil {
if mod.handle, err = network.Capture(mod.Session.Interface.Name()); err != nil {
return err
} else if err = mod.handle.SetBPFFilter(fmt.Sprintf("tcp dst port %d", synSourcePort)); err != nil {
return err