mirror of
https://github.com/bettercap/bettercap
synced 2025-08-19 13:09:49 -07:00
new: arp.ban command to use arp spoofer in ban mode
This commit is contained in:
parent
5304436736
commit
f2f07959bc
1 changed files with 15 additions and 2 deletions
|
@ -17,6 +17,7 @@ type ArpSpoofer struct {
|
||||||
session.SessionModule
|
session.SessionModule
|
||||||
done chan bool
|
done chan bool
|
||||||
addresses []net.IP
|
addresses []net.IP
|
||||||
|
ban bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewArpSpoofer(s *session.Session) *ArpSpoofer {
|
func NewArpSpoofer(s *session.Session) *ArpSpoofer {
|
||||||
|
@ -24,6 +25,7 @@ func NewArpSpoofer(s *session.Session) *ArpSpoofer {
|
||||||
SessionModule: session.NewSessionModule("arp.spoof", s),
|
SessionModule: session.NewSessionModule("arp.spoof", s),
|
||||||
done: make(chan bool),
|
done: make(chan bool),
|
||||||
addresses: make([]net.IP, 0),
|
addresses: make([]net.IP, 0),
|
||||||
|
ban: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
p.AddParam(session.NewStringParameter("arp.spoof.targets", session.ParamSubnet, "", "IP addresses to spoof."))
|
p.AddParam(session.NewStringParameter("arp.spoof.targets", session.ParamSubnet, "", "IP addresses to spoof."))
|
||||||
|
@ -34,7 +36,14 @@ func NewArpSpoofer(s *session.Session) *ArpSpoofer {
|
||||||
return p.Start()
|
return p.Start()
|
||||||
}))
|
}))
|
||||||
|
|
||||||
p.AddHandler(session.NewModuleHandler("arp.spoof off", "",
|
p.AddHandler(session.NewModuleHandler("arp.ban on", "",
|
||||||
|
"Start ARP spoofer in ban mode, meaning the target(s) connectivity will not work.",
|
||||||
|
func(args []string) error {
|
||||||
|
p.ban = true
|
||||||
|
return p.Start()
|
||||||
|
}))
|
||||||
|
|
||||||
|
p.AddHandler(session.NewModuleHandler("arp.spoof/ban off", "arp\\.(spoof|ban) off",
|
||||||
"Stop ARP spoofer.",
|
"Stop ARP spoofer.",
|
||||||
func(args []string) error {
|
func(args []string) error {
|
||||||
return p.Stop()
|
return p.Stop()
|
||||||
|
@ -152,7 +161,10 @@ func (p *ArpSpoofer) Configure() error {
|
||||||
}
|
}
|
||||||
p.addresses = list.Expand()
|
p.addresses = list.Expand()
|
||||||
|
|
||||||
if p.Session.Firewall.IsForwardingEnabled() == false {
|
if p.ban == true {
|
||||||
|
log.Warning("Running in BAN mode, forwarding not enabled!")
|
||||||
|
p.Session.Firewall.EnableForwarding(false)
|
||||||
|
} else if p.Session.Firewall.IsForwardingEnabled() == false {
|
||||||
log.Info("Enabling forwarding.")
|
log.Info("Enabling forwarding.")
|
||||||
p.Session.Firewall.EnableForwarding(true)
|
p.Session.Firewall.EnableForwarding(true)
|
||||||
}
|
}
|
||||||
|
@ -197,6 +209,7 @@ func (p *ArpSpoofer) Stop() error {
|
||||||
<-p.done
|
<-p.done
|
||||||
|
|
||||||
p.unSpoof()
|
p.unSpoof()
|
||||||
|
p.ban = false
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue