Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Loading...
Loading...
User Settings
close menu
Welcome to Scribd!
Upload
Read for free
FAQ and support
Language (EN)
Sign in
Untitled
Uploaded by
vice py
0 ratings
0% found this document useful (0 votes)
33 views
28 pages
Document Information
click to expand document information
Copyright
© © All Rights Reserved
Available Formats
PDF or read online from Scribd
Share this document
Share or Embed Document
Sharing Options
Share on Facebook, opens a new window
Facebook
Share on Twitter, opens a new window
Twitter
Share on LinkedIn, opens a new window
LinkedIn
Share with Email, opens mail client
Email
Copy link
Copy link
Report
Did you find this document useful?
0%
0% found this document useful, Mark this document as useful
0%
0% found this document not useful, Mark this document as not useful
Is this content inappropriate?
Report this Document
Copyright:
© All Rights Reserved
Available Formats
Download
as PDF or read online from Scribd
Flag for inappropriate content
Download now
Download as pdf
Save
Save Untitled For Later
0 ratings
0% found this document useful (0 votes)
33 views
28 pages
Untitled
Uploaded by
vice py
Copyright:
© All Rights Reserved
Available Formats
Download
as PDF or read online from Scribd
Flag for inappropriate content
Save
Save Untitled For Later
0%
0% found this document useful, Mark this document as useful
0%
0% found this document not useful, Mark this document as not useful
Embed
Share
Print
Report
Download now
Download as pdf
Jump to Page
You are on page 1
of 28
Search inside document
UPL by Julia Evans D @) WANT?) > ) @y) 208.94.117.45 & XAA\PLE CAT.COM iDabout this zine ‘ Hello! This zine is about ONS: the *Domain Name System te My goal is to help you get from: 1 updated my site's IP address and... nothing changed? Why??? ¢ 2° °(Zoh, my DNS is doing something weird? No problem, 1 can figure it out with a little bit of dig Let's go learn how DNS works!table of contents overview cast of characters 4 life of a DNS query, 7 resolvers vs avthoritative....... 5 DNS records 8 the DNS hierarchy 6 DNS packets. 4 on your computer &) dig 18-14 getaddrinfo 20 search domains... 21 cP DNS, 22 authoritative nameservers root nameservers... 10 resolvers {o” |_| caching w | ae wy negative caching... 15 resolvers can lie. 16 1 a ory Your nameservers... 11 NS records, 12 13 a.tiny DNS resolver. subdomains DNS record types E) A& AAAA 23° MX. CINAME 24 TXT.cast of characters Let's meet the cast and see how they communicate with each otherl on? where's exanple.con? }+ vy Qo Where's exanple.con? EZ] where's exarple.c {fonction call +, rey + + browser Your browser uses ONS to look up IP addresses every time it visits a domain, like example.con. The browser has a ONS cache. 93.184, 216.341 function» 3218 21634 Your operating system provides a function to do ONS lookups. On Linux and Mac it's getaddr info. Your operating system also might have a DNS cache. DRE query PP resolver The function sends requests toa server called a resolver which Knows how to find the authoritative nameservers, The resolver has @ DNS cache. 93,184. 216.34 authoritative The authoritative nameservers are the servers where the DNS records are actually stored. They're wearing crowns because they're In Charge.resolvers vS authoritative Nameservers One reason ONS is confusing is that the DNS server you query (a resolver @) is different from the ONS server where the records are stored (a network of authoritative nameservers &) anytime your browser makes a ONS query, i asking a resolver what's the IP for example. con? browser © resolver anytime you update a domain's ONS records, you're updating an authoritative nameserver Set the ACRE aa) for ACRE aa) com #0 1.2.3.4 (Herren HT Next time someone (eee ae that's! what I'l tell them how a resolver handles queries @ check its cache, or (if that fails) @find the right authoritative nameserver and ask it how an authoritative nameserver handles queries QO check its database for a match @that's it, there's no step 2 It's the authority! wy the terminology is really confusing other names for resolverst ks recarsor us Feslvtun serve public ONS server eaching-only nameserver Types of authoritative nameservers: root nameserver TLD nameserver (lke .com or .c2)the DNS hierarchy there are 3 main levels of authoritative ONS servers T'm in charge of EVERYTHING Tim in charge of all domains ending incom Tim in charge of exanple.com and its subdomains example.com nameserver com nameserver the root nameserver delegates what's the IP for example. con Tam not concerned with petty details like that. Here's the address of the .com nameserver. root the .com nameserver also delegates the example.com nameserver actually the 1P for example co answers your questions what's the IP for ey example. com? ae nee com Zxample.com nameserver nameserver wha’ Tam not concerned with petty details like that either. Here's the address of the example.com nameserver this design lets DNS be decentralized example: for my domain jvns.ca delegate a nameserver mecca oa “t, F" thist controls thist 1 control thislife of a DNS query 4 ® T want to go to https: //example..com ‘address for example.com cached. I'll ask a resolvert browser [ee cache =] archive syns. 2 what's the IP for example. con? 207.261.224.2 172.66.80.1 ore browser oo EY Cora) TIC took in Cora) cache oY hope, resolver T have cached, I need to ask the authoritative nameserverst IPs hardcoded, T dont have it je the root nameserver ‘Lote: were pretending the resolver tas no con donaina cached Normally would vee te cache to akip atep 4 resolver Poe eter.) What's the IP for ofits ee) con? ‘ask @ .con nameserver! woos It's at a.gtld-servers.net co NS horse NS ‘a.gtld-servers.net, a.nic.horse: NS stands for “ndmeserver™ iS resolver what's the IP v for example.com?: > Tat of ONS recordey, wer ‘ask an exanple.con nameserver! It's at ~bexanple.con NS a. iana-servers.net Onn ‘what's the 1P for ee con? :e " fareat, Til tell the Browser!) 0 | sexanpie.com A = is so.res.zt6.24t 5° 93.184.216.24DNS records g When you make DNS changes for your domain, you're editing a DNS record Type Name_(evbdonain) GT) Cs Use @ forroot $ dig +noall +answer paw.examplecat..com 16 address m Here's what the same record looks like with dig <—vell explain ig on page 18 ONS records have 5 parts -+ name (eg tail.examplecat..con) + type (eg CNAME) + valve (eg tail. jvns.ca) TTL (eg 60) ? ~ class (eg IN) diferent record types have afferent kinds of values: A records have an IP address, Paw.exanplecat.com. 60 A 1234 find CHAME recorda have a domain name name TTL record type 60 A paw. examplecat. com When you create a record, you'll usually write just the Subdomain (ike po.) When you query for a record, you'll get the whole domain name (like paw. exanplecat.con). “time to live". How long to cache the record for, in seconds. " stands for "IPv4 Address" class IN "IN" stands for "INternet", You can ignore it, it's always the same. value 1.2.3.4 the IP address we asked for!everything inside aA DNS packet 1 (iterally mean everything, I copied this verbatim from a real ONS request using Wireshark. (ONS packets are binary but we're showing a human-readable representation here) Let's look at the actual data being sent during a ONS query: That's the 1P for example. con?, >< request Query 1D: 0x@5a84—— Flags: ox1000¢—~_| Questions: 1 Answer records: ‘Authority records: 0 Additional records: @ Question: Name: exanple.com Type: 4 elas: In #@— Tim always surprised by how little is actually in a DNS packet! randony generated these flags jist Fequest™ At for TP dress, other pene, OW, Mk, ee 2k stands for “internet response Query 10: 010528 «—— Flags: 0x8580 «— Questions m™ Answer records: 1 Authority records: 0 Additional records: @ Questior Name: example. com Type: co Class: IN Answer records: Name: exanple.con: Type: A Class: IN TTL: 86400 Content: 93.184.216.34 +4 hutbority records: ] (empty) Additional records: (*—} (empty) j rratehes request 1D the response code a ‘encoded in the (ast 4 bite of these flags ‘The 8 main response codes are “sWoERMOR_(ouecess Fhapoely doesnt ext SSSERVEATL error copied from domain names aren't the IP we asked for page 12 (NS records") Falke more about thesethe root nameservers z 10 every DNS resolver starts with a root nameserver ‘what's the 1P for exanple.con? SK resolver root nameserver IP addresses almost never change a.root-servers.net's IP (198.41.0.4) hasn't changed there are thousands of physical root nameservers, but only 13 IP addresses Each IP refers to multiple physical servers, you'll get the one closest to you. « Jou sould sok om since 1993. « oecaoes thi called nameserver! Theyre at = “age! There's a map at momen tesrsst SN hetpor//root- servers. org 7 dnt exi y " Thee fotaeneranetTunaed if they didn't exist, every resolver has the pfwotserersnet ea.84 resolvers wouldn't Know| | root IPs hardcoded in its ciroot-servers.net 192.33.4.12 where to start source code eiroot-servers.net 192.203,230.10 example: https://werd.page/bind f root-servers.net_192.5.5.241. T need an 1? address) | sere they are! giroot-serversinet. 192.112.36-4 of an initial server You can query one like this: h.root-servers.net_ 198.97. 790.53 “ol 12 avery, and 1 can't) | sis 098.4.0:4 eaote.cox Slrovteservere.net 192058. 128.90 use ONS to get that (| | All the 1s wil give you the exact irooteservers.net. 193.0-14.129 rier (1pr ceecransie sete per te ot craotrserversinet 183,8.14:12 them for redundancy. m.root-servers.net. 202.12.27.33your domain's authoritative nameservers tA | when you register a domain, your registrar runs your authoritative nameservers by default lS oF pour Ons cegatrar You can change your nameservers| in your registrar's control panel. LOTS of services can be your authoritative nameserver shopify Ok chil T only need one of you to do it how to find your domain's nameservers 1S dig vshort WS neopets. con | nse#2,ansns-05, con | no-1191-aysdne=20.or8. neopets.com is using AWS's nameservers right now how fo change your nameservers Copy your ONS records to the new nameservers (se dig to check that it worked) @0n your registrar's website, update your nameservers Qwait 48 hours Qdelete the old ONS records (to eave your future self confor) why changing your nameservers is slow updates are VERY SLOW because this TTL is 2 days what can go wrong if you don't delete the old records ofl 90 to S010_NAMESERVER 0°? (to change my ONS records! © CY doean't # WORKIN? fon right, | changed tis domain's nameservers last year, copalNS records S 2 What's actually happening when the root nameserver redirects to the .com nameserver, on page 6? — Surat te TP for expe. con? resolver Tam rot concerned with petty details tike that Here's the address of ithe com nameserver Chis ie an NS record (oot Danese The root nameserver can return two kinds of ONS records: NS records: (in the Authority section) com, 172800 NS a.geld-servers. net con, 172800 NS b. gtld-servers.net re t nde TL type valve glue records: (in the additional section a.gtld-servers.net 86400 A 192.5.6.30 blatld-gervers.net 86400 4 192.23, 14.30 : * 4 ne the the vdive The NS record gives you the domain name of the server to talk to next, but not its IP address. o (BUF I need the IP for ‘a gtld-servers.net to @ {communicate with itt there a give record? 2 ways the resolver gets the IP address © If it sees a glue record for a.gtld-servers.net, the resolver will use that 1P @ otherwise, it'll start a whole separate ONS lookup for a.gtld-servers.net glve records help resolvers avoid infinite loops without a glue record for a.gtld-servers.net: disaster! 2 [cats the 1 fa) reer ; You aad oak a.atld-servers.net terminology note NS records are DNS records with type "Ns" Also, an "A record" means “record with type A", "MX record" means "record with type Nx", ete. (confusingly, this is not true for glue records, glve records have type Aor AAA. It's weird, T Know.)subdomains & to make a subdomain, you just have to set a DNS record! To set up cats. yourdomain.com, create a DNS record like this in your authoritative nameservers: cats.yourdomain.com A 1.2.3.4 t t name record type valve © Store their DNS records itself iy there's the IP for cats. yourdomain.com! there are 2 ways a nameserver can handle subdomains @ Redirect to another authoritative nameserver (this happens if you set an NS record for the subdomain, it's called "delegation") iy Sask this other DNS server instead! you can create multiple levels of subdomains For example, you can make: a.b.c.d.e.f.g.example.com up to 127 levels is allowed! www is @ common subdomain Usually www. yourdomain.com and yourdomain.com point to the exact same IP address. If you wanted to confuse people, you could make them totally different websites! T love using subdomains for my projects (like ddns~Lookup. jvns..ca) because they're free, I can give a subdomain a different 1P, and it Keeps projects separatewhy DNS updates are slow: caching we \Y You might have heard that DNS updates need time to "propagate". What's actually happening is that there are old cached records which need to expire. ONS records are cached in many places ~» browser caches —* ONS resolver caches ~» operating system caches 0% ° (my DNS records are cached on billions of devices! let's see what happens when you update an IP AY 300 ] [723.4] + + jee beware: even if you change the TTL to 60s, you still have to wait 300 seconds for the old record to expire bananas.com 30 seconds later... lou go te bananas.com in your browser) hey what's the IP for bananas.com? ® browser (e's check my cache for bananas.com.. found itt! google.com 400 seconds later... (you refresh the page again) hey what's the IP) for bananas.com?, he TTL (300s) is up, better ask for a browser new IP... © Geese 12 hours later. (you check 1.2.3.4's logs to make ‘ure all the traffic has moved over) I dont care about your’ = ‘TTT just cache everyting for 24 hourslfe capt: « rogue ONS resolver That's weird, the old server ia stil getting a few requests.negative caching Is Here's a problem I've had many times T set up my new domain, everything looks good, but it's not working 2171 I finally learned last year that my problem was "negative caching" K now I never have this problem anymore! resolvers cache negative results Grats the 1 PA Ger tees. junc? resolver (1 don't have any Lg authoritative © \records for that! nameserver cachings wo A vecords for bees. juns.ca the TTL for caching negative results comes from the SOA record example. com. N SOA ns.icann.org. noc.dns.icann.org. 2021120741 7200 3600 1209600) it's the smaller of these 2 numbers (in this case 3600 seconds) ——~ what you need to Know about SOA records © they control the negative caching TTL ® you can't change them (unless you run your own authoritative nameserver) Q@bow to find yours: dig SOA yourdomain.com how to avoid this problem Just make sure not to visit your domain before creating its DNS record! That's itt (if you really want more details, see RFC 2308)resolvers can lie \6 When a resolver gets a ONS qvery, it has 2 options: 1 could tell you what the authoritative nameservers, said... or I could LIE! reason to lie: block ads / malware what's the Aarats te for doubleclick. Aarats te ad domain, that domain SEY definitely a resolver PiHole blocks ads this way. reason to lie: que to show you ads What's the IP for 222. jvns.ca? abeant exist resolver This is called "ONS hijacking” here's an IP that will show you adst reason to "lie": internal domain names That's the IP for corp. examplecat .con? Woeani? exist on the public internet 2 here's an infernal IP address!
DIG 9.16.24
tall example. com ig's full output global options: tend response cole fot anser: LO ~>>HEADER<<- opcode: QUERY, status: NOERROR, id: 27580 flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: @, ADDITIONAL: 1 the answer to our NS query $5 OPT PSEUDOSECTION: } EDNS: version: 0, flags:; udp: 33 QUESTION SECTION yexample.com. INA 1232 The *." at the end meane that exaeple.com isnt a svbdomain of some other domain (like it's not ‘exanple.com.degrassi.ca) This might seem obvious, but ONS tools like to be unambiguous. $5 ANSWER SECTION: example.com., 86400 $5 Query time: @ msec $y SERVER: 127.0,0.1#53(127.0.0.1) WHEN: Wed Jan 26 11:32:03 EST 2022 NSG SIZE revd: 56 AL 93.184,216.34 $ dig *noall tansner example.com exanple.com. 86402 IN A 93.184.216.34@— + t ot 4 Saat hme THe cess Se atthe answer! 30 “heh les oversheringldig, command line arguments G "4 the basics: dig @SERVER TYPE DOMAIN Examples: both optional idig example. com : : {default type: A ‘dig @8.8.8.8 example. com * defavit server: from idig TXT example.com 1, /eterresole cont (on Linux) idig @8.8.8.8 NS example. com tip: put tnoall +answer in your ~/.digre This makes your ovtput more readable by default, and you can always go back to the full output with dig ¢all. dig +noall dig +short DOMAIN Hide all output. Only show the record content. Useless by itself, but '$ dig +short example.com ! dig +noall +authority wil | ja nea ote 34 : |just show you the "Authority*| |! 93:184.216- ‘section of the response. - dig +trace DOMAIN Traces how the domain gets resolved, starting at the root nameservers. This avoids all the caches, which is useful fo make sure you set your record correctly.getaddrinfo 20 & One weird thing about DNS is that different programs on a single computer can get different results for the same domain name. Let's talk about why! reason 1: many (but not allt!) programs use the function getaddrinfo for ONS lookvps.. So if you see an error message like “getaddrinfo: nodenane or servname not provided...", that's a ONS error. ping and not using getaddrinfo might give a different result + the program might not use Jetc/hosts (dig doesn't) =the program might use a different ONS resolver (some browsers do this) co? 8 icy — i pragram 5 euction 9 resover [the problem (server) reason 2: there are many different versions of getaddrinfo.. + the one in glibe + the one in must libe + the one in Mac 0S And of course, they all behave slightly differently :) you can have multiple getaddrinfos on your computer at the same time For example on a Mac, there's your system getaddrinfo, but you might also be running a container that's using musi. glibe and must getaddrinfo are configured with /etc/resoly.conf spot 1 Generated ificinsinangs | fanecerver 19 1eacr 1 1esé fd13:d987:748a: 1 ‘On a Hac, /etc/resolv.cont exists, but it's not used by the system getaddrinto,search domains & 2 In an internal network (like in @ company or school), sometimes you can connect to a machine by just typing its name, like this: $ ping labcomputer-23 Let's talk about how that works! many DNS lookup functions support “local domain names aw ere resolver (cerver) (the function appends a base domain degrassi.ca to the end) browser function the base domain is called a "search domain" On Linux, search domains are configured in /etc/resolv.conf Example: this“fells getaddrinfo to turn 1ab23 into 1ab23.degrassi.ca getaddrinfo doesn't always use search domains It uses an option called ndots to decide. } search degrassi.ca options ndots:5 means “only use search domains if the domain name contains (ess than § dots" search domains can make DNS queries slower okay, first Tl try jvns.ca.degrassi.ca ‘this ie silly but it ‘can happen! avoid search domains by putting a "." at the end Use http://jvns.ca. instead of http://jvns.ca “cat” domain names like this mostly exist inside of big institutions like universitiesTCP DNS SJ 12 If you manage servers, sometimes DNS just breaks for no obvious Feason TCP ONS is an uncommon but VERY annoying cause of ONS problems! Let's learn about itt ONS queries can use either UDP or TCP A UDP DNS response has to be less than 4046 bytes. UDP is the default, TCP can send an unlimited amount of data. It's only used when UDP wouldn't work. large DNS responses automatically use TCP here's a UDP DNS query! Sorry, my response is too big to fit in a UDP packet! get the rest with TCPI what's in a giant ONS response? T've seen responses with hundreds of internal server IP addresses (for example when using Consul) >O how not supporting TCP DNS can ruin your day © your server is happily making UDP DNS queries one day, the responses get bigger and switch to TCP @ ch not the queries Fail 2 reasons TCP ONS might not work I some DNS libraries (like musl's getaddrinfo) don't support TCP. This is why ONS sometimes breaks in Alpine Linux. it could be blocked by your firewall. You should open both UDP port 53 and TCP port 53.A& AAAA records & 23 there are two Kinds of IP addresses: 1Pv4 and IPv6é Every website needs an IPvi address. IPv6 addresses are optional A stands for IPv4 Address Example: 93.184.216.34 AAAA stands for IPvé AAAAddress| Nete t Example: Kinin Fre 2606: 2800220: 1:248:1893:25¢8: 1946 it's called AAA (¥ As) because TPV6 addresses have sk as many bytes in theory, the Internet is moving from IPv4 to 1Pvé This is because there are only 4 billion IPv4 addresses (the internet has grown a LOT since the 1980s when 1Pv4 was designed!) happy eyeballs” If your domain has both an A and an AAAA record, clients will use an algorithm called “happy eyeballs" to decide whether IPvi or 1Pvé will be faster. * yes that is the real name using IPv6 isn't always easy trot all web hosts give you an 1Pv6 address -+lots of ISPs don't support IPv6 (mine doesn't!) 1P addresses have owners You can find any IP's owner by looking up its ASN (‘Autonomous System Number"), (except local IPs like 192.168.x.x, 127.X.X.%, 10.x.x.X, 172.16.X.X)CNAME records &) 24 there are 2 ways to set up ONS for a website O set an A record with an IP waw.cats.con A 1.2.3.4 @ set a cnane record with a domain name waw.cats.com CNAME cats.github. io CNAME records redirect every DNS record, not just the 1P I like to use them whenever possible so that if my web host's IP changes, I don't need to change anything! what actually happens during a CNAME redirect Ghats the A record for waw.cats cont) wcats.con CNAME cats. github. 15 O° (exas, TI Took op ‘he A record for cats.gichub.iol J quttertatve rules for when you can use CNAME records @ you can only set CNAME records on subdomains (like www.example.com), not root domains (like example. com) @ if you have a CNAME record for a subdomain, that subdomain can't have any other records (technically you can ignore these rules, but it can cause problems, the RFCs say you shouldn't, and many DKS providers enforce these rules) some DNS providers have workarounds to support CNAME for root domains Look up "CNAME flattening" or “ANAME" to learn more.MX records 25 there are two important problems in email From: kermit @frog.com To: julia @example.com Make sure the message gets to the right recipient. This is what MX records are for. Make sure the sender didn't lie about their From: address. This is what SPF, DKIM, and DMARC records are for. SPF/DKIM/DMARC are very complicated but we'll give a ting incomplete summary, MX records tell you the mail server for a domain $ dig +short MX gmail.com 5 gnail-smtp-in.1.google.com. t priority server's domain name your MX records \ copy and paste Gou're probably using an email service like Fastmail/Gmail, so just copy the records they tell you to use tiny guide to SPF/DKIM/DMARC records SPF: list of allowed sender IP addresses Example: OKIM: sender's public key Example: v-0KIMI; kersa; p-HIGFNANGCSAGSI. DMARC: what to do about SPF/DKIM failures Example: v=DMARCI; p=reject; rua-mailto:dnarc@example.com vespfl ip4:2.3.4.5 -allTXT records & more & 26 TXT records can contain literally anything “hello! I'm an example cat!" examplecat.com TXT (though theyre vsvally ASCII) they're often used to verify that you own your domain put "banana stand panda" in a TXT record to prove you} own this domaint google reasons to verify your domain “to issue SSL certificates with Let's Enerypt ~+to use Single Sign On (SSO) for a service to get access to Google/ Facebook's data about your domain (eg search data) they're also used for email security (SPF/DKIM/DMARC) Krould we create a ONS record type for SPF? rah let's just put all in TX? records! (cot a nstericaly accorate avrmary‘of the design process for SPF records) TXT records can contain many strings Each string is at most 256 characters, and clients will concatenate them together. You'll see this in DKIM records, because they're usually more than 256 characters, some other record types CAA: restrict who can issue certificates for your domain PTR: reverse ONS -- map IP addresses to domain names (look these up with dig -x) SRY: holds both an IP address and a port numberthanks for reading, As with everything, 1 think the best way to learn more about DNS is to experiment and break things. So this zine comes with a playground! More DNS tools 1 made while writing this zine: https: //dns-Lookup. jvns.ca (to make DNS queries) https: //github.com/jyns/tiny-resolver (to see how resolvers work) credits Cover art: Vladimir kasikovié Copy editing: Gersande La Fléche Technical review: Ray Bejjani Editing: Dolly Lanuza, Kamal Marhubi Pairing: Marie Claire LeBlane Flanagan Any remaining errors: mine9g this? more at %wizardzines.com *
You might also like
The Subtle Art of Not Giving a F*ck: A Counterintuitive Approach to Living a Good Life
From Everand
The Subtle Art of Not Giving a F*ck: A Counterintuitive Approach to Living a Good Life
Mark Manson
Rating: 4 out of 5 stars
4/5 (5868)
The Gifts of Imperfection: Let Go of Who You Think You're Supposed to Be and Embrace Who You Are
From Everand
The Gifts of Imperfection: Let Go of Who You Think You're Supposed to Be and Embrace Who You Are
Brené Brown
Rating: 4 out of 5 stars
4/5 (1095)
Never Split the Difference: Negotiating As If Your Life Depended On It
From Everand
Never Split the Difference: Negotiating As If Your Life Depended On It
Chris Voss
Rating: 4.5 out of 5 stars
4.5/5 (866)
Magazines
Podcasts
Sheet music
Principles: Life and Work
From Everand
Principles: Life and Work
Ray Dalio
Rating: 4 out of 5 stars
4/5 (614)
The Glass Castle: A Memoir
From Everand
The Glass Castle: A Memoir
Jeannette Walls
Rating: 4.5 out of 5 stars
4.5/5 (1723)
Sing, Unburied, Sing: A Novel
From Everand
Sing, Unburied, Sing: A Novel
Jesmyn Ward
Rating: 4 out of 5 stars
4/5 (1200)
Grit: The Power of Passion and Perseverance
From Everand
Grit: The Power of Passion and Perseverance
Angela Duckworth
Rating: 4 out of 5 stars
4/5 (597)
Hidden Figures: The American Dream and the Untold Story of the Black Women Mathematicians Who Helped Win the Space Race
From Everand
Hidden Figures: The American Dream and the Untold Story of the Black Women Mathematicians Who Helped Win the Space Race
Margot Lee Shetterly
Rating: 4 out of 5 stars
4/5 (909)
Shoe Dog: A Memoir by the Creator of Nike
From Everand
Shoe Dog: A Memoir by the Creator of Nike
Phil Knight
Rating: 4.5 out of 5 stars
4.5/5 (543)
The Perks of Being a Wallflower
From Everand
The Perks of Being a Wallflower
Stephen Chbosky
Rating: 4.5 out of 5 stars
4.5/5 (2109)
The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers
From Everand
The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers
Ben Horowitz
Rating: 4.5 out of 5 stars
4.5/5 (352)
Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future
From Everand
Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future
Ashlee Vance
Rating: 4.5 out of 5 stars
4.5/5 (474)
Bad Feminist: Essays
From Everand
Bad Feminist: Essays
Roxane Gay
Rating: 4 out of 5 stars
4/5 (1039)
Her Body and Other Parties: Stories
From Everand
Her Body and Other Parties: Stories
Carmen Maria Machado
Rating: 4 out of 5 stars
4/5 (824)
The Outsider: A Novel
From Everand
The Outsider: A Novel
Stephen King
Rating: 4 out of 5 stars
4/5 (1887)
The Emperor of All Maladies: A Biography of Cancer
From Everand
The Emperor of All Maladies: A Biography of Cancer
Siddhartha Mukherjee
Rating: 4.5 out of 5 stars
4.5/5 (272)
The Sympathizer: A Novel (Pulitzer Prize for Fiction)
From Everand
The Sympathizer: A Novel (Pulitzer Prize for Fiction)
Viet Thanh Nguyen
Rating: 4.5 out of 5 stars
4.5/5 (122)
Brooklyn: A Novel
From Everand
Brooklyn: A Novel
Colm Toibin
Rating: 3.5 out of 5 stars
3.5/5 (1954)
The Little Book of Hygge: Danish Secrets to Happy Living
From Everand
The Little Book of Hygge: Danish Secrets to Happy Living
Meik Wiking
Rating: 3.5 out of 5 stars
3.5/5 (411)
Angela's Ashes: A Memoir
From Everand
Angela's Ashes: A Memoir
Frank McCourt
Rating: 4.5 out of 5 stars
4.5/5 (443)
A Man Called Ove: A Novel
From Everand
A Man Called Ove: A Novel
Fredrik Backman
Rating: 4.5 out of 5 stars
4.5/5 (4834)
The Yellow House: A Memoir (2019 National Book Award Winner)
From Everand
The Yellow House: A Memoir (2019 National Book Award Winner)
Sarah M. Broom
Rating: 4 out of 5 stars
4/5 (98)
Steve Jobs
From Everand
Steve Jobs
Walter Isaacson
Rating: 4.5 out of 5 stars
4.5/5 (810)
The World Is Flat 3.0: A Brief History of the Twenty-first Century
From Everand
The World Is Flat 3.0: A Brief History of the Twenty-first Century
Thomas L. Friedman
Rating: 3.5 out of 5 stars
3.5/5 (2268)
The Art of Racing in the Rain: A Novel
From Everand
The Art of Racing in the Rain: A Novel
Garth Stein
Rating: 4 out of 5 stars
4/5 (4226)
Yes Please
From Everand
Yes Please
Amy Poehler
Rating: 4 out of 5 stars
4/5 (1914)
Devil in the Grove: Thurgood Marshall, the Groveland Boys, and the Dawn of a New America
From Everand
Devil in the Grove: Thurgood Marshall, the Groveland Boys, and the Dawn of a New America
Gilbert King
Rating: 4.5 out of 5 stars
4.5/5 (268)
A Tree Grows in Brooklyn
From Everand
A Tree Grows in Brooklyn
Betty Smith
Rating: 4.5 out of 5 stars
4.5/5 (1930)
A Heartbreaking Work Of Staggering Genius: A Memoir Based on a True Story
From Everand
A Heartbreaking Work Of Staggering Genius: A Memoir Based on a True Story
Dave Eggers
Rating: 3.5 out of 5 stars
3.5/5 (232)
Team of Rivals: The Political Genius of Abraham Lincoln
From Everand
Team of Rivals: The Political Genius of Abraham Lincoln
Doris Kearns Goodwin
Rating: 4.5 out of 5 stars
4.5/5 (235)
The Woman in Cabin 10
From Everand
The Woman in Cabin 10
Ruth Ware
Rating: 3.5 out of 5 stars
3.5/5 (2552)
Wolf Hall: A Novel
From Everand
Wolf Hall: A Novel
Hilary Mantel
Rating: 4 out of 5 stars
4/5 (3997)
Fear: Trump in the White House
From Everand
Fear: Trump in the White House
Bob Woodward
Rating: 3.5 out of 5 stars
3.5/5 (801)
On Fire: The (Burning) Case for a Green New Deal
From Everand
On Fire: The (Burning) Case for a Green New Deal
Naomi Klein
Rating: 4 out of 5 stars
4/5 (74)
John Adams
From Everand
John Adams
David McCullough
Rating: 4.5 out of 5 stars
4.5/5 (2410)
The Light Between Oceans: A Novel
From Everand
The Light Between Oceans: A Novel
M.L. Stedman
Rating: 4.5 out of 5 stars
4.5/5 (789)
Manhattan Beach: A Novel
From Everand
Manhattan Beach: A Novel
Jennifer Egan
Rating: 3.5 out of 5 stars
3.5/5 (880)
The Constant Gardener: A Novel
From Everand
The Constant Gardener: A Novel
John le Carré
Rating: 3.5 out of 5 stars
3.5/5 (107)
Rise of ISIS: A Threat We Can't Ignore
From Everand
Rise of ISIS: A Threat We Can't Ignore
Jay Sekulow
Rating: 3.5 out of 5 stars
3.5/5 (137)
The Unwinding: An Inner History of the New America
From Everand
The Unwinding: An Inner History of the New America
George Packer
Rating: 4 out of 5 stars
4/5 (45)
Little Women
From Everand
Little Women
Louisa May Alcott
Rating: 4 out of 5 stars
4/5 (105)
Network Security Infi
Document
13 pages
Network Security Infi
vice py
No ratings yet
CLOSING KEYNOTE - Blind Digital Signatures - DR Manar Abu Talib and DR Qassim Nasir
Document
67 pages
CLOSING KEYNOTE - Blind Digital Signatures - DR Manar Abu Talib and DR Qassim Nasir
vice py
No ratings yet
Voip
Document
24 pages
Voip
vice py
No ratings yet
Introduction To Viruses
Document
39 pages
Introduction To Viruses
vice py
No ratings yet
Virus II
Document
11 pages
Virus II
vice py
No ratings yet
Virus 3
Document
13 pages
Virus 3
vice py
No ratings yet
Virus I
Document
10 pages
Virus I
vice py
No ratings yet
SSL Tls
Document
22 pages
SSL Tls
vice py
No ratings yet