El phishing es principalmente un ataque social, es decir, puede configurar un sitio que parezca de confianza (es decir, una copia de Paypal), asignarle un nombre de host que pueda engañar al usuario (por ejemplo, https-paypal.encrypted.whatever) para que la URL y los enlaces parezcan confiables, póngalos junto con una historia ("intento de piratería detectado, verificación") en un correo y espere a que los usuarios crédulos. Puede usarlo para obtener credenciales, infectar al usuario con malware, etc.
En cambio, la falsificación de DNS es un ataque técnico, donde el atacante intenta responder a una consulta de DNS ("dame la dirección IP de paypal.com") con su propia respuesta (incorrecta) y, por lo tanto, dirige al usuario al sitio de los atacantes. En lugar del sitio solicitado.
Dado que la falsificación de DNS es un ataque técnico, puede protegerse contra él con soluciones técnicas, como DNSSec. El uso de https también protege contra la falsificación de DNS ya que el atacante no tiene el certificado para el nombre solicitado. Ninguna de estas cosas ayuda a evitar la piratería, ya que este ataque no es contra un sistema de confianza técnico sino contra un sistema de confianza social. Contra el phishing, solo el conocimiento ayuda, y si tiene suerte, el ataque de phishing no fue dirigido contra usted, sino contra muchos usuarios. En cuyo caso, los navegadores a menudo ya tienen los sitios relevantes en una lista negra.