mirror of
https://github.com/bettercap/bettercap
synced 2025-08-19 04:59:25 -07:00
fix: normalizing dumb windows mac addresses (I HATE YOU MS)
This commit is contained in:
parent
d532163fd6
commit
52d7ccf3cd
2 changed files with 16 additions and 11 deletions
|
@ -4,7 +4,6 @@ import (
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
"strings"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/evilsocket/bettercap-ng/core"
|
"github.com/evilsocket/bettercap-ng/core"
|
||||||
|
@ -36,16 +35,6 @@ func ip2int(ip net.IP) uint32 {
|
||||||
return binary.BigEndian.Uint32(ip)
|
return binary.BigEndian.Uint32(ip)
|
||||||
}
|
}
|
||||||
|
|
||||||
func NormalizeMac(mac string) string {
|
|
||||||
parts := strings.Split(mac, ":")
|
|
||||||
for i, p := range parts {
|
|
||||||
if len(p) < 2 {
|
|
||||||
parts[i] = "0" + p
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return strings.Join(parts, ":")
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewEndpointNoResolve(ip, mac, name string, bits uint32) *Endpoint {
|
func NewEndpointNoResolve(ip, mac, name string, bits uint32) *Endpoint {
|
||||||
addr := net.ParseIP(ip)
|
addr := net.ParseIP(ip)
|
||||||
mac = NormalizeMac(mac)
|
mac = NormalizeMac(mac)
|
||||||
|
|
16
net/net.go
16
net/net.go
|
@ -49,6 +49,22 @@ func getInterfaceName(iface net.Interface) string {
|
||||||
return iface.Name
|
return iface.Name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NormalizeMac(mac string) string {
|
||||||
|
var parts []string
|
||||||
|
if strings.ContainsRune(mac, '-') {
|
||||||
|
parts = strings.Split(mac, "-")
|
||||||
|
} else {
|
||||||
|
parts = strings.Split(mac, ":")
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, p := range parts {
|
||||||
|
if len(p) < 2 {
|
||||||
|
parts[i] = "0" + p
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return strings.Join(parts, ":")
|
||||||
|
}
|
||||||
|
|
||||||
func FindInterface(name string) (*Endpoint, error) {
|
func FindInterface(name string) (*Endpoint, error) {
|
||||||
ifaces, err := net.Interfaces()
|
ifaces, err := net.Interfaces()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue