Tengo algo de experiencia en programación, principalmente en aplicaciones web, basadas en marcos preexistentes. Es decir, todo el lado de la red de las cosas ya se maneja, y no es necesario conocerlas.
Me gustaría aprender más sobre la programación de redes y la seguridad de redes. Estoy interesado en las pruebas de penetración, y he estado leyendo material sobre eso, pero la mayor parte parece bastante superficial y se centra en proezas específicas y en la defensa de esos ataques. Me gustaría profundizar y ver cómo funcionan las redes y la teoría de las redes. ¿Hay buenos libros que cubran esos temas, dirigidos a una audiencia con experiencia como la mía, preferiblemente con ejercicios (como implementar sockets, etc.)?