What you don't see, is the DHCP name of the client and to which access point it is connected.
I wrote a script to display exact this information. What you will get is:
Code: Select all
MAC IP Client AP Signal TX Rate RX Rate Uptime Bytes Packets Interface
FF:FF:FF:11:3E:9C 192.168.12.251 Client01 AccessPoint01 -53 117Mbps 12Mbps 5d01:54:54 68431014,22847922 286257,200633 cap14
FF:FF:FF:11:76:9A 192.168.12.250 Client02 AccessPoint03 -75 16Mbps 12Mbps 1d10:54:53 68123014,54347922 286257,200633 cap12
Code: Select all
:global fill do={
# this function fills up a string with a char up to a length - its used to make a tabular view of values
# 3 parameters: #1 string to fill
# #2 length to fill up (or cut down)
# #3 char used to fill up (or as delimiter when cutting)
# if the length of the string is more than the parameter length-1, the string will be cut by length-1 and one char will be appended as delimiter
:local STR $1;
:local LEN $2;
:local CHAR $3;
:if ([:len $STR] >= $LEN) do={
# string has to be cut
:set STR ([:pick $STR 0 ($LEN-1)].$CHAR);
} else {
# string has to be filled up to length
:for i from=1 to=($LEN-[:len $STR]) step=1 do={
:set STR ("$STR" . $CHAR);
}
}
:return $STR;
}
:put ([$fill "MAC" 19 " "].[$fill "IP" 17 " "].[$fill "Client" 12 " "].[$fill "AP" 16 " "].[$fill "Signal" 7 " "].[$fill "TX Rate" 11 " "].[$fill "RX Rate" 11 " "].[$fill "Uptime" 14 " "].[$fill "Bytes" 20 " "].[$fill "Packets" 20 " "]."Interface");
:foreach i in=[/caps-man registration-table find .id] do={
:local locMAC [/caps-man registration-table get $i mac-address];
:local locInt [/caps-man registration-table get $i interface];
:local locSignal [/caps-man registration-table get $i rx-signal];
:local loctxRate [/caps-man registration-table get $i tx-rate];
# reduce to relevant data: "173.3Mbps-20MHz/2S/SGI" --> "173.3Mbps"
:if ([:find $loctxRate "-" -1] > 0) do={ :set loctxRate [:pick $loctxRate 0 [:find $loctxRate "-" -1]];}
:local locrxRate [/caps-man registration-table get $i rx-rate];
:if ([:find $locrxRate "-" -1] > 0) do={ :set locrxRate [:pick $locrxRate 0 [:find $locrxRate "-" -1]];}
:local locUptime [/caps-man registration-table get $i uptime];
:set locUptime [:pick $locUptime 0 [:find $locUptime "." -1]];
:local locBytes [/caps-man registration-table get $i bytes];
:local locPack [/caps-man registration-table get $i packets];
:local locRadMAC [/caps-man interface get [/caps-man interface find name=$locInt] radio-mac];
:local locCAP [/caps-man radio get [/caps-man radio find radio-mac=$locRadMAC] remote-cap-identity];
:local locIP [/ip dhcp-server lease get [/ip dhcp-server lease find mac-address=$locMAC] address];
:local locName [/ip dhcp-server lease get [/ip dhcp-server lease find mac-address=$locMAC] host-name];
:put ([$fill $locMAC 19 " "].[$fill $locIP 17 " "].[$fill $locName 12 " "].[$fill $locCAP 16 " "].[$fill $locSignal 7 " "].[$fill $loctxRate 11 " "].[$fill $locrxRate 11 " "].[$fill $locUptime 14 " "].[$fill $locBytes 20 " "].[$fill $locPack 20 " "]."$locInt");
}
Bernhard