IITG Networking Help Page : The easiest way to get started with netwoking is to read up the theory as well as simultaneously start coding . This will keep you interested , coz just reading up the theory will tend to be a little boring after a while . I will start off with the books and other relavent materials . As i may be addressing a "variable knowledge" audience here , hence i've decided to divide the material "level wise " . The Books for various levels : LEVEL 0 --- Beginner --------------------- Approx. Time to finish this level : 20 days Theory ------- 1. Computer Networks 4/e by Andrew Tanenbaum http://www.prenhall.com/tanenbaum This is book will help you grasp the basic concepts of networking . The good thing about it is,it assumes no prior knowledge and is meant for an absolute zero knowledge audience . The beginning 1-2 chapters introduce you to the history as well as the development of networks ( damn interesting ! ). Programming ------------ 1. The Beej's guide to network programming : http://www.ecst.csuchico.edu/~beej/guide/net/ This is a tutorial available on the internet . This was the very first tutorial i went through in the 1st sem when i started coding . It's an absolute gem ! The best way to get started with it is ,to cut paste the example code ......run it ... ...modify it ....run it . Then if you are comfortable with the data structures etc then start writing your own server / client programs . Here i would like to mention that in the beginning the structures ( sockaadr , sockaddr_in etc ) might all sound a little confusing , but as you start using them more often , you will be comfortable with them . Also note that it would be better if you did your coding on a linux/unix based platform . For windows enthusiasts search for a winsock ( windows sockets ) tutorial on the internet . http://www.hal-pc.org/~johnnie2/winsock.html Note the more you code the better you get ! Coding is very very important as without you will never be able to understand the inner workings of the network . LEVEL 1 ----- Intermediate --------------------------- Theory 1. TCP/IP Illustrated, Volume 1: The Protocols, Addison-Wesley, 1994, ISBN 0-201-63346-9 By W.Richard Stevans An absoulte classic ! This talks about most of the commonly used protocols such as TCP , IP , ICMP , SNMP etc in depth . It is a must for any networking geek ! This book will give you an inside view of the individual functioning as well as the inter protocol relationship . Programming 1. UNIX Network Programming, Volume 1, Second Edition: Networking APIs: Sockets and XTI by W.Richard Stevans This book almost all the network programming concepts , most ppl would ever need to know . I would suggest going through the chapters sequentially . After completion of this book , i can assure you that you will be able to write almost anything you can imagine ! But it will take time as this book is a gruelling 600 page treatise !! :-) ! LEVEL 2 ------- Advanced ------------------------- Theory 1. TCP/IP Illustrated, Volume 2: The Implementation http://www.kohala.com/start/ This talks about the implemntation of the tcp/ip network stack on 4.4 bsd systems . This talks about how your network stack works , ways to manipulate and tweak important parameters and also how to add new functionality to the exsisting code . 2. UNIX Network Programming, Volume 2, Second Edition: Interprocess Communications This is about how processes communicate between themselves using pipes , semaphores , shared memory segments etc . both by W.Richard Stevans ( This guy is truly The networking god ! ) Programming 1. Advanced Programming in the UNIX Environment by Stevans Helps you understand about multithreading , multiplexing etc 2. Learn to use raw sockets ! Will help you write low level network code in user space . Once you get comfortable with this , you won't beleive the amount of power you will have over your network ! From a network analyst/hacker 's point of view this is of utmost importance . One could begin by using libraries like libpcap ( packet capture library ) & libnet ( packet injection ) . -------------------------------- Network Security : ----------------- Network security is really a very fast field , even a simple tutorial would easily span to hundreds of pages .......thus right now i will just provide some links for the interested ppl ...... Some Useful Links : ------------------- 1. http://staff.washington.edu/dittrich/talks/qsm-sec/hijack.html 2. http://www.infosyssec.org/infosyssec/hackhow1.htm 3. http://www.blackhat.com/html/bh-multi-media-archives.html#USA-2003 4. http://www.hackersplayground.org/papers.html 5. http://packetstormsecurity.nl/ 6. http://www.rootsecure.net/ 7. http://users.757.org/~joat/blog/archives/cat_malicious_code.html ------------------------------------------------------------------------------------------- This brings me to the end of this very short tutorial ! but i guess it will be sufficient to get ppl started . Though written quite hurriedly , it may be full of grammatical bugs ...excuse me for that ! I will add new stuff to this very soon . What i would request is feedback ! Plz write to me about what else u guys want me to put up here ! Send me a mail at vivek_ece_iitg@yahoo.co.in . Well thatz all for now ! see ya !