SlideShare a Scribd company logo
Doing
           Horrible Things
              to DNS
            (in the name of science)




@sh1mmer                               Yahoo! Inc
The basics of DNS
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
San Francisco - Mission Branch
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
San Francisco - Main Library
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
New York City - 5th & 42nd Branch
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
New York City - 5th & 42nd Branch
Doing Horrible Things with DNS - Web Directions South
NYC




San Francisco - Main Library
San Francisco - Main Library
Doing Horrible Things with DNS - Web Directions South
NYC

 SF




San Francisco - Mission Branch
San Francisco - Mission Branch
Doing Horrible Things with DNS - Web Directions South
NYC

  SF

Mission
Doing Horrible Things with DNS - Web Directions South
NYC

  SF

Mission

  Me
Doing Horrible Things with DNS - Web Directions South
GTFO!
It's 3am!
DNS for performance
Page Load Time vs. Bandwidth
Page Load Time vs. Round Trip Time
Trend Curves for Bandwidth vs. RTT
Serial HTTP loading - 1 domain
Parallel HTTP loading - 3 domains
So why not just use a loads of domains?
DNS Lookup
Ideal? 1 DNS query many parallel threads
Option 1: SPDY (by Google)
Good: Multi-thread TCP connections
   Bad: Only works on Chrome :(
Option 2: Do horrible things to DNS
Mucking about with C names
CNAMES are hosts which
are aliases of other hosts
enki:~ $ dig yahoo.com

; <<>> DiG 9.4.3-P3 <<>> yahoo.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32801
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 7, ADDITIONAL: 7

;; QUESTION SECTION:
;yahoo.com.        IN A                            Query
;; ANSWER SECTION:
yahoo.com.     5935      IN   A   69.147.125.65
yahoo.com.     5935      IN   A   72.30.2.43
yahoo.com.     5935      IN   A   98.137.149.56
yahoo.com.
yahoo.com.
               5935
               5935
                         IN
                         IN
                              A
                              A
                                  209.191.122.70
                                  67.195.160.76               Response
...

;;   Query time: 45 msec
;;   SERVER: 202.171.190.10#53(202.171.190.10)
;;   WHEN: Wed Oct 13 17:23:39 2010
;;   MSG SIZE rcvd: 345
ajax1.hackerhouse.org.   1800   IN   CNAME   ajax2.hackerhouse.
ajax2.hackerhouse.org.   1800   IN   CNAME   ajax3.hackerhouse.
ajax3.hackerhouse.org.   1800   IN   CNAME   ajax4.hackerhouse.
ajax4.hackerhouse.org.   1800   IN   CNAME   ajax.hackerhouse.
ajax.hackerhouse.org.    1800   IN   A       192.168.1.1
ajax.hackerhouse.org.    1800   IN   A       192.168.1.2
ajax.hackerhouse.org.    1800   IN   A       192.168.1.3
ajax.hackerhouse.org.    1800   IN   A       192.168.1.4
ajax.hackerhouse.org.    1800   IN   A       192.168.1.5
We now have 5 hostnames with 1 DNS query
5 hostnames x 6 request per host
                 =
       30 parallel requests
Doing
           Horrible Things
              to DNS
            (in the name of science)


           Questions?
@sh1mmer                               Yahoo! Inc

More Related Content

PDF
A curious case of broken DNS responses (Coloclue Presents - Nov 2019)
PDF
A curious case of broken dns responses - RIPE75
PDF
PyCon Russian 2015 - Dive into full text search with python.
PPT
Basic dns-mod
PDF
Unix commands
PDF
Names and virtual host discovery
PPTX
Basic unix
PDF
What is the best full text search engine for Python?
A curious case of broken DNS responses (Coloclue Presents - Nov 2019)
A curious case of broken dns responses - RIPE75
PyCon Russian 2015 - Dive into full text search with python.
Basic dns-mod
Unix commands
Names and virtual host discovery
Basic unix
What is the best full text search engine for Python?

What's hot (13)

PDF
Better Full Text Search in PostgreSQL
PDF
Linux command line
PDF
The State of Go - Andrew Gerrand
KEY
Imagining the future of real time kr tconf 2011
PDF
Full Text Search in PostgreSQL
PDF
SequoiaDB Distributed Relational Database
PDF
The 9th Bit: Encodings in Ruby 1.9
PDF
RecuperaBit: Forensic File System Reconstruction Given Partially Corrupted Me...
PDF
Полнотекстовый поиск в PostgreSQL за миллисекунды (Олег Бартунов, Александр К...
PDF
Ricostruzione forense di NTFS con metadati parzialmente danneggiati
PPTX
Extreme Scripting July 2009
PDF
Keynote 1 - Engineering Software Analytics Studies
DOCX
เทคนิคการค้นหาด้วย Google
Better Full Text Search in PostgreSQL
Linux command line
The State of Go - Andrew Gerrand
Imagining the future of real time kr tconf 2011
Full Text Search in PostgreSQL
SequoiaDB Distributed Relational Database
The 9th Bit: Encodings in Ruby 1.9
RecuperaBit: Forensic File System Reconstruction Given Partially Corrupted Me...
Полнотекстовый поиск в PostgreSQL за миллисекунды (Олег Бартунов, Александр К...
Ricostruzione forense di NTFS con metadati parzialmente danneggiati
Extreme Scripting July 2009
Keynote 1 - Engineering Software Analytics Studies
เทคนิคการค้นหาด้วย Google
Ad

Viewers also liked (15)

PDF
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
PDF
Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup
PDF
Network and DNS Vulnerabilities
PDF
How to stop writing spaghetti code
PPT
Upgrading To The New Map Reduce API
PDF
DNS DDoS Attack and Risk
PPTX
Understanding DNS Traffic Pattern
PPTX
Dhcp, dns and proxy server (1)
PPTX
DNS,SMTP and POP3
PPT
Dns protocol design attacks and security
PDF
DNS High-Availability Tools - Open-Source Load Balancing Solutions
PPTX
Presentation on dns
PDF
Presentation on Domain Name System
PDF
DNS - Domain Name System
PPT
Dns ppt
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup
Network and DNS Vulnerabilities
How to stop writing spaghetti code
Upgrading To The New Map Reduce API
DNS DDoS Attack and Risk
Understanding DNS Traffic Pattern
Dhcp, dns and proxy server (1)
DNS,SMTP and POP3
Dns protocol design attacks and security
DNS High-Availability Tools - Open-Source Load Balancing Solutions
Presentation on dns
Presentation on Domain Name System
DNS - Domain Name System
Dns ppt
Ad

Similar to Doing Horrible Things with DNS - Web Directions South (20)

PDF
Sf perf
PDF
A @textfiles approach to gathering the world's DNS
PPT
THBTHRTHRETHBTHJNRTFGNJRFTJNTNJMRTJNTTHJR
PDF
CNIT 124: Ch 5: Information Gathering
PDF
Hacking in shadows By - Raghav Bisht
PDF
Cc index
PPTX
06- 1 Active Information Gathering part 1.pptx
PDF
Dns tunnelling its all in the name
PDF
Francisco Jesús Gómez + Carlos Juan Diaz - Cloud Malware Distribution: DNS wi...
PPTX
Enumeration
PDF
Building OpenDNS Stats
PPTX
Null Delhi chapter - Feb 2019
PPTX
Recon with Nmap
PPTX
How to dominate a country
PDF
Guillermo Grande y Alberto Ortega - Building an IP reputation engine, trackin...
PDF
Building an IP Reputation Engine: Tracking the Miscreants
PDF
Web Application Security 101 - 05 Enumeration
PDF
Measurement Study of Open Resolvers and DNS Server Version
PDF
Google Hacking
PDF
Advanced googling
Sf perf
A @textfiles approach to gathering the world's DNS
THBTHRTHRETHBTHJNRTFGNJRFTJNTNJMRTJNTTHJR
CNIT 124: Ch 5: Information Gathering
Hacking in shadows By - Raghav Bisht
Cc index
06- 1 Active Information Gathering part 1.pptx
Dns tunnelling its all in the name
Francisco Jesús Gómez + Carlos Juan Diaz - Cloud Malware Distribution: DNS wi...
Enumeration
Building OpenDNS Stats
Null Delhi chapter - Feb 2019
Recon with Nmap
How to dominate a country
Guillermo Grande y Alberto Ortega - Building an IP reputation engine, trackin...
Building an IP Reputation Engine: Tracking the Miscreants
Web Application Security 101 - 05 Enumeration
Measurement Study of Open Resolvers and DNS Server Version
Google Hacking
Advanced googling

More from Tom Croucher (20)

PDF
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
KEY
Streams are Awesome - (Node.js) TimesOpen Sep 2012
KEY
Using Node.js to improve the performance of Mobile apps and Mobile web
KEY
Writing robust Node.js applications
KEY
Creating the Internet of Things with JavaScript - Fluent Conf
KEY
Using Node.js to make HTML5 work for everyone
KEY
A million connections and beyond - Node.js at scale
KEY
OSCON 2011 - Node.js Tutorial
PDF
Lessons from a coding veteran - Web Directions @Media
KEY
Multi-tiered Node Architectures - JSConf 2011
KEY
A language for the Internet: Why JavaScript and Node.js is right for Internet...
KEY
A language for the Internet: Why JavaScript and Node.js is right for Internet...
KEY
How to stop writing spaghetti code - JSConf.eu 2010
PDF
Node.js and How JavaScript is Changing Server Programming
PDF
Server Side JavaScript - You ain't seen nothing yet
PDF
JavaScript Everywhere! Creating a 100% JavaScript web stack
PDF
Mobile Data: How to avoid the latency trap - SWDC 2010
KEY
Let's run JavaScript Everywhere
KEY
Pirate yql
KEY
YQL Tutorial
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Using Node.js to improve the performance of Mobile apps and Mobile web
Writing robust Node.js applications
Creating the Internet of Things with JavaScript - Fluent Conf
Using Node.js to make HTML5 work for everyone
A million connections and beyond - Node.js at scale
OSCON 2011 - Node.js Tutorial
Lessons from a coding veteran - Web Directions @Media
Multi-tiered Node Architectures - JSConf 2011
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...
How to stop writing spaghetti code - JSConf.eu 2010
Node.js and How JavaScript is Changing Server Programming
Server Side JavaScript - You ain't seen nothing yet
JavaScript Everywhere! Creating a 100% JavaScript web stack
Mobile Data: How to avoid the latency trap - SWDC 2010
Let's run JavaScript Everywhere
Pirate yql
YQL Tutorial

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
KodekX | Application Modernization Development
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Cloud computing and distributed systems.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Encapsulation theory and applications.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Machine learning based COVID-19 study performance prediction
PDF
cuic standard and advanced reporting.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Chapter 3 Spatial Domain Image Processing.pdf
Approach and Philosophy of On baking technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
KodekX | Application Modernization Development
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
NewMind AI Monthly Chronicles - July 2025
Mobile App Security Testing_ A Comprehensive Guide.pdf
Understanding_Digital_Forensics_Presentation.pptx
Cloud computing and distributed systems.
Advanced methodologies resolving dimensionality complications for autism neur...
Review of recent advances in non-invasive hemoglobin estimation
Encapsulation theory and applications.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
20250228 LYD VKU AI Blended-Learning.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Machine learning based COVID-19 study performance prediction
cuic standard and advanced reporting.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Chapter 3 Spatial Domain Image Processing.pdf

Doing Horrible Things with DNS - Web Directions South