fix: normalizing dumb windows mac addresses (I HATE YOU MS)

This commit is contained in:
evilsocket 2018-02-07 22:07:57 +01:00
commit 52d7ccf3cd
2 changed files with 16 additions and 11 deletions

View file

@ -4,7 +4,6 @@ import (
"encoding/binary"
"fmt"
"net"
"strings"
"time"
"github.com/evilsocket/bettercap-ng/core"
@ -36,16 +35,6 @@ func ip2int(ip net.IP) uint32 {
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 {
addr := net.ParseIP(ip)
mac = NormalizeMac(mac)

View file

@ -49,6 +49,22 @@ func getInterfaceName(iface net.Interface) string {
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) {
ifaces, err := net.Interfaces()
if err != nil {