nanog mailing list archives
Re: Speaking of DNS server software...
From: Ryan Hamel via NANOG <nanog () lists nanog org>
Date: Mon, 11 Aug 2025 01:12:11 +0000
Not only is there struct, but also scapy which can craft any packet with ease. A quick Google search shows DNS examples, https://thepacketgeek.com/scapy/building-network-tools/part-09/. Combining asyncio with uvloop also provides very good performance. Ryan Hamel ________________________________ From: John Levine via NANOG <nanog () lists nanog org> Sent: Sunday, August 10, 2025 5:56 PM To: nanog () lists nanog org <nanog () lists nanog org> Cc: John Levine <johnl () iecc com> Subject: Re: Speaking of DNS server software... Caution: This is an external email and may be malicious. Please take care when clicking links or opening attachments. It appears that William Herrin via NANOG <nanog () lists nanog org> said:
Python doesn't work this way. Its memory management is abstracted away from the programmer and the programmer does not control its precise structure. For Python to access a DNS packet, the programmer must pack and unpack an array of bytes using complex software of their own devising. You can't just tell Python, "This is the complex data structure these bytes contain, let me access the data without unpacking it."
The python struct module is pretty fast, since it's written in C. I recently rewrote the abuse.net DNS server in python doing white lies on the fly DNSSEC signing. It's fast enough. R's, John _______________________________________________ NANOG mailing list https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.nanog.org%2Farchives%2Flist%2Fnanog%40lists.nanog.org%2Fmessage%2FBGFDLG24XEHD47QE77ST6LY4OXUMHIKS%2F&data=05%7C02%7Cryan%40rkhtech.org%7C7acd43e68c4640cba83208ddd87271ce%7C81c24bb4f9ec4739ba4d25c42594d996%7C0%7C0%7C638904708244791010%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=VjAtZulg33OR7sZwZBVoRhMmndVN6Lzzm2TISqmU5xM%3D&reserved=0<https://lists.nanog.org/archives/list/nanog () lists nanog org/message/BGFDLG24XEHD47QE77ST6LY4OXUMHIKS/> _______________________________________________ NANOG mailing list https://lists.nanog.org/archives/list/nanog () lists nanog org/message/R6SG7AWZIY4WGGMK3YQGIXGP3TUZ6AV3/
Current thread:
- Re: Speaking of DNS server software..., (continued)
- Re: Speaking of DNS server software... William Herrin via NANOG (Aug 09)
- Re: Speaking of DNS server software... Etienne-Victor Depasquale via NANOG (Aug 10)
- Re: Speaking of DNS server software... Chris Woodfield via NANOG (Aug 10)
- Re: Speaking of DNS server software... Michael Crute via NANOG (Aug 10)
- Re: Speaking of DNS server software... Ryan Kozak via NANOG (Aug 10)
- Re: Speaking of DNS server software... Mike Crute via NANOG (Aug 10)
- Re: Speaking of DNS server software... Ryan Kozak via NANOG (Aug 11)
- Re: Speaking of DNS server software... William Herrin via NANOG (Aug 09)
- Re: Speaking of DNS server software... Etienne-Victor Depasquale via NANOG (Aug 10)
- Re: Speaking of DNS server software... William Herrin via NANOG (Aug 10)
- Re: Speaking of DNS server software... John Levine via NANOG (Aug 10)
- Re: Speaking of DNS server software... Ryan Hamel via NANOG (Aug 10)
- Re: Speaking of DNS server software... William Herrin via NANOG (Aug 10)
- Re: Speaking of DNS server software... Tom Beecher via NANOG (Aug 10)
- Re: Speaking of DNS server software... William Herrin via NANOG (Aug 10)
- Re: Speaking of DNS server software... Michael Thomas via NANOG (Aug 10)
- Re: Speaking of DNS server software... Randy Bush via NANOG (Aug 10)
- Re: Speaking of DNS server software... Jared Mauch via NANOG (Aug 10)
- Re: Speaking of DNS server software... Rubens Kuhl via NANOG (Aug 10)
- Re: Speaking of DNS server software... Ryan Hamel via NANOG (Aug 10)
