November 19, 2018
Over the past few months my work situation has been 100% remote. This is great, but working at home or in coffee shops gets weird after a while. So like any self respecting person who wants to maintain their sanity and pretend to be social in a for-profit public manner - I decided to join a co-working space.
I chose a co-working space in Boston that’s trying out a hybrid “social club” and co-working model. It’s a solid space, it even has a “focus” area, however all the comfy furniture is in the non “focus” area.
This co-working space is peppered with about four or five Sonos wireless speakers. During my work-day there are times when I’d like to work on the comfy leather couch and not have to listen to the music being piped to the plethora of wireless distraction emitters in the common space.
So like any software developer would do I started digging…
I did a cursory nmap scan and found that Sonos actually registered their MAC address entry, hence I with a slick bash script I could easly poll all Sonos devices on the network.
screenshot with blurred other entries <<<
code snippet for nmap <<<
screenshot for output of code snippet <<<
My next goal was to figure out a way to interrupt traffic to one or all Sonos devices on the network. I chose the path of least resistance and decided to just start bombarding one of the Sonos devices with UDP packets on all ports via a dirty python3 script.
With a bit of sleuthing I found that port 1443 and 1410 are left open on Sonos devices - likely proprietary licenced ports to send encrypted streams between devices. Out of curiousity I decided to modify my script so I could define a single port, and found that when bombarding just that port, you can take out a single device without interrupting the whole network of Sonos devices.
So now, when I’m working and want to focus without having to use headphones I just fire up my handy no_sonos.py and work in peace.