I am reading about how DNS works in general and I stumbled across this question and answer.
According to the accepted answer, the second step is when the DNS communicates with the ISP servers for the IP address of the host name.
DNS: "Right... wait a sec, I'll ask the ISP servers. Ok, it looks like 157.166.226.25."
I happened to read this answer which says,
CLIENT running browser asks DNS Server using UDP protocol for A record of
www.pippo.it
on client it is the operating system that does resolving part and talks back to browser, browser never talks to DNS directly, rather through OS by invoking
gethostbyname()
and on Linux resolving precedence is defined by/etc/nsswitch.conf
So, if I block all the outbound traffic to port 53 in my machine using the firewall rules, does that mean I couldn't resolve any host name at all?
I believe that shouldn't be the case which is why we have /etc/nsswitch.conf
file (on Linux machines, though similar concept might be present for other operating systems as well). The file understands the hosts
database in which host names and numbers are used by gethostbyname()
and related functions.
Could someone clarify whether my understanding is correct or if have misunderstood?