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) {
|
func (s *DHCP6Spoofer) onPacket(pkt gopacket.Packet) {
|
||||||
var dhcp dhcp6.Packet
|
var dhcp dhcp6.Packet
|
||||||
var err error
|
var err error
|
||||||
|
@ -372,19 +382,13 @@ func (s *DHCP6Spoofer) onPacket(pkt gopacket.Packet) {
|
||||||
s.dhcpAdvertise(pkt, dhcp, eth.SrcMAC)
|
s.dhcpAdvertise(pkt, dhcp, eth.SrcMAC)
|
||||||
|
|
||||||
case dhcp6.MessageTypeRequest:
|
case dhcp6.MessageTypeRequest:
|
||||||
if raw, found := dhcp.Options[dhcp6.OptionServerID]; found == true && len(raw) >= 1 {
|
if s.duidMatches(dhcp) {
|
||||||
rawServerID := raw[0]
|
s.dhcpReply("request", pkt, dhcp, eth.SrcMAC)
|
||||||
if bytes.Compare(rawServerID, s.DUIDRaw) == 0 {
|
|
||||||
s.dhcpReply("request", pkt, dhcp, eth.SrcMAC)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
case dhcp6.MessageTypeRenew:
|
case dhcp6.MessageTypeRenew:
|
||||||
if raw, found := dhcp.Options[dhcp6.OptionServerID]; found == true && len(raw) >= 1 {
|
if s.duidMatches(dhcp) {
|
||||||
rawServerID := raw[0]
|
s.dhcpReply("renew", pkt, dhcp, eth.SrcMAC)
|
||||||
if bytes.Compare(rawServerID, s.DUIDRaw) == 0 {
|
|
||||||
s.dhcpReply("renew", pkt, dhcp, eth.SrcMAC)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue