diff options
author | 2016-05-26 23:56:04 +0200 | |
---|---|---|
committer | 2016-05-26 23:56:04 +0200 | |
commit | 4cde4ab753994194fe1c2cb8a3587aaa7d17f51e (patch) | |
tree | 722b589265718e2340a3955155c104aa9934202e | |
parent | 8e74e21c8663f28b6d343eaf92e424d0e00e21df (diff) | |
download | wireless-info-4cde4ab753994194fe1c2cb8a3587aaa7d17f51e.tar.bz2 wireless-info-4cde4ab753994194fe1c2cb8a3587aaa7d17f51e.tar.xz wireless-info-4cde4ab753994194fe1c2cb8a3587aaa7d17f51e.tar.zst |
Mask interface names derived from MAC addresses too.
-rwxr-xr-x | wireless-info | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/wireless-info b/wireless-info index 4f75765..f38a505 100755 --- a/wireless-info +++ b/wireless-info @@ -25,7 +25,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # -SCRIPTDATE="2016-05-24 22:04 +0200" +SCRIPTDATE="2016-05-26 23:56 +0200" FILEBASE="wireless-info" OUTPUTDIR="$PWD" OUTPUTDIRFB="/tmp" @@ -379,7 +379,7 @@ RESULTS=$(cat -s "$OUTPUTDIR/$FILEBASE.txt")$'\n' ORIGIFS="$IFS" IFS=$'\n' -IFACESIDS=($(sed -n "s/^\([^ ]\+\)[ ]\+.*HWaddr.*/'\1' [IF]/p" <<< "$IFCONFIG")) +IFACESIDS=($(sed -n "s/^\([^ ]\+\)[ ]\+.*HWaddr.*/'\1'/p" <<< "$IFCONFIG")) IFACESMACS=($(sed -n 's/^[^ ]\+[ ]\+.*HWaddr \([^ ]\+\)[ ]*/\1/p' <<< "$IFCONFIG")) IFACESIP6S=($(ip6-mac "${IFACESMACS[@]}")) @@ -388,25 +388,29 @@ WLAPSIWLMACS=($(sed -n 's/^[ ]*Cell [0-9]\+.*Address: \([^ ]\+\)/\1/p' <<< "$IWL WLAPSIWLIP6S=($(ip6-mac "${WLAPSIWLMACS[@]}")) WLAPSNMRAW=$(sed -n '/^##### NetworkManager info #####/,/^##### / {/^[ ]*Wireless Access Points/,/^$/ {/Wireless Access Points/d;s/^[ ]\+\*\?//;s/:[ ]\+/\t/;p}; /^SSID[ ]\+BSSID[ ]\+/,/^$/ {/^SSID[ ]\{2,\}BSSID[ ]\{2,\}/d;s/[ ]\{2,\}/\t/;p}}' <<< "$RESULTS") -WLAPSNMIDS=($(awk -F '\t' '{printf "'\''%s'\'' [AN%d]\n", $1, NR}' <<< "$WLAPSNMRAW")) +WLAPSNMIDS=($(awk -F '\t' '{print "'\''" $1 "'\''"}' <<< "$WLAPSNMRAW")) WLAPSNMMACS=($(grep -o '\([[:alnum:]]\{2\}:\)\{5\}[[:alnum:]]\{2\}' <<< "$WLAPSNMRAW")) WLAPSNMIP6S=($(ip6-mac "${WLAPSNMMACS[@]}")) IFS="$ORIGIFS" for IFACENR in "${!IFACESMACS[@]}"; do - MACMASKSED+="s;${IFACESMACS[$IFACENR]};<MAC ${IFACESIDS[$IFACENR]-address}>;I;" - MACMASKSED+=" /${IFACESIP6S[$IFACENR]}/ s;${IFACESIP6S[$IFACENR]/#\\(::/\(};<IP6 ${IFACESIDS[$IFACENR]-from MAC}>;I;" + MACMASKSED+="s;${IFACESMACS[$IFACENR]};<MAC ${IFACESIDS[$IFACENR]} [IF$(($IFACENR + 1))]>;I;" + MACMASKSED+=" /${IFACESIP6S[$IFACENR]}/ s;${IFACESIP6S[$IFACENR]/#\\(::/\(};<IP6 ${IFACESIDS[$IFACENR]} [IF$(($IFACENR + 1))]>;I;" + IFACEMACC=${IFACESMACS[$IFACENR]//:/} + if [[ ${IFACESIDS[$IFACENR],,} =~ ${IFACEMACC,,} ]]; then + MACMASKSED+="s;\(${IFACESIDS[$IFACENR]:1:3}\)$IFACEMACC;\1<IF from MAC [IF$(($IFACENR + 1))]>;Ig;" + fi done for WLAPIWLNR in "${!WLAPSIWLMACS[@]}"; do - MACMASKSED+="s;${WLAPSIWLMACS[$WLAPIWLNR]};<MAC ${WLAPSIWLIDS[$WLAPIWLNR]-address}>;I;" - MACMASKSED+=" /${WLAPSIWLIP6S[$WLAPIWLNR]}/ s;${WLAPSIWLIP6S[$WLAPIWLNR]/#\\(::/\(};<IP6 ${WLAPSIWLIDS[$WLAPIWLNR]-from MAC}>;I;" + MACMASKSED+="s;${WLAPSIWLMACS[$WLAPIWLNR]};<MAC ${WLAPSIWLIDS[$WLAPIWLNR]}>;I;" + MACMASKSED+=" /${WLAPSIWLIP6S[$WLAPIWLNR]}/ s;${WLAPSIWLIP6S[$WLAPIWLNR]/#\\(::/\(};<IP6 ${WLAPSIWLIDS[$WLAPIWLNR]}>;I;" done for WLAPNMNR in "${!WLAPSNMMACS[@]}"; do - MACMASKSED+="s;${WLAPSNMMACS[$WLAPNMNR]};<MAC ${WLAPSNMIDS[$WLAPNMNR]-address}>;I;" - MACMASKSED+=" /${WLAPSNMIP6S[$WLAPNMNR]}/ s;${WLAPSNMIP6S[$WLAPNMNR]/#\\(::/\(};<IP6 ${WLAPSNMIDS[$WLAPNMNR]-from MAC}>;I;" + MACMASKSED+="s;${WLAPSNMMACS[$WLAPNMNR]};<MAC ${WLAPSNMIDS[$WLAPNMNR]} [AN$(($WLAPNMNR + 1))]>;I;" + MACMASKSED+=" /${WLAPSNMIP6S[$WLAPNMNR]}/ s;${WLAPSNMIP6S[$WLAPNMNR]/#\\(::/\(};<IP6 ${WLAPSNMIDS[$WLAPNMNR]} [AN$(($WLAPNMNR + 1))]>;I;" done sed "$MACMASKSED /\([[:alnum:]]\{2\}:\)\{6,\}/! s/\([[:alnum:]]\{2\}:\)\{5\}[[:alnum:]]\{2\}/<MAC address>/" <<< "$RESULTS" > "$OUTPUTDIR/$FILEBASE.txt" |