#!/usr/bin/awk -f #sta[n]["mac"] #sta[n]["ip"] #sta[n]["rssi"] #sta[n]["rx pack"] #sta[n]["tx pack"] #iw dev wlan1 scan BEGIN { i=0 } { if(match($0,"BSS")){ if(i != 0) { sta[i-1]=sprintf("{\"mac\":\"%s\", \"ssid\":\"%s\",\"channel\":\"%s\", \"encryption\":\"%s\",\"width\":\"%s\", \"signal\":\"%s\" }\n",\ mac,ssid,channel,encryption,width,signal) } split($2,array,/[(]/) mac=array[1] i++ } else if(match($0,"SSID")){ #system("mkdir -p /tmp/air_mac;" "echo " $2 " | base64 > /tmp/air_mac/" mac) while("echo -n" $2 " | base64" | getline) { ssid=$1 } } else if(match($0,"primary channel")){ channel=$4 } else if(match($0,"Authentication")){ encryption=$4 } else if(match($0,"signal")){ signal=$2 } else if(match($1,"HT20") || match($1,"HT40") || match($1,"HT80") || match($1,"HT160")){ width=$1 } } END{ sta[i-1]=sprintf("{\"mac\":\"%s\", \"ssid\":\"%s\",\"channel\":\"%s\", \"encryption\":\"%s\",\"width\":\"%s\", \"signal\":\"%s\" }\n",\ mac,ssid,channel,encryption,width,signal) head=sprintf("{\"beacon_list\":[") out=sprintf("%s",head) for(m=0; m