Arp Strings

This commit is contained in:
aceberg 2024-09-01 21:53:19 +07:00
parent 01323c6c65
commit 795a46fd3c
3 changed files with 23 additions and 6 deletions

View file

@ -46,9 +46,9 @@ func scanStr(str string) string {
func parseOutput(text, iface string) []models.Host { func parseOutput(text, iface string) []models.Host {
var foundHosts = []models.Host{} var foundHosts = []models.Host{}
perString := strings.Split(text, "\n") p := strings.Split(text, "\n")
for _, host := range perString { for _, host := range p {
if host != "" { if host != "" {
var oneHost models.Host var oneHost models.Host
p := strings.Split(host, " ") p := strings.Split(host, " ")
@ -71,9 +71,9 @@ func Scan(ifaces, args string, strs []string) []models.Host {
var foundHosts = []models.Host{} var foundHosts = []models.Host{}
arpArgs = args arpArgs = args
perString := strings.Split(ifaces, " ") p := strings.Split(ifaces, " ")
for _, iface := range perString { for _, iface := range p {
slog.Debug("Scanning interface " + iface) slog.Debug("Scanning interface " + iface)
text = scanIface(iface) text = scanIface(iface)
slog.Debug("Found IPs: \n" + text) slog.Debug("Found IPs: \n" + text)
@ -85,8 +85,9 @@ func Scan(ifaces, args string, strs []string) []models.Host {
slog.Debug("Scanning string " + s) slog.Debug("Scanning string " + s)
text = scanStr(s) text = scanStr(s)
slog.Debug("Found IPs: \n" + text) slog.Debug("Found IPs: \n" + text)
p = strings.Split(s, " ")
foundHosts = append(foundHosts, parseOutput(text, "")...) foundHosts = append(foundHosts, parseOutput(text, p[len(p)-1])...)
} }
return foundHosts return foundHosts

View file

@ -65,8 +65,17 @@ func saveSettingsHandler(c *gin.Context) {
appConfig.HistInDB = false appConfig.HistInDB = false
} }
arpStrs := c.PostFormArray("arpstrs")
appConfig.ArpStrs = []string{}
for _, s := range arpStrs {
if s != "" {
appConfig.ArpStrs = append(appConfig.ArpStrs, s)
}
}
conf.Write(appConfig) conf.Write(appConfig)
slog.Debug("ARP_STRS", "", appConfig.ArpArgs)
slog.Info("Writing new config to " + appConfig.ConfPath) slog.Info("Writing new config to " + appConfig.ConfPath)
updateRoutines() // routines-upd.go updateRoutines() // routines-upd.go

View file

@ -1,5 +1,5 @@
{{ define "config.html" }} {{ define "config.html" }}
<script src="/fs/public/js/config.js"></script>
<body> <body>
<div class="container-lg"> <div class="container-lg">
<div class="row"> <div class="row">
@ -70,6 +70,13 @@
<td>Args for arp-scan</td> <td>Args for arp-scan</td>
<td><input name="arpargs" type="text" class="form-control" value="{{ .Config.ArpArgs }}"></td> <td><input name="arpargs" type="text" class="form-control" value="{{ .Config.ArpArgs }}"></td>
</tr> </tr>
<tr>
<td>Arp Strings</td>
<td>{{ range .Config.ArpStrs }}
<input name="arpstrs" type="text" class="form-control" value="{{ . }}">{{ end }}
<input name="arpstrs" type="text" class="form-control">
</td>
</tr>
<tr> <tr>
<td>Log level</td> <td>Log level</td>
<td><select name="log" class="form-select"> <td><select name="log" class="form-select">