Summary Network protocols are often inscrutable, but if you have an effective way to experiment with them then they expose a lot of power. This week Guillaume Valadon explains how Scapy can be used to inspect your network traffic, test the security of your systems, and develop brand new protocols, all in Python! Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Get a shirt and support the show! Go to https://teespring.com/podcastinit?utm_source=rss&utm_medium=rss and get a mug to go with it. Your host as usual is Tobias Macey and today I am interviewing Guillaume Valadon about Scapy, the swiss army knife for packet manipulation in Python Interview Introductions How did you get introduced to Python? Can you explain what Scapy is and what problem it was created to solve? How has the decision to build Scapy in Python benefited the project? How has the 10 year history of the project affected your ability to maintain and evolve the code? How has the project evolved from the initial prototypes by Philippe Biondi through to its current incarnation as Scapy 2? I understand that the project was originally hosted on Bitbucket and then moved to Github. What prompted that decision and how has it played out? Who is the target audience and what are some of the primary intended use cases for Scapy? How is the implementation of packet layering architected in order to allow for such flexibility and composability? What are some of the most interesting and unexpected ways that you have seen Scapy used? What protocols have been the most problematic to implement and maintain? What have been some of the most challenging aspects of developing Scapy? What do you have planned for the future of Scapy? Contact Info Guillaume Website Email @guedou on Twitter Picks Tobias Buckethead Guillaume Rust Links Six UTScapy CodeCov Appveyor Jython OpenBSD MicroPython NSA Extra Bacon SNMP ASN.1 X509 TLS IPSec DNS HTTP2 PEP8 Scapy 3 The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA