Aruba APs - BSSID from MAC Address
It wasn't until recently did I ever think about how Access Points derive their BSSIDs. They were always just there, just another number. However, recently a client was trying to identify a specific Aruba AP that was constantly turning on and off, at least according to the logs on the Virtual Controller. But, they only knew the ethernet MAC address. They enquired if we were able to identify it as we had recently done a wireless survey of the site. As anyone who has used Ekahau knows, the survey data is collected from the wireless side and as such doesn't provide information on the wired side. This necessitated being able to derive the BSSID from the ethernet MAC, from which we could sift through the Ekahau data to find the specific AP.
As luck would have it the Aruba Networks Community has a blog article describing exactly that which can be found here. However, that's a lot of work. Conversion to binary, XOR, conversion back to hexadecimal. I don't have time for that. I need something that will do all the work for me, where I just type in a MAC and it spits out a BSSID, simple. A quick look at the comments provided me with an answer. Someone had created a website which provided just that. Hurray!
Oh. Nevermind. It'd appear that the website is using an older out outdated security certificate that modern browsers simply do not tolerate. Never fear though as our old friend Internet Explorer is just old enough to still accept (with a warning requiring you to accept all the risks) the certificate, and display the site.
Rejoice, for it works. That is, until Microsoft finally puts Internet Explorer out of its broken and outdated misery. While at the moment it works, and we can still access the site with a little work, it's not guaranteed to always remain that way. In fact, Microsoft have already discontinued Internet Explorer as of writing this, and I imagine that it will be removed from most Windows Installations very soon. So we're back at square one.
I did manage to find a github repo where koopen's php code is stored alongside some other useful aruba scripts. Which means that someone could setup a webserver and host the php with a newer certificate. But it seems like a lot of hassle for just a very basic script that a handful of people use.
So instead, I made a small python script to do exactly the same, without the need to setup a webserver and all that mess (although you do need python installed). The script can be downloaded below, or from my gitlab repo.
Simply run the script, enter the ethernet MAC of the Aruba AP in question, enter the number of BSSIDs per radio, and the script will return the base MAC addresses for each radio.
Success! Hopefully someone will find this as useful as I did.