refact: got rid of go-bindata using a simple py script (fixes #51)

This commit is contained in:
evilsocket 2018-02-15 22:03:20 +01:00
commit fd28eadc60
6 changed files with 22980 additions and 273 deletions

36
network/make_oui.py Executable file
View file

@ -0,0 +1,36 @@
#!/usr/bin/python
import os
base = os.path.dirname(os.path.realpath(__file__))
with open(os.path.join(base, 'oui.go.template')) as fp:
template = fp.read()
with open(os.path.join(base, 'oui.dat')) as fp:
lines = [l.strip() for l in fp.readlines()]
m = {}
for line in lines:
if line == "" or line[0] == '#':
continue
parts = line.split(' ', 1)
if len(parts) != 2:
continue
prefix = parts[0].strip().lower()
vendor = parts[1].strip()
m[prefix] = vendor
code = "map[string]string {\n"
for prefix, vendor in m.iteritems():
code += " \"%s\": \"%s\",\n" % ( prefix, vendor )
code += "}\n"
code = template.replace('#MAP#', code)
with open(os.path.join(base, 'oui.go'), 'w+t') as fp:
fp.write(code)

File diff suppressed because it is too large Load diff

18
network/oui.go.template Normal file
View file

@ -0,0 +1,18 @@
package network
import (
"strings"
)
var oui = #MAP#
func OuiLookup(mac string) string {
octects := strings.Split(mac, ":")
if len(octects) > 3 {
prefix := octects[0] + octects[1] + octects[2]
if vendor, found := oui[prefix]; found == true {
return vendor
}
}
return ""
}

File diff suppressed because one or more lines are too long