mirror of
https://github.com/bettercap/bettercap
synced 2025-08-20 13:33:21 -07:00
refact: got rid of go-bindata using a simple py script (fixes #51)
This commit is contained in:
parent
48d27f274a
commit
fd28eadc60
6 changed files with 22980 additions and 273 deletions
36
network/make_oui.py
Executable file
36
network/make_oui.py
Executable 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)
|
22957
network/oui.go
22957
network/oui.go
File diff suppressed because it is too large
Load diff
18
network/oui.go.template
Normal file
18
network/oui.go.template
Normal 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
Loading…
Add table
Add a link
Reference in a new issue