mirror of
https://github.com/seriousm4x/UpSnap.git
synced 2026-03-31 06:24:06 -04:00
add mac vendor to scan table
This commit is contained in:
@@ -95,9 +95,10 @@ func HandlerScan(c echo.Context) error {
|
||||
}
|
||||
|
||||
type Device struct {
|
||||
Name string `json:"name"`
|
||||
IP string `json:"ip"`
|
||||
MAC string `json:"mac"`
|
||||
Name string `json:"name"`
|
||||
IP string `json:"ip"`
|
||||
MAC string `json:"mac"`
|
||||
MACVendor string `json:"mac_vendor"`
|
||||
}
|
||||
|
||||
// extract info from struct into data
|
||||
@@ -121,24 +122,27 @@ func HandlerScan(c echo.Context) error {
|
||||
dev.MAC = addr.Addr
|
||||
}
|
||||
if addr.Vendor != "" {
|
||||
dev.Name = addr.Vendor
|
||||
dev.MACVendor = addr.Vendor
|
||||
} else {
|
||||
dev.MACVendor = "Unknown"
|
||||
}
|
||||
}
|
||||
|
||||
if dev.IP == "" || dev.MAC == "" {
|
||||
continue
|
||||
}
|
||||
if dev.Name == "" {
|
||||
names, err := net.LookupAddr(dev.IP)
|
||||
if err != nil {
|
||||
dev.Name = "Unknown"
|
||||
} else {
|
||||
if len(names) > 0 {
|
||||
dev.Name = names[0]
|
||||
} else {
|
||||
dev.Name = "Unknown"
|
||||
}
|
||||
}
|
||||
|
||||
names, err := net.LookupAddr(dev.IP)
|
||||
if err != nil || len(names) == 0 {
|
||||
dev.Name = dev.MACVendor
|
||||
} else {
|
||||
dev.Name = strings.TrimSuffix(names[0], ".")
|
||||
}
|
||||
|
||||
if dev.Name == "" && dev.MACVendor == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
res.Devices = append(res.Devices, dev)
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,6 @@
|
||||
authorizedStore.set(true);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
authorizedStore.set(false);
|
||||
callout.level = 'danger';
|
||||
callout.title = err.status;
|
||||
|
||||
@@ -391,28 +391,32 @@
|
||||
{#if scannedDevices.devices}
|
||||
<div class="mt-3">
|
||||
<div class="row align-items-center my-1">
|
||||
<div class="col-md fw-bold">Name</div>
|
||||
<div class="col-md fw-bold">IP</div>
|
||||
<div class="col-md fw-bold">MAC</div>
|
||||
<div class="col-md fw-bold">Netmask</div>
|
||||
<div class="col-md fw-bold">Add</div>
|
||||
<div class="col-lg-3 fw-bold">Name</div>
|
||||
<div class="col-lg-1 fw-bold">IP</div>
|
||||
<div class="col-lg-2 fw-bold">MAC</div>
|
||||
<div class="col-lg-2 fw-bold">MAC Vendor</div>
|
||||
<div class="col-lg-2 fw-bold">Netmask</div>
|
||||
<div class="col-lg-2 fw-bold">Add</div>
|
||||
</div>
|
||||
{#each scannedDevices?.devices as device}
|
||||
<hr class="my-1" />
|
||||
<div class="row align-items-center my-1">
|
||||
<div class="col-md">
|
||||
<div class="col-lg-3">
|
||||
{device.name}
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="col-lg-1">
|
||||
{device.ip}
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="col-lg-2">
|
||||
{device.mac}
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="col-lg-2">
|
||||
{device.mac_vendor}
|
||||
</div>
|
||||
<div class="col-lg-2">
|
||||
{scannedDevices.netmask}
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="col-lg-2">
|
||||
<button
|
||||
class="btn btn-sm btn-secondary py-0"
|
||||
on:click={async (e) => {
|
||||
|
||||
Reference in New Issue
Block a user