mirror of
https://github.com/bettercap/bettercap
synced 2025-07-15 09:33:40 -07:00
balls
This commit is contained in:
parent
78d654552e
commit
b828a175e1
1 changed files with 14 additions and 10 deletions
|
@ -357,6 +357,16 @@ func (s *DHCP6Spoofer) dhcpReply(toType string, pkt gopacket.Packet, req dhcp6.P
|
|||
}
|
||||
}
|
||||
|
||||
func (s *DHCP6Spoofer) duidMatches(dhcp dhcp6.Packet) bool {
|
||||
if raw, found := dhcp.Options[dhcp6.OptionServerID]; found == true && len(raw) >= 1 {
|
||||
rawServerID := raw[0]
|
||||
if bytes.Compare(rawServerID, s.DUIDRaw) == 0 {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (s *DHCP6Spoofer) onPacket(pkt gopacket.Packet) {
|
||||
var dhcp dhcp6.Packet
|
||||
var err error
|
||||
|
@ -372,19 +382,13 @@ func (s *DHCP6Spoofer) onPacket(pkt gopacket.Packet) {
|
|||
s.dhcpAdvertise(pkt, dhcp, eth.SrcMAC)
|
||||
|
||||
case dhcp6.MessageTypeRequest:
|
||||
if raw, found := dhcp.Options[dhcp6.OptionServerID]; found == true && len(raw) >= 1 {
|
||||
rawServerID := raw[0]
|
||||
if bytes.Compare(rawServerID, s.DUIDRaw) == 0 {
|
||||
s.dhcpReply("request", pkt, dhcp, eth.SrcMAC)
|
||||
}
|
||||
if s.duidMatches(dhcp) {
|
||||
s.dhcpReply("request", pkt, dhcp, eth.SrcMAC)
|
||||
}
|
||||
|
||||
case dhcp6.MessageTypeRenew:
|
||||
if raw, found := dhcp.Options[dhcp6.OptionServerID]; found == true && len(raw) >= 1 {
|
||||
rawServerID := raw[0]
|
||||
if bytes.Compare(rawServerID, s.DUIDRaw) == 0 {
|
||||
s.dhcpReply("renew", pkt, dhcp, eth.SrcMAC)
|
||||
}
|
||||
if s.duidMatches(dhcp) {
|
||||
s.dhcpReply("renew", pkt, dhcp, eth.SrcMAC)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue