I have some programming experience, mostly in web apps, based on pre-existing frameworks. That is, all the networking side of things are handled already, and no knowledge of them is necessary.

I would like to learn more about programming for networking, and networking security. I'm interested in penetration testing, and I've been reading material on that, but most of it seems fairly shallow, and focused on specific exploits and defense of those attacks. I'd like to go deeper, and look at how networks work, and networking theory. Are there any good books that cover those topics, aimed at and audience with experience like mine, preferably with exercises (like implementing sockets etc.)?

closed as not constructive by user10211, Lucas Kauffman, Gilles, goodguys_activate, Jeff Ferland Dec 25 '12 at 17:56

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.


To understand the basics of networking you have 2 options ...

  • TCP\IP protocol suit -Frouzan

enter image description here

  • Internetworking with TCP\IP vol-1

https://www.cs.purdue.edu/homes/dec/netbooks.html enter image description here

both books are theoretically oriented with simple algorithms to explain (personally i prefer the first one ).

to understand networking from programer's perspective you should check :

  • Internetworking with TCP\IP vol-2

it explains how TCP\IP stack implemented in an operating system called Minix (Unix based) enter image description here

  • Internetworking with TCP\IP vol-3 " BSD sockets version"

enter image description here

  • Internetworking with TCP\IP vol-3 "Windows sockets version"

enter image description here

Both books covers server-client application implementation.

And finally those two books are good too .

enter image description here http://www.amazon.com/Unix-Network-Programming-Volume-Networking/dp/0131411551/ref=pd_sim_b_1

enter image description here http://www.amazon.com/UNIX-Network-Programming-Volume-Communications/dp/0130810819/ref=pd_sim_b_4

Hopefully it will help you ..


enter image description here

This book can be found on on amazon.

Not the answer you're looking for? Browse other questions tagged or ask your own question.