Automation and programming is making its way into the WLAN engineer’s daily work life. Jake Snyder joins the show to provide his experience and use cases.
Automate or Die
We’ve seen automation take over the server and networking world. Wi-Fi is the last to fully embrace programming, APIs, and automation. It’s slowly making it’s way. There are now vendors which support a full API which makes the capabilities go far beyond what we see in a dashboard.
Jake Snyder joins CTS to talk about how he got started with Python, his programming language of choice nowadays, and how he uses what he has learned to make processes more efficient. For networking, it’s mostly Python.
What are some of the use cases available to show the power of automation and programming? It’s possible to automate the most mundane tasks which can help give back many hours. An example would be automating the upgrade of a network. It could take months for a fairly large installation. But with the help of Python it could take less than a month. Turning a multi-month long project into one month is a huge return on investment. The engineer can now focus on other projects with that saved time.

Jake takes this to more advanced levels by comparing his design to the installation. He automates a process to tell him which APs may have been installed incorrectly. The validation survey data such as AP locations, their transmit power, and channel can be directly compared to the design. This saves a lot of time spent analyzing data and finding out that access points were installed incorrectly.
Another example of Wi-Fi automation can be seen in security. In Jake’s home private network, he uses automates a process of a rogue device abusing his Guest Network. When identified, he receives a message in Slack and simultaneously pulls that device’s information from his firewall. The automated process moves the client to a proxy where he is able to inject a frame onto the device’s web browser displaying the person’s credentials captured over the network. A quick way to get them off the Wi-Fi right away! While Jake brings this example from his home network, it shows what can be accomplished.
There’s so much more that can be done but only a few examples which we talk about on the show.
How To Get Started?
There are quite a few resources available for the beginning programmer. Jake Snyder and Ryan Adzima did a class at WLPC 2018 teaching the basics of Python using Learn Python 3 The Hard Way, a resource Jake highly recommends. They showed attendees how to parse data out of an Ekahau file using Python.
There are Python classes catered to network engineers. This is the best way to see relation into the day job as a general Python class may not help you really see what can be done on the network. Just check out the Python for Network Engineers course from Kirk Byers.
Then start looking at the APIs provided by your Wi-Fi vendors such as Mojo Networks, Mist, and Meraki.
Hey, I started scripting with python couple of years ago. My first book was Learn Python The Hard Way. It was really difficult for me but each chapters makes you better and don’t throw it away if you can’t solve every chapter quiz. Do it again and again and again, than there will be a point where you get it !
Everyone who starts programming , should only focus on solving problems . You shoudl not care about if it’s not well written or just a hack…
In the mean time I found some really interesting books which I want to share with the community . Everyone who solved PTHW should easily understand the content of these books and hopefully find some cool stuff which can be automated .
Automate the Boring Stuff with Python: Practical Programming for Total Beginners
( With a Wireless Chapter OMG !!! )
Violent Python
A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers
best regards, @dersharky on twitter
Thanks for the recommendation of that book! I’ll be sure to check that out. I’m glad you put in your feedback of LPTHW. It will help others on their path to programming.
Hey – can you update Jake’s Video channel link? It’s the same as the blog link. Thanks!
Just updated. Thanks for letting us know!
looks like there is a type, instead of hard way, you put hardware
Thanks for letting us know. The typo has been fixed!