Reddit mentions: The best computer networks books
We found 347 Reddit comments discussing the best computer networks books. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 77 products and ranked them based on the amount of positive reactions they received. Here are the top 20.
1. The Practice of System and Network Administration: Volume 1: DevOps and other Best Practices for Enterprise IT (3rd Edition)
- Addison-Wesley Professional
Features:
Specs:
Height | 9.1 Inches |
Length | 7 Inches |
Number of items | 1 |
Weight | 3.34220789192 Pounds |
Width | 1.75 Inches |
2. Computer Networking: A Top-Down Approach (6th Edition)
- Online Access
Features:
Specs:
Height | 9.2 Inches |
Length | 7.7 Inches |
Number of items | 1 |
Weight | 2.9321480846 Pounds |
Width | 1.4 Inches |
3. Computer Networks (5th Edition)
- DC Power Female Pigtail Connectors quantity of 10
- Center positive 2.1mm DC plug
- Outside diameter: 5.5mm
- Copper Wires, Length: 10 inches
- Easy installation DIY
Features:
Specs:
Height | 9.2 Inches |
Length | 7.5 Inches |
Number of items | 1 |
Weight | 2.9541943108 Pounds |
Width | 2.1 Inches |
4. Computer Networking: A Top-Down Approach (7th Edition)
Specs:
Height | 9.2 Inches |
Length | 7.3 Inches |
Number of items | 1 |
Weight | 2.7998707274 Pounds |
Width | 1.3 Inches |
5. The Practice of Network Security Monitoring: Understanding Incident Detection and Response
- Used Book in Good Condition
Features:
Specs:
Color | Cream |
Height | 9.15 Inches |
Length | 7 Inches |
Number of items | 1 |
Release date | July 2013 |
Weight | 1.8 Pounds |
Width | 1.5 Inches |
6. Interconnections: Bridges, Routers, Switches, and Internetworking Protocols (2nd Edition)
Specs:
Height | 1.3 Inches |
Length | 9.4 Inches |
Number of items | 1 |
Weight | 2.3368999772 Pounds |
Width | 7.4 Inches |
7. Network Programmability and Automation: Skills for the Next-Generation Network Engineer
O Reilly Media
Specs:
Height | 9.1 Inches |
Length | 7 Inches |
Number of items | 1 |
Release date | March 2018 |
Weight | 1.46827866492 Pounds |
Width | 1.1 Inches |
8. End-to-End QoS Network Design: Quality of Service for Rich-Media & Cloud Networks (2nd Edition) (Networking Technology)
Used Book in Good Condition
Specs:
Height | 9.5 Inches |
Length | 8 Inches |
Number of items | 1 |
Weight | 4.1226442994 Pounds |
Width | 2.25 Inches |
9. Computer Networking: A Top-Down Approach (5th Edition)
- 2GB Compact Flash Card 133X Speed
- Built In Dynamic Defect Management and Error Correction Technology
- Ideal for Digital Cameras with 5 Megapixels and Above
- Data Transfer Rate Up to 12MB/sec
- 0.1 Lbs (WxLxH) 1.43" x 1.69" x 0.13"
Features:
Specs:
Height | 9.3 Inches |
Length | 7.6 Inches |
Number of items | 1 |
Weight | 2.9101018584 Pounds |
Width | 1.4 Inches |
10. Defensive Security Handbook: Best Practices for Securing Infrastructure
- OREILLY
Features:
Specs:
Height | 9 Inches |
Length | 6.9 Inches |
Number of items | 1 |
Weight | 1.0802650838 Pounds |
Width | 0.5 Inches |
11. Computer Networks 5th By Andrew S. Tanenbaum (International Economy Edition)
- Built-In Headphone AMP. Powers up every sound detail in gaming. 3 headphone Amp gain modes for different usage scenario
- Dolby Headphone for an immersive 5.1 surround imaging
- GX2.5 for realistic 3D audio effects.Audio Processor :C-Media CMI8786 High-Definition Sound Processor (Max. 96KHz/24bit)
- Automatic jack-sensing front-panel output. Audio auto-switched from back to front with headphone plugged in!
- Go to the sound and audio device of Windows Control Panel to check if the playback default device is set to Xonar DGX Audio Device, instead of other onboard AC97 or HDA codec device. If it’s not, please set it to Xonar DGX Audio Device and restart your application. The S/PDIF protocol specification (IEC-60958) can only carry 2-channel PCM data or non-PCM AC3/DTS data. So, when a user selects PCM output for S/PDIF, the Xonar sound card will always deliver 2 channel PCM data through the S/PDIF output port
Features:
Specs:
Height | 7.99211 Inches |
Length | 10.15746 Inches |
Number of items | 1 |
Weight | 2.380992274121 Pounds |
Width | 1.33858 Inches |
12. Foundations of Python Network Programming: The comprehensive guide to building network applications with Python (Books for Professionals by Professionals)
Used Book in Good Condition
Specs:
Height | 9.25 Inches |
Length | 7.52 Inches |
Number of items | 1 |
Release date | December 2010 |
Weight | 1.45725555182 Pounds |
Width | 0.83 Inches |
13. Networking for VMware Administrators (VMware Press Technology)
- Factory sealed DVD
Features:
Specs:
Height | 9.25 Inches |
Length | 7 Inches |
Weight | 1.2786811196 Pounds |
Width | 0.75 Inches |
14. MPLS Fundamentals
Used Book in Good Condition
Specs:
Height | 9.25 Inches |
Length | 7.5 Inches |
Number of items | 1 |
Weight | 2.40744790104 Pounds |
Width | 1.5 Inches |
15. Mastering System Center 2012 R2 Configuration Manager
- Sybex
Features:
Specs:
Height | 9.200769 Inches |
Length | 7.40156 Inches |
Number of items | 1 |
Weight | 2.7006627095 Pounds |
Width | 1.901571 Inches |
16. Guide to UNIX Using Linux (Networking (Course Technology))
Used Book in Good Condition
Specs:
Height | 9.27 Inches |
Length | 7.36 Inches |
Number of items | 1 |
Weight | 2.49 Pounds |
Width | 1.13 Inches |
18. Sams Teach Yourself Networking in 24 Hours
- Used Book in Good Condition
Features:
Specs:
Height | 9.13 Inches |
Length | 7 Inches |
Number of items | 1 |
Release date | June 2009 |
Weight | 1.46386941968 Pounds |
Width | 0.97 Inches |
19. Head First Networking: A Brain-Friendly Guide
- Used Book in Good Condition
Features:
Specs:
Height | 9.25 Inches |
Length | 8 Inches |
Number of items | 1 |
Weight | 2.23107809144 Pounds |
Width | 1.06 Inches |
20. Networking For Dummies (For Dummies (Computer/Tech))
- Wiley
Features:
Specs:
Height | 9.200769 Inches |
Length | 7.40156 Inches |
Number of items | 1 |
Release date | May 2016 |
Weight | 1.3668660244 Pounds |
Width | 1.200785 Inches |
🎓 Reddit experts on computer networks books
The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where computer networks books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
Good on you for looking to grow yourself as a professional! The best folks I've worked with are still working on professional development, even 10-20 years in to their profession.
Programming languages can be thought of as tools. Python, say, is a screwdriver. You can learn everything there is about screwdrivers, but this only gets you so far.
To build something you need a good blueprint. For this you can study objected oriented design (OOD) and programming (OOP). Once you have the basics, take a look at design patterns like the Gang of Four. This book is a good resource to learn about much of the above
What parts do you specify for your blueprint? How do they go together? Study up on abstract data types (ADTs) and algorithms that manipulate those data types. This is the definitive book on algorithms, it does take some work to get through it, but it is worth the work. (Side note, this is the book Google expects you to master before interviewing)
How do you run your code? You may want to study general operating system concepts if you want to know how your code interacts with the system on which it is running. Want to go even deeper with code performance? Take a look at computer architecture Another topic that should be covered is computer networking, as many applications these days don't work without a network.
What are some good practices to follow while writing your code? Two books that are widely recommended are Code Complete and Pragmatic Programmer. Though they cover a very wide range (everything from organizational hacks to unit testing to user design) of topics, it wouldn't hurt to check out Code Complete at the least, as it gives great tips on organizing functions and classes, modules and programs.
All these techniques and technologies are just bits and pieces you put together with your programming language. You'll likely need to learn about other tools, other languages, debuggers and linters and optimizers, the list is endless. What helps light the path ahead is finding a mentor, someone that is well steeped in the craft, and is willing to show you how they work. This is best done in person, watching someone design and code. Also spend some time reading the code of others (GitHub is a great place for this) and interacting with them on public mailing lists and IRC channels. I hang out on Hacker News to hear about the latest tools and technologies (many posts to /r/programming come from Hacker News). See if there are any local programming clubs or talks that you can join, it'd be a great forum to find yourself a mentor.
Lots of stuff here, happy to answer questions, but hope it's enough to get you started. Oh, yeah, the books, they're expensive but hopefully you can get your boss to buy them for you. It's in his/her best interest, as well as yours!
> Could you please go more in-depth on what you mean by seeing how the components work in harmony and understanding the needs of the different ones?
The absurdly short and easy for me response is:
https://www.amazon.com/Network-Warrior-Everything-Need-Wasnt/dp/1449387861
https://www.amazon.com/Practice-System-Network-Administration-Enterprise/dp/0321919165
The longer and more useful response would best be shared in a pub, assisted by frothy adult beverages of wisdom.
But, I'll give it a shot using the restrictive written word as a medium.
The CCNA certification will teach you the fundamentals of network design & configuration.
The MTA or MCSA certifications will teach you the fundamentals of Windows client and server design & configuration.
But what they don't tell you is when is a Catalyst 2960-series switch the right tool for a task, and what is something beefier like a Nexus 3K or 5K series device the more appropriate tool.
The driving factors behind appropriateness is in the details of the requirements.
Client devices (if we ignore WiFi) seldom have redundant network connections.
So laptops & desktops do not require redundant Layer-1/2 connectivity.
But all servers have, or should be equipped with redundant NICs, capable of some form of teaming configuration to form an active/active, or active/passive redundant team. The LAN solution must be compatible with this.
Then traffic volume. Client devices do not generally require frequent, sustained high volume network flows. Most client systems burst occasionally while they open a file, then settle back down to idle-chatter as they check e-mail every minute or so.
Some servers, like a DNS server receive never-ending, continuous bursts of small packet exchanges. Ass-loads of them. From thousands of source-addresses. Just a dozen packets in the conversation, which is then broken down and ended - conversation over.
Other servers, like a Hadoop cluster-member will chuck along fairly-quietly for short to medium periods of time, then engage in massive, sustained bursts of replication traffic or query exchanges.
Small, short conversations do not require extensive network buffering capability, and are not generally latency-sensitive. So general-purpose LAN hardware might be an appropriate tool for the job.
But very heavy workloads, or loads that ARE latency-sensitive (High Performance Computing, for example) might demand specialized network hardware designed for such activities.
-----
Beyond the network, one must understand the application workloads.
Some applications or systems might make ass-loads of DNS lookups.
A DNS query is not a complicated, or network-capacity intensive workload.
But if you know the application will be doing it, and will benefit from low-latency access to a DNS server, deploying an additional DNS server very close to the application might make a lot of sense.
-----
> There is one other school I have been considering. <AAS @ Green River>
I roll my eyes at the inclusion of CompTIA A+ material in a college curriculum.
That just strikes me as such a trade-school topic.
It's not bad material, but its like learning to change automotive oil as part of a mechanical engineering curriculum.
I see two Linux classes and two Network classes, so those things make me happy.
But I don't get a sense that this degree will transfer well.
I see things that should make you employable though.
The A+ cert won't get you a guaranteed job.
But the A+ and Sec+, combined with that array of associated educational topics should prepare you to hold your own in a reasonable interview.
Nothing is guaranteed, but that should be adequate.
-----
> How do you feel about a Business Degree with an (M)IS major vs a Bachelors of Science in Information Technology (maybe with a business minor)?
No objection from me on these degrees. Some of them do a better job of making sure you can see & speak-to the bigger picture, or higher altitude view of why these IT systems are important to the business.
IMO: Project Management is NOT an early-career role, but Systems Analysts, as players on a project team is certainly something early-career staff can perform.
> Do you think having a BBA would be detrimental for a career in technology?
Nope. knowledge trumps education.
> I hear some people say that MIS degrees aren't technical enough, or that they have a hard time finding a job after graduation.
Well, an MIS degree probably isn't technical enough for some job roles or position descriptions.
But an MIS degree with a CompSci minor might do the trick, for some roles.
But let's be honest, an MIS degree, all by itself is not the right degree for a position like "Lead Enterprise Architect for Mobile Application Development".
But an MIS degree, plus 9 years of experience developing software might be the right combination of education & experience for that role.
Let's also look at MIS v/s CS and IS/IT objectively, analytically.
Every single student in a college or university damned well knows that a CompSci degree is a fast-path to stable employment.
It's not quite a golden ticket for fame & fortune, but its among the most in-demand and immediately employable degrees available.
Employers & recruiters / placement agencies are actively searching for graduates that can survive a basic interview without drooling on themselves or sexually assaulting the recruiter.
There is a fixed and steady pipeline for CompSci graduates.
But CS includes a lot of big scary math, some of the biggest math requirements for any undergraduate degree track. And this scares away a lot of applicants.
A pecking order of "CompSci-light" degree options forms up, with these students all trying to get a degree that qualifies them to attend the Technology career fair, but protects them from evil math.
InfoTech, with it's focus on the nuts & bolts of operating systems, databases, networks & security proudly in a top-level tier beneath CompSci, and Computer Engineering. We rub elbows with Software Engineering grads who swear SoftEng is better, & more useful than CompSci.
InfoSystems, is watered-down InfoTech with more database and business-focus, and fewer nuts & bolts courses.
Management Info Systems is even more watered down technology material, with even more emphasis on business administration & data.
IS & MIS ARE useful degrees, and those roles ARE truly beneficial to the organization.
But the pipeline is smaller for those degrees within the Technology Career Fair.
But here is the fun fact for IS and MIS degrees:
They can attend the non-technology career fair if they want to.
IS & MIS might not have been highly in-demand at the technology career fair, but you have a whole different recruiting team with a completely different variety of slots to fill at the non-tech fair. IS & MIS starts looking much better & more attractive in this environment where they are actually hiring more project managers & analysts as opposed to developers & engineers.
-----
Some colleges, especially community colleges might only have a single career fair, but the concept still applies. MIS is valid for both technology and non-technical (less-technical) positions.
I looked at the FreeCodeCamp curriculum, it looks good for an entry level javascript developer, so since you already started it, you might as well finish it (since, like I said, everybody implicitly expects you to know at least one of python/js/perl as well as HTML+CSS).
2 hours per day is a bit too little IMO - but I understand that it's hard to find time when you have a demanding job and a family that needs time and attention. Just study as much as you can, 2h being the mininum (do keep in mind that CS students, your competition, will be studying at least 8h/day for at least 4 years with tons of homework and more advanced material). So you should probably focus on studying more in the weekends (just typing and thinking about this, I'm actually lucky I started when I was a kid, with all my bills paid for!)
Anyways. You should focus on getting a job first - do keep doing the FreeCodeCamp, as many hours in the day and weekends as you can. Explain to your significant other, if you haven't already done so, your plan - that you're studying hard to upgrade your career, that it might take some time away from them but it will pay off in the long run, etc. Ideally you should be studying at least 4h/day, so try to keep close to that, study more on weekends if necessary. Check this guy for reference on his plan and what he's studying (and note that he's studying full-time - a luxury, I know, but just to put your 2h/day into perspective). This guide is helpful too. Note that you don't need to know all that to get an entry-level development job, but keep that plan in mind for the long run (as you progress your career).
Once you finish the FreeCodeCamp, or even before (I would say, once you finish "Basic Algorithm Scripting"), try doing some local interviews if you can do it without jeopardizing your current job just to get a feel of how interviews work. You won't be trying to get a job (but hey, if you do, awesome), this is just to get your feet wet on interviewing (which is a skill in itself). Since you're not shooting to get a job right now, you won't be as nervous, which is the state of mind you want to be in. If you're relaxed you can talk better, think better, make jokes, be more presentable, which is great - this will put you in the right mood for your future interviews. Try finding people online that can do mock interviews with you in the area you will be focusing on (web/javascript/frontend initially).
Once you're past the basic HTML/CSS part and you start studying JavaScript, I suggest you look into Python as well at the same time. It is a very simple language, quick to learn, and will double your opportunities for employment. As you study both at the same time, you might notice that you like one or the other better - if that happens, focus more on the one you like better, this will accelerate your learning and get you ready for a job faster in your chosen language.
At one point you'll finish HTML/CSS and JavaScript+Python (finish as in be comfortable with them - you'll see that you'll still learn new things as years go by, it will take a few years for you to "master" them). After you're comfortable with JavaScript and Python (and hopefully gainfully employed in development), start studying that book (where you'll learn a GREAT deal about many important things, it will be a dense read, and you will come out of it knowing assembly and C) and then you can focus on algorithms and exercising your thinking with algorithmic puzzles and how computer networks work, operating systems and everything that is generally on this list.
Then after studying all that and with 2-4 years of experience under your belt (and still studying 4h/day), you can start thinking about the next level in your career and preparing for it (larger companies, mid to senior positions, etc) - add a couple more years of experience and you'll be ready to interview for large Valley companies (Google, Apple, FB, etc).
If you plan to self-study all the way through and never join an University, you can look into full-fledged CS courses online and follow that to get a complete theoretical background on CS (that all your colleagues will eventually have and expect of you, at some point in the future).
A lot of recommendations for TCP/IP Illustrated. It's a great book, but it's more concerned with host TCP/IP stacks, rather than actual network hardware. In my opinion: Interconnections: Bridges, Routers, Switches, and Internetworking Protocols, another excellent textbook which has very little intersection with the TCP/IP Illustrated series covers more relevant information for a hands-on network administrator. Steven's has a developers mindset approach, so if you're working with a host TCP/IP stack (as a developer, or tuning as a systems administrator) it might actually be more handy, but if you don't dabble much as a developer (if gethostbyname() or sockaddr_t means nothing to you then this isn't the book for you). As someone who has read many of these books and worked as a network admin for the past 7+ years, the theory and knowledge gleaned by the book is incredibly useful but not essential for a network administrator.
The aforementioned link to the book I mentioned in my opinion is wonderful and definitely worth reading. Furthermore, original RFCs make for great reading when the time is right. Also, buff up on network security and cryptography, for which I would recommend: Network Security: Private Communication in a Public World; probably the best introductory book on this matter.
Once you've mastered the basics of being a network administrator, then you should broaden your scope and maybe revisit TCP/IP Illustrated and maybe Unix Network Programming and other great books on the topic. I would also recommend picking up programming languages and the like, writing your own tools, maybe reimplementing traceroute to get an understanding of low-level network programming (and of course the traceroute algorithm). I should also mention, for a systems admin, it's essential you learn how to automate/program. Don't trust the tools that you're given, at best they're mediocre, at worst they don't work or come with support. You will need to be able to readily provide the support that you won't get from vendors, and it's always going to be an uphill battle. Less so with network administration, but it happens quite a bit as well.
Anyway, that's my advice. But when I read TCP/IP Illustrated as the essential book for a Network Administrator, it reminds me of people suggesting The Art of Computer Programming to a novice programmer. Those books are more advanced than you expect.
> For those who prefer video lectures, Skiena generously provides his online. We also really like Tim Roughgarden’s course, available from Stanford’s MOOC platform Lagunita, or on Coursera. Whether you prefer Skiena’s or Roughgarden’s lecture style will be a matter of personal preference.
>
> For practice, our preferred approach is for students to solve problems on Leetcode. These tend to be interesting problems with decent accompanying solutions and discussions. They also help you test progress against questions that are commonly used in technical interviews at the more competitive software companies. We suggest solving around 100 random leetcode problems as part of your studies.
>
> Finally, we strongly recommend How to Solve It as an excellent and unique guide to general problem solving; it’s as applicable to computer science as it is to mathematics.
>
>
>
> [The Algorithm Design Manual](https://teachyourselfcs.com//skiena.jpg) [How to Solve It](https://teachyourselfcs.com//polya.jpg)> I have only one method that I recommend extensively—it’s called think before you write.
>
> — Richard Hamming
>
>
>
> ### Mathematics for Computer Science
>
> In some ways, computer science is an overgrown branch of applied mathematics. While many software engineers try—and to varying degrees succeed—at ignoring this, we encourage you to embrace it with direct study. Doing so successfully will give you an enormous competitive advantage over those who don’t.
>
> The most relevant area of math for CS is broadly called “discrete mathematics”, where “discrete” is the opposite of “continuous” and is loosely a collection of interesting applied math topics outside of calculus. Given the vague definition, it’s not meaningful to try to cover the entire breadth of “discrete mathematics”. A more realistic goal is to build a working understanding of logic, combinatorics and probability, set theory, graph theory, and a little of the number theory informing cryptography. Linear algebra is an additional worthwhile area of study, given its importance in computer graphics and machine learning.
>
> Our suggested starting point for discrete mathematics is the set of lecture notes by László Lovász. Professor Lovász did a good job of making the content approachable and intuitive, so this serves as a better starting point than more formal texts.
>
> For a more advanced treatment, we suggest Mathematics for Computer Science, the book-length lecture notes for the MIT course of the same name. That course’s video lectures are also freely available, and are our recommended video lectures for discrete math.
>
> For linear algebra, we suggest starting with the Essence of linear algebra video series, followed by Gilbert Strang’s book and video lectures.
>
>
>
> > If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
>
> — John von Neumann
>
>
>
> ### Operating Systems
>
> Operating System Concepts (the “Dinosaur book”) and Modern Operating Systems are the “classic” books on operating systems. Both have attracted criticism for their writing styles, and for being the 1000-page-long type of textbook that gets bits bolted onto it every few years to encourage purchasing of the “latest edition”.
>
> Operating Systems: Three Easy Pieces is a good alternative that’s freely available online. We particularly like the structure of the book and feel that the exercises are well worth doing.
>
> After OSTEP, we encourage you to explore the design decisions of specific operating systems, through “{OS name} Internals” style books such as Lion's commentary on Unix, The Design and Implementation of the FreeBSD Operating System, and Mac OS X Internals.
>
> A great way to consolidate your understanding of operating systems is to read the code of a small kernel and add features. A great choice is xv6, a port of Unix V6 to ANSI C and x86 maintained for a course at MIT. OSTEP has an appendix of potential xv6 labs full of great ideas for potential projects.
>
>
>
> [Operating Systems: Three Easy Pieces](https://teachyourselfcs.com//ostep.jpeg)
>
>
>
> ### Computer Networking
>
> Given that so much of software engineering is on web servers and clients, one of the most immediately valuable areas of computer science is computer networking. Our self-taught students who methodically study networking find that they finally understand terms, concepts and protocols they’d been surrounded by for years.
>
> Our favorite book on the topic is Computer Networking: A Top-Down Approach. The small projects and exercises in the book are well worth doing, and we particularly like the “Wireshark labs”, which they have generously provided online.
>
> For those who prefer video lectures, we suggest Stanford’s Introduction to Computer Networking course available on their MOOC platform Lagunita.
>
> The study of networking benefits more from projects than it does from small exercises. Some possible projects are: an HTTP server, a UDP-based chat app, a mini TCP stack, a proxy or load balancer, and a distributed hash table.
>
>
>
> > You can’t gaze in the crystal ball and see the future. What the Internet is going to be in the future is what society makes it.
>
> — Bob Kahn
>
> [Computer Networking: A Top-Down Approach](https://teachyourselfcs.com//top-down.jpg)
>
>
>
> ### Databases
>
> It takes more work to self-learn about database systems than it does with most other topics. It’s a relatively new (i.e. post 1970s) field of study with strong commercial incentives for ideas to stay behind closed doors. Additionally, many potentially excellent textbook authors have preferred to join or start companies instead.
>
> Given the circumstances, we encourage self-learners to generally avoid textbooks and start with the Spring 2015 recording of CS 186, Joe Hellerstein’s databases course at Berkeley, and to progress to reading papers after.
>
> One paper particularly worth mentioning for new students is “Architecture of a Database System”, which uniquely provides a high-level view of how relational database management systems (RDBMS) work. This will serve as a useful skeleton for further study.
>
> Readings in Database Systems, better known as the databases “Red Book”, is a collection of papers compiled and edited by Peter Bailis, Joe Hellerstein and Michael Stonebreaker. For those who have progressed beyond the level of the CS 186 content, the Red Book should be your next stop.
>
> If you insist on using an introductory textbook, we suggest Database Management Systems by Ramakrishnan and Gehrke. For more advanced students, Jim Gray’s classic Transaction Processing: Concepts and Techniques is worthwhile, but we don’t encourage using this as a first resource.
>
> (continues in next comment)
Nand to Tetris (coursera)
the first half of the book is free. You read a chapter then you write programs that simulate hardware modules (like memory, ALU, registers, etc). It's pretty insightful for giving you a more rich understanding of how computers work. You could benefit from just the first half the book. The second half focuses more on building assemblers, compilers, and then a java-like programming language. From there, it has you build a small operating system that can run programs like Tetris.
Code: The Hidden Language of Hardware and Software
This book is incredibly well written. It's intended for a casual audience and will guide the reader to understanding how a microcontroller works, from the ground up. It's not a text book, which makes it even more more impressive.
Computer Networking Top Down Approach
one of the best written textbook I've read. Very clear and concise language. This will give you a pretty good understanding of modern-day networking. I appreciated that book is filled to the brim of references to other books and academic papers for a more detailed look at subtopics.
Operating System Design
A great OS book. It actually shows you the C code used to design and code the Xinu operating system. It's written by a Purdue professor. It offers both a top-down look, but backs everything up with C code, which really solidifies understanding. The Xinu source code can be run on emulators or real hardware for you to tweak (and the book encourages that!)
Digital Design Computer Architecture
another good "build a computer from the ground up" book. The strength of this book is that it gives you more background into how real-life circuits are built (it uses VHDL and Verilog), and provides a nice chapter on transistor design overview. A lot less casual than the Code book, but easily digestible for someone who appreciates this stuff. It culminates into designing and describing a microarchitecture to implement a MIPS microcontroller. The diagrams used in this book are really nice.
I was in your same shoes 3 years ago when I took my first SA internship. I was the only person on site for 8 employees locally, 30 around the country.
I was scared to make actions at first but the first thing you need to do is learn your network in and out and document the shit out of everything before you even make a change. After that, you will be confident and I am sure of it.
1.) Begin a document called "IT Department Handbook" - add everything you find to it, except passwords. Refer to it, love it, it will always save you. Include disaster recovery in it. Make it so that a third grader can understand it. I have one thats 50 pages right now. This will save you as it has saved me so many times. Make it confidential though, because it will end up holding information you don't want people to see on the outside such as IP addresses and your network map.
2.) Keep passwords file but separate from the system and indistinguishable. I actually keep a password file on my phone in my memo's app but I don't have the full account usernames associated with each one. I provide really indistinguishable hints to the username, usually riddles that only I would know.
3.) Get Veeam endpoint backup and find a place to backup your DC (full backup) and any databases at the very least. You can create a standard for backups later.
3a.) Find the Domain Controller's recovery password immediately.
3b.) Create a recovery USB for all your servers and put them in a location where you can find them later.
4.) Get a Network Diagram going, then after that...
5.) List all Roles and Features each server has on the network diagram, what each server stores, what applications run on them and how essential they are to the business. Example: Domain Controller. No domain controller, no work can be done. CRM: No crm, people can't keep of their cases on the webserver but rather locally, they can live without it for a short time. Start thinking about disaster recovery.
6.) Develop a Khanban System. It's an agile project management method I learned from reading This Book -- I highly suggest buying this to help you better your practice. Put tasks in the backlog and move the ones you think need to be done sooner than others to your daily or weekly sprint.
7.) Find out who uses what server for certain tasks. This may take a while but it helps.
8.) Something I do personally before doing any changes to Group Policy or Regedit is I save their current configurations before making changes. Therefore, if something doesn't work right after a setting is changed, you can quickly revert back to it's last state.
9.) If you have the capability and hardware, get clustering going. So if a DC1 fails, DC2 takes over and everyone can still authenticate and work.
10.) If you have the capability and hardware, create a test environment reflecting your live network on a very small scale but enough to test "Ok so if I make this change, can people from workstations still login, can they still access the development server... etc." - you can create a test domain under your current forest and have it remain separate in this test environment.
11.) If it's not already in place (this might take some time) create a naming nomenclature standard. I.E. DC1.example.com (domain controller 1), DC2.example.com, PS1.example.com (production), WEBS1.example.com (webserver), TE1.example.com (test env.), WK1.example.com (workstation number 1...2...), VM1.example.com (virtual machines). This will help when it comes to debugging issues. My boss likes to make personal names for his servers which drives me fucking nuts because we have 20 servers between us and our clients that we manage. It's a lot better for him to mention "yea I cant get into PS1." rather "I cant get into rabbit" - and there I am trying to remember which server rabbit is and what features it holds off the top of my head; which is where a network diagram can come into play.
So essentially a chat service? You're right that a LAN is simply a network of devices, not necessarily connected to the Internet, but from a machine perspective, communicating over LAN vs over the internet isn't all that different. It's what you want to do with the devices in your LAN that makes things more challenging.
At a super high level, you'd have your "server" code on your macbook, which would manage the devices attached to it, and your clients, which would reach out to the server. When you type a message, it will get sent to the macbook (server), which will then relay the message to all the other devices. This is something that can most definitely be done in Python (and probably swift, but I've never used it). For Python, look into the socket library, but I would do more research into the network stack in general before attempting to go into any code, especially if the end goal of this is to have a strong grasp of network programming.
YMMV, but when I was taking a networks class, the textbook we used was https://www.amazon.com/dp/0132856204/, which was surprisingly helpful, and explained things very well. I'm sure there are plenty of free resources out there as well though (and most likely free pdf versions of that book somewhere). At a glance, it looks like this link gives a very in-depth view of the network stack, and how data is transmitted.
Code is also a good book. If you want textbooks:
This is a good one for computer architecture. And there's a companion course/website at www.nand2tetris.org. https://www.amazon.com/Elements-Computing-Systems-Building-Principles/dp/0262640686/ref=ed_oe_p
I like this one as far as operating systems go: https://www.amazon.com/gp/aw/d/1118063333/ref=dp_ob_neva_mobile
For learning programming, I would check out courses at www.udemy.com. But be mindful of ratings & reviews because the quality of courses can vary pretty drastically. But I've had good experiences there. www.udacity.com also has great courses. They offer paid nanodegrees but you can take every individual course free of charge. www.teamtreehouse.com is another good website
If you're interested in networking, this is a good book for starters: https://www.amazon.com/gp/aw/d/0768685761/ref=dp_ob_neva_mobile
Any A+/Network+ certification books or courses would also be a great way to learn networking and computer hardware
Those are pretty big topics in tech & computer science. There's a ton of stuff to learn. I've been studying this stuff for probably 2-3 years and sometimes I feel like I've barely scratched the surface. Let me know if that helps & if there are other topics you'd want book recommendations on! :)
I'd like to preface this by saying that I am certainly not the world's greatest security expert and that there are many people who are more qualified to speak to this matter. Hopefully some of them will see your post and chime in.
In my experience the less complex the product is, the easier it is to both maintain and secure. Therefore, knowing what you're building and how to build it gives you much better control over the security of it. Unless you're apart of an extremely tight-knit team that includes your SysOps and DevOps people or you're developing the product and the product's host environment by yourself, then there will always be aspects of security outside of your control. However, putting time and effort into the security of the product itself is typically a rewarding investment.
Books:
This book is focused on introducing security considerations into the phases of the SDLC. The information in this book is a bit more advanced than Security Software (included below) but not inaccessible to a beginner. Understanding architectural risk analysis is a valuable skill in any tech environment.
I would say this book is a must-have if you develop any sort of Java web app or API. The authors manage to cover a lot of territory in a very understandable format.
Another book that is primarily aimed at introducing security into each phase of the SDLC. When I first started working in software development I found it extremely helpful at convincing some "old guard" types why red teaming products is extremely valuable. You may want to read this before reading Threat Modeling.
Networking is definitely not my strongest skill but this book breaks down some concepts of network monitoring and threat detection in ways that are easy to understand.
Internet is a very complex global network of networks. Internet security is a bit vague term, what you really are looking for is network security, but even before you go for understanding security you first need to understand how network communication works. First understand the basics.
Network communication is made possible by hardware and software stack. Electrical/telecom engineers take care of the hardware part, i-e how the data has to be multiplexed into signals (see Frequency division multiplexing, Time Division Multiplexing) and transmitted over through some medium and de-multiplexed again at the receiver end.
Software stack is an implementation of set of protocols/standards through which communication between processes, devices and networks is made possible, the famous one is TCP/IP stack. There is another conceptual networking model OSI model as well but TCP/IP is the most well known and widely implemented protocol stack. Make yourself familiar with the TCP/IP stack, you should grasp basics like how different layers of stack communicate with each other and how different protocols work together to make the magic of internet possible.
You should learn the HTTP request/response flow and then relate it to what you have learned so far.
When you are done with these, move towards more advance stuff. Network security involves understanding about cryptographic algorithms that includes symmetric (eg AES) and public key cryptography (RSA) and hashing algorithms (SHA, MD5 etc). Get an overview about these systems, how and why they are used. These cryptographic algorithms/concepts Cryptography is based on mathematics especially number theory but you don't need to worry about that at the moment. Abstract understanding is important before you get into more details.
Learn about how SSL works. Exploits work at almost all levels of protocol stack, starting from exploits in HTTP and TCP to lower level packet sniffing and Man in the middle attacks. Learn a front end web language i-e javascript and at least know about one server side scripting language, PHP is one of the easiest to learn.
I recommend Computer Networking: A top down Approach by Kurose, this book explains the complex concepts in a very intuitive language and is used as a text for undergraduate networks course throughout the world.
Computer Networking: A Top-Down Approach
Cryptography and Network Security: Principles and Practice
There is another very good book TCP/IP Protocol Suite by Behroz Forouzan but the text is very dense and detailed, and usually is taught at advanced undergraduate or graduate level networking courses.
Read good and famous security blogs and Keep learning with a lot of patience. Cheers!
Tl;dr Python works, it's super popular and you'll be able to transfer most things you learn there to other languages.
Some examples you might run into:Caprica - ACL descriptive language (https://github.com/google/capirca)
You should understand caprica as a tool, and why you might want to use it (not deeply, just enough to see why you might use things like rule/subnet minimization etc.)
Rancid - Backup automation (uses *cringe* Expect http://www.shrubbery.net/rancid/) look at oxidize instead but rancid was the standard for years (over a decade?)Nmap - Lua scripting (you may need to write custom scanners https://nmap.org/book/man-nse.html)
Network Security Monitoring - This is more a discipline you'll probably need to understand, and even while it's a little dated I would suggest the no starch press book on the practice. Understanding where you should use a simple beam splitter or an active tap etc is important too, but you've probably had plenty of experience there. I wouldn't focus on too many different tools but you can certainly test things like Bro/Surricata out on your personal network with pretty minimal modifications to understand the concept.--
Scripting will help you do really basic things like be able to take a single SNMP walk command for a single OID and run it against a csv/txt file list of assets. It helps give you the fundamentals to fix/change the tools you'll have to use as a network security engineer.
Understanding Certs is super important, so knowing some basic things: how to extract a certificate/private key in any format you need it. How to verify a certificate is valid with a copy of the Certificate Authority, how to verify a certificate is still valid. What's the minimum required process to renew a certificate etc.
Also, you'll probably have to deal with break/inspect (*transparent* tls proxies) so learning and understanding how certificate (x.509) based systems work even lends itself there. Unfortunately scripting tools for that kinda thing suck/are missing pieces so basically I would say learn how to use openssl really well/make yourself some good bookmarks for references.
This book has been suggested a few times so I finally got around to reading it. I think it has some good information in it. I'm only about halfway through it, but I like it so far.
Time Management for System Administrators
Other books would be any of the social books like "How to influence people", "7 healthy habits..." Etc.
I haven't read this one yet, but It has been suggested to me if you plan to go more into management/leadership Start with Why
Other books that have I have ear marked due to being mentioned:
Also, do a search for "Books for IT Professionals" to find a lot of other suggestions.
Off the bat I know we look for candidates who know python or powershell. Knowing how to automate is extremely valuable. We've been giving this book to our network engineers, but I feel it could be helpful for sys admins as well.
https://www.amazon.com/Network-Programmability-Automation-Next-Generation-Engineer/dp/1491931256/ref=sr_1_3?ie=UTF8&amp;qid=1521053597&amp;sr=8-3&amp;keywords=network+automation
Also, LEARN and LOVE virtualization. If I can trust you to spin up a VM for something like a training or testing environment, I will hire you. The MCSA is still valuable as well. You're already on the right track for management because your holding a degree. Get your skills up some and you'll be making bank.
If you ask me, Andrew Tanenbaum books are AWESOME. Not cheap but this guy takes a good bottom to top approach, if you really want to understand networking down to the TCP/IP stack get this.
Computer Networks If I can offer you a shred of advice, understanding what is happening under the hood and the 'big picture' of network design becomes an easy concept.
On the flipside - here is a good Top Down approach to networking Computer Networking Top-Down
Best of luck with your studies!
It seems your problem is not programming, but architecture. Namely, how the client-server architecture that most of the web is based on works.
Unfortunately, I couldn't find something that's both easy to understand and comprehensive enough, and I can't really write it here, as either I would have to simplify it too much or I'd have to write way much more than I'm comfortable writing.
So keep google for client server architecture until you find a book/tutorial/article/video/etc that makes you understand and go from there. Don't worry about languages, liibraries, frameworks and all that mumbo-jumbo for now, just focus on understanding what happens when you interact with a website, from start to end. Once you understand that, choose a language, find a framework that you think you'd like and start learning it (some frameworks, like Django, have very comprehensive tutorials). And then you keep improving that until you're satisfied with your project - or you hit your deadline, that product got to ship someday!
EDIT: Actually, I do have a recommendation: the Computer Networking: A Top-Down Approach book. Reading the first chapter will probably be enough for you, but if you enjoy it, you can read a lot more and really (begin to) understand how the Internet (and computer networks in general) work.
What are the position's responsibilities? What is the environment like (number of workstations/servers)? Is there already an SCCM environment in operation? If so, is it 2007/2012/2012 SP1/2012 R2? Is there a team supporting SCCM or would it just be you?
If you're going to be the admin, packaging expect, deployment admin, and sole tech support and you have no experience yourself...that'll be a big learning curve. It's not impossible, but it'll be a lot of research.
Microsoft's Virtual Academy is great.
If you like books, the "Mastering" and "Unleashed" books are two of my favorites. There's a lot of great blogs out there for System Center, too--System Center Central is my default stop, but of course /r/sccm is great too!
And for any questions that you can't get answered via any of those methods, the Technet forums are invaluable. You'll get to be on a first name basis with some of the MVPs, they're phenomenal.
I learnt a lot from Tanenbaum's Computer Networks, though it's not exactly light reading.
If you're going to be/are a Cisco shop*, then a CCENT/CCNA would be really useful (and it also gets you a discount on equipment, but it never beats eBay) - though it's not a bad certification even if you're not a Cisco shop. If you do take that track, I'd recommend CBTNuggets/Jeremy Cioara's videos, though they're not cheap (and I can't think of any way to see videos without paying for them ;) ). By that same token, ASP/APP if you're going to be an HP shop*, JNCIE/JNCIP if Juniper*, BCNE if Foundry/Brocade*, or if you're going to be a Linux/BSD shop*, start tinkering (which is probably the best way to learn anyway).
I've never done or met anyone who's done Network+, though my experience is that CompTIA's certifications aren't held in high esteem.
* Once you start needing managed/enterprise gear, it's generally a good idea to try and keep all their gear from one supplier where possible, because some features don't work between competing products, it makes it easier for the employer to find employees, and it generally makes life easier. For unmanaged/consumer gear, you can mix and match all you want, though most sys/net-admins tend to develop biases for one vendor or another.
Computer Networks A Top Down Approach, by Kurose and Ross. Amazon.
I did not understand the internet. I didn't think that was a big deal, but networking shows up a lot and understanding it has helped me out enormously. This book is excellent, too. It is extremely readable, almost colloquial. It covers the network stack in depth (application/transport/network/link/physical!) as well as other important topics like network security and networked algorithms and data structures. Stuff like distributed hash tables, routing algorithms, and even large scale data center design. Seriously, this book is amazing.
Plus, I was surprised at how many times I've been asked a networks question in interviews. That's not to be sneezed at.
The senior part is more of a technical grade level and not necessarily management... granted I'm in the lead role here, it's my first time as one. All I can say is what help me spring forward at a lull at mid-level was picking up Thomas Limoncelli's books, [the sysadmin one] (https://www.amazon.com/Practice-System-Network-Administration-Enterprise/dp/0321919165/ref=sr_1_1?ie=UTF8&amp;qid=1512041042&amp;sr=8-1&amp;keywords=thomas+limoncelli) and [the cloud one] (https://www.amazon.com/Practice-Cloud-System-Administration-Practices/dp/032194318X/ref=sr_1_3?ie=UTF8&amp;qid=1512041042&amp;sr=8-3&amp;keywords=thomas+limoncelli) /r/sysadmin recommends them too. These are your best practice books, these tell you why to do things, not how. It will turn you from being the guy that mops the floor in a burning building into knowing when to yell, "FIRE!"
Cert wise, unless a specific company or contract requires it, I don't bother with the time and money on certs if you already have years of experience on the books. I'd probably go for a Security+ and then go for a Red Hat and/or CCNA certification as they are both prestigious. Red Hat is a big deal just by its practical application test.
If you want to go into cloud related stuff, you might want to brush up on your programming. This is what is limiting me, I have very minimal bash scripting experience coming from military in the Windows world then making a move to Linux.
Honestly, I would focus on being both as they both overlap very often unless you are in really large stovepipe enterprise environments, but you never know if you need to make a move to something smaller where you have the many hats role. I'd get your degree in something Computer science related (CS, CIS, EE, CE, etc) and then go RHCSA/CE and maybe Sec+/Net+ or instead of Net+ just go for something Cisco related. My networking is Net+ strength at best and I resent not doing better when I was younger.
EDIT: Also, if you can do the math, BS is Computer Science all the way... sysadmins are still really kind of not doing well in the degree program department, mainly because were so... trade-like I guess. Honestly, we're the new Millwrights like my dad was. We keep the factory going and fix it when production stops. It's kind of cool actually, it's nice to be able to have some kinship to my dad in that way.
Senior Level Software Engineer Reading List
Read This First
Fundamentals
Development Theory
Philosophy of Programming
Mentality
Software Engineering Skill Sets
Design
History
Specialist Skills
DevOps Reading List
I'd go read books about the A+ cert (you don't need to certify but it's great material).
For other technical things I recommend a lot of books that are amazing:
Use technology books to learn processes, not end results. To be a better IT person, you should know how computers work as a system, not how to do say "Map network Drive in Windows", learn how those drives are mapped, what are the underlying fundamentals?
I liked
http://www.amazon.com/gp/aw/d/1430230037?pc_redir=1405047805&amp;robot_redir=1
It's starts small and simple and builds on itself very well.
I would also encourage you to make another website with tornado or django. I really enjoy web dev in python and there are a lot of job opportunities in that popping up right now. You should also be using virtualenv. For data analysis you should def checkout Pandas and ipython. You can maybe even integrate your interests. For example make a script that scrapes a bunch of data from the web and displays it in cool graphs. I would also recommend getting a 5$ a month Linux server off for example digital ocean. Learn how to ssh and transfer files to it. You can start running some bots or website on it also.
Hope this helps good luck.
I'd recommend any Linux 101 book geared at whatever distribution you're offering. Many aren't expensive, and you don't need the latest and greatest book unless you want it to include some specific feature (maybe the latest and greatest GNOME).
I used some version of this book years ago, probably this version TBH. It came with a Knoppix and Fedora 14 (I think) CD. https://www.amazon.com/Guide-Using-Networking-Course-Technology/dp/1418837237/ref=pd_sim_14_6?_encoding=UTF8&amp;psc=1&amp;refRID=TYAXJM1QW61ZCH6AKYZA
I also liked this book a teacher had us use for another class, it goes into some more depth though, may be outside what you need.
https://www.amazon.com/Linux-Administration-Beginners-Guide-Seventh/dp/0071845364/ref=sr_1_17?ie=UTF8&amp;qid=1483483869&amp;sr=8-17&amp;keywords=linux+101
Then of course there's the Linux Bible too, there's some good info in there, I don't think it covers SUSE though.
I feel for *nix, you need users to have some desire to learn other than someone telling them they should do it. I liked having a textbook with problems to solve at the end of chapters. Doing it in a class was helpful too, had a bit of competition with others over who could do something with at little work as possible (one liners and such)
Security onion is amazing, I use it myself as a VM in a home esxi server with a cheap 5 port smart switch.
A few quick notes:
My suggestion is to get a cheap switch with port mirror capabilities, like the Mikrotik Routerboard 260gs. Get a wireless AP (or an old router which has AP only mode), and plug this into your switch. Plug your actual router (the one doing the NAT) into the switch, and mirror these to a port that is connected to the security onion box.
That way will get you both ethernet and WiFi traffic. If you have any questions about running security onion in a home setting, feel free to send me a PM.
Sure.
Good luck. You'll do fine.
I'd be interested if there is something like what you're looking for out there. I don't think there is.
One of the things I've discovered over the years is how much of these "golden nuggets of networking history" are sprinkled about in various non-certification networking textbooks. They're generally not in certification-oriented books because there isn't enough room, but they are quite often found in textbooks that cover particular networking topics.
For example, one of my favorites is contained in Developing IP Multicast Networks. Beau Williamson writes:
> There’s an interesting story as to why only 23 bits worth of MAC address space was allocated for IP multicast. Back in the early 1990s, Steve Deering was bringing some of his research work on IP multicasting to fruition, and he wanted the IEEE to assign 16 consecutive Organizational Unique Identifiers (OUIs) for use as IP multicast MAC addresses. Because one OUI contains 24 bits worth of address space, 16 consecutive OUI’s would supply a full 28 bits worth of MAC address space and would permit a one-to-one mapping of Layer 3 IP multicast addresses to MAC addresses. Unfortunately, the going price for an OUI at the time was $1000 and Steve’s manager, the late Jon Postel, was unable to justify the $16,000 necessary to purchase the full 28 bits worth of MAC addresses. Instead, Jon was willing to spend $1000 to purchase one OUI out of his budget and give half of the addresses (23 bits worth) to Steve for use in his IP multicast research.
And that's why we have a 32:1 overlap of multicast IP addresses to multicast MAC addresses today :-)
There are tons of these kinds of things sprinkled about in Radia Perlman's Interconnections book as well.
> Thanks for the advice.
No worries, always good to have a working backup prior to messing with anything; make sure to test the restore though before you tinker. You never know when that backup is a dud until its too late.
> This is for a friend of a friend and a good opportunity.
Understandable, usually the golden mark is two years of experience with some reputable certifications under your belt. I wouldn't put much weight on the A+ line of certs, if your looking for Linux Administration focus on RHCSA its a practical exam and will carry more weight than A+ and CCNA for Infrastructure. Those two are well considered and some companies will hire you just for your CCNA Cisco partner discount.
Document everything that you can for yourself (6 months down the line). First year I carried a composition book around where I wrote down most of my solutions; saved so much time later on when I couldn't remember what I'd done to fix something. Also pickup a copy of the bible if your serious about this as a career.
I'm sort of in the same boat as you, except with an aero and physics background rather than EE. My approach has been pretty similar to yours--I found the textbooks used by my alma mater, compared to texts recommended by MIT OCW and some other universities, looked at a few lists of recommended texts, and looked through similar questions on Reddit. I found most areas have multiple good texts, and also spent some time deciding which ones looked more applicable to me. That said, I'm admittedly someone who rather enjoys and learns well from textbooks compared to lectures, and that's not the case for everyone.
Here's what I gathered. If any more knowledgeable CS guys have suggestions/corrections, please let me know.
Full disclosure: I haven't actually read more than the preface of any of those books. Software engineering topics are more directly applicable to me than CS topics right now, so here are some that I've actually started reading:
the tao of network security monitoring explains a framework for stitching together different pieces of network security data into a process for investigation (the follow-up is also good).
yes, the thing you want is called 'full packet', and yes, it usually involves just sniffing, saving, and indexing all traffic at your network ingress/egress. there's some good open source frameworks like moloch for doing that, or if you've got money kicking around, something like solera or netwitness will do the trick nicely.
First, read our Wiki. It is very thorough and answers a lot of these common questions such as
day to day? The Practice of System and Network Administration
And the topical reference books listed below.
Books to help in shaping a sysadmin? The above &:
The Phoenix Project
Time Management for System Administrators
Topical Books I see mentioned often and have been very helpful to me:
Powershell in a month of lunches
Learn Python the hard way
Unix and Linux System Administration Handbook
Windows Server 2016: Inside Out
Group Policy
AbsoluteBSD
FreeBSD mastery:ZFS
CCNA
RHCSA/RHCE
Pro Puppet
SSH Mastery
On my docket:
FreeBSD Mastery: Advanced ZFS
Michael W. Lucas and Thomas Limoncelli are very good sysadmin writers, you can't go wrong with a topic they have chosen to write about.
Most of the *nix stuff assumes a baseline knowledge of how to use a unix-based system. I learned as I went but did pick up an old copy of Unix Visual Quickstart Guide not too long ago at a used books sale, which seems like a good starting place for someone overwhelmed with sitting at a terminal and being productive.
I notice I don't have any Virtualization books, perhaps someone else can fill in good books. Most of my knowledge regarding virtualization and network storage has been a mix of official docs, video training, and poking at it. Seems innate but it isn't.
You will pick up the knowledge fairly quickly, but the wisdom part comes slowly.
Read some books:
Start humble, stay humble, be quick to listen and slow to speak, and don't make changes on Friday!
Give me a DM if you need some help and I am cool pointing out resources or giving some pointers. The key is to make the data in the end valuable, instead of a jumble of graphs.
It was recommended to me by the Practice of System Administration book, which I highly recommend as it outlines many great 2017-2018 practices .
Ok let me offer my advice as a 12+ years of IT experience and recently inducted I to the SCCM admin world.
As far as SCCM, if you can fake it, I would be hugely impressed. If they already have the SCCM environment, then is possible you might be able to. I have a kindle book that I could loan you if you'd like. It's a mastering SCCM book that's pretty awesome:
http://www.amazon.com/gp/aw/d/111882170X?pc_redir=1408853752&amp;robot_redir=1
If you have experience in SMS this shouldn't be too bad. If the environment isn't built yet, it's hugely difficult (SQL, IIS etc).
You need to figure out what your best at and work towards it. Let me know if I can be of any help. I'm currently a sys admin at a corporation. AD GPO SCCM etc
The first thing to remember is that the OSI model doesn't completely fit many of the network protocols which are widely in use today. Some of our protocols fit nicely in the OSI slots, and others straddle multiple slots. This is a fact of history: many of the network protocols we use today were invented (in some form) before OSI and the OSI model. OSI was, to some extent, a competing set of networking protocols and ideas. That doesn't mean that the OSI model doesn't have great value in allowing people to think clearly about networks.
Ok, what is the OSI model? It is a multi layered model that breaks the delivery of networked applications up into layers, names Physical, Data Link, Network, Transport, Session, Presentation, and Application. The general idea is that each layer of the stack presents a clean interface (sometimes called a contract) to the one above it, such that the lower layers could be swapped out without changing th operation of the upper layers. Some of these layers are more interesting than others, so I'll focus on those.
Highly recommended Computer networks by Andrew Tanenbaum. It's the best book for noobs by far.
A few thoughts. Hopefully at least one of them will be helpful.
I could go on, but most of the above is already in the two books I listed and I'd just be riffing on a theme. I'll leave you with this:
A good start would be to study for any standard certifications in the field, since they cover the basic topics and hey, why not get certified while you are at it? Comptia's N+, Cisco's CCENT or CWNP's CWTS cover the fundamentals of networking.
On the other hand, you could just go through free online lectures like this one on youtube or this one offered by MIT. Of course, there's always the good old-fashioned way to learn- borrow any standard textbook like Tanenbaum.
Learn the fundamentals before you touch any of the crap from a vendor.
Computer Networks by Andy Tanenbaum. Available from Amazon but you should buy a used copy on abebooks for < $10. A newer (e.g. 2002) edition is preferable.
Once you've read that feel free to pick up the trade-oriented certification guides that will teach you command line stuff.
Also, put Linux on an old computer or two. Don't spend more than $100, any old junk will do. Play around with the network tools.
Good luck!
If you have the time, this textbook is the real deal: Computer Networking: A Top-Down Approach
http://smile.amazon.com/Computer-Networking-Top-Down-Approach-5th/dp/0136079679/ref=sr_1_2?s=books&amp;ie=UTF8&amp;qid=1453149284&amp;sr=1-2&amp;keywords=computer+networking+a+top-down+approach
I actually started off watching networking and CCNA tutorials on Youtube, as well as some online guides. They do introduce some concepts, but for me, it was still difficult to grasp how everything was built and how they interact. I'd be able to spout off what the 7 layers of the OSI model are, the basic differences between TCP and UDP, and some other pieces of info. Yet, I didn't feel like I actually understood how networking worked. I felt like I was learning facts here and there, but not learning the fundamentals that tie everything together. Nothing made me go "Ohhh so that's how/why it works!"
Then I got this book. It really explains the concepts well. It felt almost too easy. It begins by explaining how the internet works, what are the different components, how it all came to be, and how they're all connected. It then handles each layer (it does talk about the OSI model, but the book is structured around TCP/IP) from top to bottom and goes into technical detail, along with some math, as well as providing real world examples.
Each concept usually has an accompanying analogy (during the first couple chapters), if that helps you learn. After the TCP/IP chapters, it goes into more specific topics like wireless, security, etc. The end of each chapter also has guided labs (like with Wireshark, for example) and problem sets.
I'd really recommend going through each chapter, taking notes, and doing the labs and problems if you want a solid foundation in how networking works. Having this sort of understanding, to me, really helped when studying CCNA material - which by then would just be learning the commands and configuration.
To answer your question, that depends on what cool shit you're trying to learn!
Udemy has been hit or miss for me, my favorite programming class on there was an embedded systems class taught by the head of the department at Valpo. If that's something you're interested in I can send you the link. Very straightforward, well done, and I feel that I retained/learned a lot from the lectures.
As for learning Linux specifically, I'm working through a three class series on it offered by my local community college. While there's definitely something to be said for having a structure and being accountable, the real gem from the class is the textbook. It's incredibly well written and covers the basics very effectively. If you're interested it's called:
Guide to UNIX using Linux (I have the 4th edition). ISBN - 13: 978-1-4188-3723-5, ISBN - 10: 1-4188-3723-7 Amazon Link
Yes, those are the two sections that I haven't done v4 recordings for yet. Multicast will be added in the near future as part of a larger multicast series I'm working on.
QoS hasn't changed from the SPv3 to SPv4 blueprints. Here they are side by side:
SPv3 Blueprint:
SPv4 Blueprint:
Beyond those QoS videos in the playlist, I would recommend to read the following:
Edit: Also, check out Packet Volume 7 No. 1, First Quarter 1995.. There's a great article on page 11 titled "Building Consistent Quality of Service into the Network". ;)
Nice congrats!
Right now my plans are to not study anything for a while. But after that I am going to study more Python and this:
https://www.amazon.com/Network-Programmability-Automation-Next-Generation-Engineer-dp-1491931256/dp/1491931256/ref=mt_paperback?_encoding=UTF8&amp;me=&amp;qid=
I work a very expanded helpdesk roll at a small credit union, so boss wants me to start studying MCSA and ITIL and eventually Security+. So I have a path there.
I know everyone one likes to carry their momentum into the next cert, but I am just gonna slow down and enjoy some other aspects of my life for a while. I put a lot of stuff on hold as I studied, so I am looking to get a better balance in my life.
'Best practice' is such a vague term that you're going to run into issues defining it in a meaningful way for your client's environment.
I'd look at generic guides (u/jhend28 mentions a good one) but also read up on specifics that apply to your environment. For example: best practice for a level 4 data center hosting financial data for banks etc. will not apply at all you a SME with two servers on premise that don't sell direct and hold no Top Secret data.
Have a read of The Practice of System and Network Administration: Volume 1 for a good starting place.
Head First Networking book
Also not a video but a book that puts most of the concepts in a quick to read and easy to understand format. It can come off as a little cheesy but compared to the often boring and over complex books it was a nice review for me and it starts from the basics which too often people skip or gloss over.
If you want to be a good network engineer, understand it from the bottom up, understand from the hardware, to the packet, then to all the routing and rules and so on. Don't be that guy that just knows a few concepts and some troubleshooting tips but never really knows why the tricks work or how the fixes actually work. I give this advice to techs and software devs too, makes you better in every area to know the system from the ground up.
Check out "The Practice of System and Network Administration: Volume 1: DevOps and other Best Practices for Enterprise IT (3rd Edition)" by Thomas Limoncelli.
https://www.amazon.com/dp/0321919165
I'm also pretty new to this job, and this book has been really helpful in better understanding all that we get to do.
The bandwidth command on an interface affects routing protocol metrics (protocols like EIGRP and OSPF both use bandwidth as a part of their metric calculation) and as I recall it does affect the calcualtion (not actual bandwidth but the calculation which may then affect actual allocation in a policymap) in a QOS policies where the policy references bandwidth percentage (but not hard set expression listed in X bits per second).
&#x200B;
Since I am almost always running an RP on a WAN interface (this is MPLS) that more times than not has less of an allocation than its interface speed the bandwidth statement on the interface matches the allocation from the provider edge / circuit order.
&#x200B;
Then for QOS the shaping command is used to shape the traffic to the correct speed and a sub-policy is used to assign priority queue and bandwidth percentages based on class maps (which are often DSCP based). The is not the only way to skin the QOS cat though.
&#x200B;
This is a newer edition of a book that i used to use as desk reference material, I DO NOT KNOW what if this is the most current. Typically books are not, and instead Cisco online documentation is best. (but I am not hunting for that right now)
&#x200B;
https://www.amazon.com/End-End-QoS-Network-Design/dp/1587143690/ref=sr_1_1?ie=UTF8&qid=1536680974&sr=8-1&keywords=Cisco+press+end+to+end+qos+network+design
&#x200B;
one last thing, the best thing to remember is QOS is a congestion management tool...try to avoid needing congestion management tools by buying circuits that do not get congested.
&#x200B;
&#x200B;
I don't know much about any other websites other than Coursera, so I don't know if there are any courses I'm missing on the other websites.
Security:
On Coursera, I highly recommend the
Cyber Security Specialization. It covers a varied approach to security from multiples perspective and a great start for anyone.
After that you will have to look around for the specific type of security you are interested in. You won't find a MOOC because it is probably too specialized.
If you want a more mathematically rigorous courseload in crypto, I would suggest doing both Crytography I and Lectures by Christof Paar
Networking:
Sadly I haven't come across a good networking course. My current suggestion is to read Computer Networking: A Top down approach. You should be able to find PDFs of 6th ed (don't tell anyone I said that) which is similar to the 7th ed except the last chapter.
After that, you should be comfortable enough, but if you want to dive in deeper, read CCNA and CCNP books for the specific part you want to get a good understanding of (I would suggest starting with CCNA R&S).
Interconnections: Bridges, Routers, Switches, and Internetworking Protocols (2nd Edition)
Internetworking with TCP/IP Volume 1 (5th Edition)
TCP/IP Illustrated, Volume 1: The Protocols (2nd Edition)
are the three 'vendor neutral' books that are recommended by INE as resources for all CCIE tracts.
Cisco CCIE book list contains the following:
Other Publications
Cisco Documentation
Configuring IPv6 for Cisco IOS (Edgar Parenti, Jr., Eric Knnip, Brian Browne, Syngress, ISBN# 1928994849)
Interconnections: Bridges & Routers, Second Edition (Perlman, Addison Wesley, ISBN# 0201634481)
"Internetworking Technology Overview" Available through Cisco Store under doc # DOC-785777
Internetworking with TCP/IP, Vol.1: Principles, Protocols, and Architecture (4th Edition)
(Comer, Prentice Hall, ISBN# 0130183806)
IPv6: Theory, Protocol, and Practice, 2nd Edition (Pete Loshin, Morgan Kaufmann, ISBN# 1558608109)
LAN Protocol Handbook (Miller, M&T Press, ISBN# 1558510990 )
Routing In the Internet (2nd Edition) (Huitema, Prentice Hall, ISBN# 0130226475)
TCP/IP Illustrated: Volumes 1, 2, and 3 (Stevens/Wright, Addison Wesley, ISBN# 0201633469, 020163354X, 0201634953)
edit1:
I own the first three and recommend them for vendor neutral network engineering books, with Perlman's book being the best switching book I've personally ever read.
edit2:
also I find wikipedia articles on computer related topics to be top shelf. I would recommend many of the references and papers referenced in the https://en.wikipedia.org/wiki/Network_theory
article.
> Tanenbaum's Operating Systems - Design and Implementation
It's the bible. Also get his Computer Networks book, another bible :) He's a great writer too, it was one of the few mandatory books we had I read front to back for pleasure.
Appreciate all the upvotes. Given no one has commented, I'm wondering if that means people think it's a cool idea but don't live in NYC? Would anyone be interested in doing this as a remote discussion group?
For the first book I'm thinking:
Computer Networking: A Top-Down Approach
With this self-paced 8 week course (lectures / exams / transcripts all available) https://lagunita.stanford.edu/courses/Engineering/Networking-SP/SelfPaced/info
Let me know =)
They are just now starting to come out. I would recommend these two books "Network Warrior" (this covers real-world applications not covered by the soon former CCNA R&S exam). It is a bit dated but a good read. The other is "Network Programmability and Automation". These should help tide you over until the books come out. Both are on amazon.com
https://www.amazon.com/Network-Warrior-Everything-Need-Wasnt/dp/1449387861/ref=sr_1_3?crid=25XVKEVRZ1LXQ&keywords=network+warrior+3rd+edition&qid=1573413049&s=books&sprefix=network+warrior+%2Cstripbooks%2C232&sr=1-3
https://www.amazon.com/Network-Programmability-Automation-Next-Generation-Engineer/dp/1491931256/ref=sr_1_3?crid=5F6P0KHY1366&keywords=network+programmability+and+automation&qid=1573413098&s=books&sprefix=network+program%2Cstripbooks%2C207&sr=1-3
I got a lot of value out of this book. You'll need to understanding networking fairly well if you want to be a decent VMware engineer.
https://www.amazon.com/Networking-VMware-Administrators-Press-Technology/dp/0133511081
Chris Wahl has a great blog as well: http://wahlnetwork.com/
Honestly, you are never going to find a way to shortcut you out of this situation. No one answer is going to be perfect and get you from A to B if your already at C. I had a similar experience with programming and web development.
I studied computer networking all my adult life and never thought I would be developing as my career at the moment. It is the burden of knowing too much and not having a clear direction. What I needed was more confidence in my skills which can only really develop over the years through experience.
You say you already know a lot of Linux and Bash concepts. CD/CI pipelines try to abstract a lot of OS related involvement since your code doesn’t need to know how low level kernel operations are happening.
What it sounds like you need is knowledge of OS concepts, not just Linux concepts. I say this because every OS has its own way of doing the same thing one way or another.
For example virtual memory, if you understand the concept of virtual memory in any OS rather than a specific OS’s semantics regarding Virtual memory then I think you would be better off in the long run.
If I am wrong and you are the master of the Linux environment, I believe you just need to deep dive into development strategies and the core principles of CD/CI. Once you have a foundation it doesn’t really mater if you are a Jenkins expert or CircleCI expert, all that matters is if you have a foundation to fall back on.
Edit: if you wanted my two cents on material here are some books I recommend.
The Practice of System and Network Administration
Operating Systems Concepts
UNIX and Linux System Administration Handbook
Well you're not going to learn any programming without a computer. But just a book on computer systems or a book on networking will easily overflow 20 days and should be a very interesting read.
I recommend either this book on computer systems or this book on networking.
>I've played around with MPLS in lab environments, and got it working but only in its most basic form, and without truly understanding what's happening in the background.
mpls ip
under global and interfaces <-- MPLS EXPERTHere's a good PDF overview from NANOG titled "MPLS for Dummies."
I also enjoyed CBT Nuggets MPLS Fundamentals course.
Then this book -- MPLS Fundamentals -- is highly rated. (at least on Amazon)
I do see your point to that. As for the different RAID types, I have a basic understanding, but not a professional's grasp. I'd definitely have to look to reference for usage, but I wouldn't feel completely out of my depth.
What would you recommend I should look at in regards to "learning the important stuff?" I've looked up the bootcamp link in the sidebar and plan on getting one of the books mentioned there for starters.
Here are a few books I recommend:
Blue Team Handbook
Defensive Security Handbook
The Practice of Network Security Monitoring
Crafting the Infosec Playbook
And don't forget the NIST Cyber Security Framework
It all ties together. If you want to work in IT, network and hardware certifications are quite valuable.
So let's start with networking. I recommend starting with a book like this one: http://www.amazon.com/Teach-Yourself-Networking-Hours-Edition/dp/0768685761
Once you identify more specific things within networking that you want to learn, you can then get more in depth by finding resources online, and in books.
Even earlier versions would be a very good read despite the DevOps hype, but the 3rd (new) version includes best DevOps practices even without having any devs.
I took general networking courses in college as part of my major and honestly, I didn't learn much. If you want a good book on general networking, read this fantastic book by Radia Perlman:
Interconnections: Bridges, Routers, Switches, and Internetworking Protocols (2nd Edition)
http://www.amazon.com/Interconnections-Bridges-Switches-Internetworking-Protocols/dp/0201634481/ref=sr_1_1?ie=UTF8&amp;qid=1321155480&amp;sr=8-1
If it's a college course where you can get a CCNA at the end, I'd recommend taking that.
Honestly, it sounds like you are a bit over your head... I'd suggest checking out the book "The practice of system and network administration" it has a lot of really useful info about these sorts of things. https://www.amazon.ca/Practice-System-Network-Administration-Enterprise/dp/0321919165/ref=sr_1_1?ie=UTF8&amp;qid=1518211088&amp;sr=8-1&amp;keywords=the+practice+of+system+and+network+administration
I would skip certs for now, only because you need to get up to speed quickly.
I would check r/sysadmin and see what they think.
if you want some advice for books and such, then I suggest the following
1)
Networking for Dummies: - You can probably get this one free from the library. I think my library has it
https://www.amazon.com/Networking-Dummies-Computer-Tech/dp/111925776X/ref=asc_df_111925776X/?tag=hyprod-20&linkCode=df0&hvadid=312114711253&hvpos=1o1&hvnetw=g&hvrand=472462205621134697&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9019032&hvtargid=pla-327835119737&psc=1
This will give you an over view of networking.
2)
The Accidental SysAdmin Handbook: A Primer for Early Level IT Professionals 1st ed. Edition
https://www.amazon.com/Accidental-SysAdmin-Handbook-Primer-Professionals/dp/1484218167
&#x200B;
Understand the concepts, processes and technologies that will aid in your professional development as a new system administrator. While every information technology culture is specific to its parent organization, there are commonalities that apply to all organizations.
The Accidental SysAdmin Handbook, Second Edition looks at those commonalities and provides a general introduction to critical aspects associated with system administration. It further acts to provide definitions and patterns for common computer terms and acronyms.
What You Will Learn
Who This Book Is For
It is assumed that the reader has little to no experience in a professional information technology environment.
&#x200B;
https://www.amazon.com/Time-Management-System-Administrators-Working/dp/0596007833
&#x200B;
Please note - I'm not a system administrator
What specifically? I'd suggest learning about networking in general. I.e. good place to start would be the OSI networking stack, learning about packets & how they organized, downloading and using wireshark to look at the packets going into and out of your machine.
This is the one I used, and it worked really well for me to get a good view of networking. If there's something you don't understand, I think you could google and find relevant tutorials/articles explaining the concepts there, though there's some obscure stuff that you don't need to fully understand (queuing theory) for a basic understanding.
Check out Foundations of Python Network Programming
> This book will be of interest to python programmers who need to program networked applications using Python. From web application developers, to systems integrators, to system administrators—this book has everything you need to know.
>This book assumes that you know how to program in Python, but does not assume that you know anything about networking. If you have used something like a web browser before, and are vaguely aware that your computer talks to other computers in order to display web pages, then you should be ready to start reading this book.
Read Limoncelli's book: The Practice of System and Network Administration: Volume 1. That would give you a good place to start and learn best practices.
&#x200B;
https://www.amazon.com/Practice-System-Network-Administration-Enterprise/dp/0321919165/ref=sr_1_4?s=books&ie=UTF8&qid=1537969093&sr=1-4&keywords=The+Practice+of+System+and+Network+Administration&dpID=5139XV0QYsL&preST=_SX218_BO1,204,203,200_QL40_&dpSrc=srch
&#x200B;
Look at the SANS website. They have some downloadable Word docs with basic questions. Other Google searches for 'audit' checklists will bring up some others.
From the audits that I've been part of, you need to focus on these key areas:
Also, take a look at this book. It helped me get a security program started, from the ground up. https://www.amazon.com/Defensive-Security-Handbook-Practices-Infrastructure/dp/1491960388/ref=sr_1_15?keywords=building+a+network+security&qid=1566233244&s=gateway&sr=8-15
Either one of these two should get you started. I haven't personally read the 2nd one, but I've heard good things.
Followup/Read along with either/both of the following:
So I have the MCSE Mobility and I do not know if that alone will last.
Would rather say it depends on your skill. You can also become a sysadmin without a certificate as the others have already mentioned. The MCSE Mobility does not really go deeper into server landscapes like the MCSA Server 2016 does.
The topics to be covered is:
Deplyoment
Inunte
And SCCM with intune I think.
I chose Deployment because I already had experience.
This contains:
LTIDeployment (mdt)
ZT Deployment (sccm)
WDS
USTMIf you really want to go deeper I can recommend the following book
is also recommended here in the wiki.
https://www.amazon.com/Practice-System-Network-Administration-3rd/dp/0321919165/hope you get your sysdamin place :)
Thanks for linking this, I hadn't seen it yet. As a Windows admin looking to get into Linux, this seems interesting.
Also, for your automation, I'd recommend Automate the Boring Stuff with Python, if you haven't read it already. It can also be found for free here: Automate the Boring Stuff.
I'll add another plug for The Practice of System and Network Information, even if you have a good feel for the philosophical part of the job.
Computer Networking: A Top-Down Approach
The book should be mostly sufficient for a modern approach to "end systems". The text content for SDN and NFV is fairly short, while the rest of the content digs pretty deep into the technical side of networking. If you get the newest version, it has been updated to accommodate newer concepts like SDN etc. Included with the book is access to online resources like Wireshark labs to reinforce learning.
Everybody probably has his favorite book. The book I had to study for my Networking class was Computer Networking: A TopDown Approach by Kurose and Ross.
Great book and very pedagogical. I read the Tanenbaum's book and my preference goes to the one I linked.
https://smile.amazon.com/gp/product/1593275099/
I am not sure about the size of your environment. If it's small, Splunk may be way outside your budget.
Take a look at that link above if you really want to build an open source solution for security monitoring. It'll take a lot of elbow grease and knowledge of your business to be effective. Pick up the book and build yourself a POC to see what you can see.
Putting asside VA_Network_Nerd's condescending advice. If you want to go anywhere in your career you need to go beyond google. I'd go to indeed or DICE and search for Network Administrator or jr network admin in your area then look up job requirements and preferences.
Set up a GNS3 or Virl lab, or just buy some cheap switches/routers on ebay for homelab.
Get your CCNA. There should be no debate that CCNA is best for network admins starting out. I personally wouldn't let someone touch my network without at least a CCNA. Get hands on with Windows and Linux servers and various tools like nmap, nagios and other monitoring tools, wireshark.
Read:
The Practice of System and Network Administration
I also use cbtnuggets.com for my IT training. It's more than worth the monthly fee if you stick to it.
I'd check out these two books from the local library and read the first 2-3 chapters. It might contain more than what you need, but these are pretty well written books and don't assume a lot of previous knowledge.
http://www.amazon.com/Structured-Computer-Organization-5th-Edition/dp/0131485210
http://www.amazon.com/Computer-Networks-5th-Andrew-Tanenbaum/dp/0132126958/ref=la_B000AQ1UBW_sp-atf_title_1_1?s=books&amp;ie=UTF8&amp;qid=1376126566&amp;sr=1-1
Or you could just check out your network settings and search for the terms that you encounter (IP address, DNS, DHCP, gateway, proxy, router, firewall)
I hope Tom Limoncelli doesn't mind me quoting from his book, but there's a brief section from The Practice of System and Network Administration about this:
Moving to/Opening a New Building
Limoncelli, Thomas A.; Christina J. Hogan; Strata R. Chalup (2007-07-05). The Practice of System and Network Administration (2nd Edition) (pp. 5-6). Pearson Education. Kindle Edition.
The Visible Ops Handbook: Implementing ITIL in 4 Practical and Auditable Steps
The Practice of System and Network Administration: Volume 1: DevOps and other Best Practices for Enterprise IT (3rd Edition)
For us a Change is any change to the environment that isn't controlled by a separate process, like new employees, termination, etc.
If your not sure, it's a CM.
A+ and Net+ and all the other +-certs are entry level. CCNA is entry level, and 70-680 is entry level.
Something to consider is that everyone has certs these days, so the certs you get must make you better than "everyone".
For example, CCNP is a rather high-end cert. You don't see a lot of CVs with this on, because people with this cert only need a Linkedin page, and the offers will come in endless streams.
MCSE is absolutely good to have if you want to go anywhere in a Microsoft environment, though Microsoft doesn't really do high-end certs anymore, so the only thing you can really aim for with an MCSE is an MVP award, but that does take some serious effort.
WCNA is worth some brownie points in the right places.
You should also supplement certs with in-depth knowledge, and recommended practices, for example,
I can't really help much with regards to Linux though. It's not really my area.
The Practice of System and Network Administration.
A few general principles:
Practice of Network Security Monitoring is the best place to start.
I know this isn't the answer you are looking for, but this book might be worth looking in to. I haven't received my copy yet, but so far it seems to have been getting quite good reviews from the VMWare community.
Vendor neutral and probably the best/most frequently recommended book:
MPLS-Enabled Applications: Emerging Developments and New Technologies
Very good Cisco-centric MPLS book:
MPLS Fundamentals
The gold standard, or so I hear, for L2VPN (I believe it's Alcatel/Juniper heavy):
Designing and Implementing IP/MPLS-Based Ethernet Layer 2 VPN Services: An Advanced Guide for VPLS and VLL
Yes, ARPA was on X.25, but that was not the only communication protocol out there. The IP stack was built because the different networks used different protocols and the desire to communicate between them required a standardized one.
Yes, ARPANet, NSFNet, CSNET, and a slew of others were the roots of the internet, but there was NO internetworking going on before that. The internet was born when they started internetworking. Argue with Tanenbaum, not me.
Since I can't find the full text of his book, here's a wiki article citing it: https://en.wikipedia.org/wiki/History_of_the_Internet#Transition_towards_the_Internet
http://www.amazon.com/Computer-Networks-5th-Andrew-Tanenbaum/dp/0132126958/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1377285254&amp;sr=1-1&amp;keywords=Computer+Networks
Have fun.
I have heard a lot of great reviews of Computer Networks by Tanenbaum in terms of its ability to teach networking. Alternatively, you could get the 4th edition book a lot cheaper with the caveat that it is older and may not be completely up to date.
This is a great list, thank you very much.
I also happened to decide to study networking but for a bit deeper, my choice was this book.
https://www.amazon.com/Computer-Networking-Top-Down-Approach-7th/dp/0133594149
This is a complete networking essentials, for grads, phDs, masters.
Is also has a helper site with video notes and animations
https://wps.pearsoned.com/ecs_kurose_compnetw_6/216/55463/14198700.cw/index.html
A quick google for "low level python network programming book" found this:
https://www.amazon.com/Foundations-Python-Network-Programming-comprehensive/dp/1430230037
I haven't read it, but at least one of the author (Brandon Rhodes) is known for giving good talks about Python. So i'd suggest you go with that.
Even more formatting fun!
By the way, thank you for this list.
>https://www.amazon.com/Computer\-Networking\-Top\-Down\-Approach\-6th/dp/0132856204
We are using this book for our intro networking course. It is really good because they really break some complex concepts down with really good everyday analogies and explain everything in detail.
Unsure if it meets your requirements exactly, but I liked this book:
Defensive Security Handbook
For networking I would recommend:
These are the best texts for each subject, IMO.
Algorithms & Data Structures
Operating Systems
[Networking] (https://www.amazon.com/Computer-Networking-Top-Down-Approach-6th/dp/0132856204/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1525873112&amp;sr=1-1&amp;keywords=computer+networking+a+top-down+approach+6th+edition)
Programming Language Theory
Theory of Computation
> As for a Sysadmin Bible, i would recommend the book: The Practice of System and Network Administration: Devops and Other Best Practices for Enterprise it.
This is going to sound dumb, but I don't want to spend $50 for the same book. I have "The Practice of System and Network Administration: 2nd Edition", already:
http://www.barnesandnoble.com/p/practice-of-system-and-network-administration-thomas-a-limoncelli/1100835152/2675158637613?st=PLA&amp;sid=BNB_DRS_Marketplace+Shopping+Textbooks_00000000&amp;2sid=Google_&amp;sourceId=PLGoP20452&amp;k_clickid=3x20452
The DevOps one (3rd edition) is an entirely different book, right? Or is it just the 2nd edition with some DevOps stuff added to the end? Hard to tell when taking the Amazon page at face value.
https://www.amazon.com/Practice-System-Network-Administration-Enterprise/dp/0321919165
Computer Networking: A Top-Down Approach by Kurose & Ross is pretty good.
If you are looking for stuff to do in your environment, this book will give you some pretty good pointers:
The Practice of System and Network Administration
Learn to program. Edx/Harvardx CS50x gets pretty good reviews.
Learn to and make a habit of writing extensive technical documentation on everything you do.
Read this book. https://www.amazon.com/Practice-System-Network-Administration-Enterprise/dp/0321919165/ref=sr_1_1?ie=UTF8&amp;qid=1480705767&amp;sr=8-1&amp;keywords=The+Practice+of+System
Apply everything you learn to the current systems you work with
I've read parts of that https://www.google.ch/url?sa=t&amp;source=web&amp;rct=j&amp;url=https://www.amazon.com/Computer-Networking-Top-Down-Approach-6th/dp/0132856204&amp;ved=0ahUKEwiRlIrF4sHUAhUCb1AKHVeeBvYQFghoMAs&amp;usg=AFQjCNFJEsWQ4VHsSGx9fcNpEt0Z2Wip_w&amp;sig2=bsLxWN2VX4CX_8HXPluczA book. It's really good and helps you get an overview of what's going on on the internet.
Looking for solutions manual of Computer Networking: A Top-Down Approach (7th Edition) in 7th edition only:
The solutions manual is easily available in 6th Edition, but I am looking for the 7th Edition Solutions Manual only. Willing to pay $5 PayPal. There seems to be a version here but I cannot access it, so perhaps someone else can.
Willing to pay $5 PayPal.
Thanks!
I think I found it and I'll definitely check it out, Thanks!
I've always used Computer Networking A Top-Down Approach by Kurose and Ross. (it's also fairly easy to find a PDF of it). It's a good read for understanding the fundamentals and the bigger picture.
Do yourself a favor, either buy The Practice of System and Network Administration or get it from the library. Make sure it's the 3rd Edition. Read Chapter 49 Perception and Visibility on page 913.
Pay special attention to 49.1.2 Attitude, Perception, and Customers on Pg. 918.
Then ask yourself what are projecting calling yourself glorifiedhelpdesk and creating a video titled "You don't fail at computer, you fail at life"?
I haven't read it in years, but I remember The C Programming Language being very useful.
If you want to learn more about the low level details of how computers work in general, I own the following books and recommend them:
---
Computer Systems: A Programmers Perspective
Computer Organization and Embedded Systems
Hacking: The Art of Exploitation
Operating System Concepts Essentials
Computer Networking: A Top-Down Approach
Nice, the terms "client-server" and "peer-to-peer" is the correct one to use. I learnt that from Computer Networking course at university. https://www.amazon.com/Computer-Networking-Top-Down-Approach-6th/dp/0132856204.
Popular "client-server" are Facebook, YouTube, etc, "peer-to-peer" is torrent.
http://www.amazon.com/Internetworking-TCP-IP-Vol-5th/dp/0131876716/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1351099800&amp;sr=1-1&amp;keywords=Internetworking+with+TCP%2FIP
(think theres a newer edition, thats the one i have however)
One of (if not) the best book ive ever read on networking, I read it whilst i was studing CCNP and have read it another couple of times whilst studying for CCIE, also this;
http://www.amazon.com/Interconnections-Bridges-Switches-Internetworking-Protocols/dp/0201634481/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1351099354&amp;sr=1-1&amp;keywords=Interconnections%3A+Bridges%2C+Routers%2C+Switches%2C+and+Internetworking+Protocols
I'm going to recommend a book: https://www.amazon.com/Practice-System-Network-Administration-Enterprise/dp/0321919165
Read the first edition of this 20 years ago. Great book about doing the "job" of being a sysadmin. Nothing OS specific.
Also, learn a scripting language. You're not a real IT guy unless you know one. Python is my preference, but PowerShell is fine if you primarily work in a Windows environment.
Network Programmability and Automation
This is a good book. It's probably not the best book to use for your very first exposure to Python but once you've got something else under your belt I would go here. Runs you through all the basic tools and data structures that get used in network automation.
I second the official Python tutorial. If you approach it with the right attitude that'll teach you everything you need to know to start feeling some comfort with the language.
When I said "the network" I meant the physical network. The virtual port will be the secondary's assigned virtual port of course.
The hosts can be connected to the same or to different physical switches, but they'd be connected to the same logical networks/vlans. In either case, the physical switchs will eventually see a frame from the VM on a physical port it had not before. When this happens the switch will add the source MAC address of the VM to it's forwarding table indicating that "this MAC exists on port N". Future frames destined for the VM's MAC will now be sent to this new port.
There is a NIC Teaming policy for each vSwitch called "Notify Switches" related to this. If this policy is enabled the destination host will send out frames with the MAC of the incoming VM so that the physical switches know ahead of time to start sending frames destined for the VM's MAC to the new physical port. This way when the VM stops executing on the source host and starts executing on the destination host, there will be a much smaller number of packets that potentially don't make it to the VM. I'm not sure if this settings applies to FT fail over events, but it would be easy to test with the right equipment in a lab.
If you're interested in knowing more about networking from the perspective of a VMware administrator check out this book. It starts from the very basics of networking (first 6 chapters) and then goes from there to vSphere specific topics. Would probably be a good read for you.
The "Practice of System and Network Administration"; probably a bit too early in your career but has some strong advice.
https://www.amazon.com/Practice-System-Network-Administration-Enterprise/dp/0321919165
There's also a volume 2 which is cloud/site reliability engineering related.
The book "End to End QOS" was really quite helpful to me when I started doing campus QOS design. I have the 2004 edition, but it looks like there is a new edition out this year.
http://www.amazon.com/End---End-QoS-Network-Design/dp/1587143690/ref=sr_1_2?ie=UTF8&amp;qid=1371745187&amp;sr=8-2&amp;keywords=end+to+end+qos
The Practice of System & Network Administration chapters 6 & 7 will definitely help you.
https://www.amazon.com/Computer-Networking-Top-Down-Approach-7th/dp/0133594149
This is the 7th edition, i have the 5th which is extremely valuable and precise in it's context. Built very good and easy to understand, but also VERY in-depth.
The Practice of System and Network Administration: Volume 1: DevOps and other Best Practices for Enterprise IT (3rd Edition) https://www.amazon.com/dp/0321919165/ref=cm_sw_r_cp_apa_i_YBkxDb2D8ZNHG
/thread
Probably the best book out there for system administration.
https://www.amazon.com/Practice-System-Network-Administration-Enterprise/dp/0321919165/ref=dp_ob_title_bk
Book recommendation: The Practice of System and Network Administration: Volume 1: DevOps and other Best Practices for Enterprise IT (3rd Edition) https://www.amazon.com/dp/0321919165/ref=cm_sw_r_cp_apa_cAaozbN8ZK48W
Or for cheap starters, this book with an overly long title:
The Practice of System and Network Administration: Volume 1: DevOps and other Best Practices for Enterprise IT (3rd Edition)
https://www.amazon.com/Practice-System-Network-Administration-Enterprise/dp/0321919165/ref=sr_1_1?ie=UTF8&amp;qid=1501175669&amp;sr=8-1&amp;keywords=practice+of+system+and+network+administration
The Practice of System and Network Administration: Devops and Other Best Practices for Enterprise it
I enjoyed reading Networks 5th edition by A. Tanenbaum. It's thorough and pricey, but very well written, witty and provides historical context.
I am sure many people will add to this but what I find is the biggest gap is not having a good base of understanding of why all of this "Infrastructure" is needed.
There is so much content to learn and I am not even scratching the surface. There is much to learn and you are not alone.
Hands-on labs
https://labs.hol.vmware.com/HOL/catalogs/catalog/1212
Physical networking (My teacher)
https://www.pluralsight.com/authors/ross-bagurdes
Virtual Networking
https://www.amazon.com/Networking-VMware-Administrators-Press-Technology/dp/0133511081
Storage
https://www.amazon.com/Mastering-VMware-vSphere-Storage-Victor-ebook/dp/B00YSIL6HQ
vSAN
https://www.amazon.com/VMware-vSAN-6-7-Deep-Dive-ebook/dp/B07L8CNZ53
NSX
https://blogs.vmware.com/networkvirtualization/2018/10/nsx-vmworld-2018-europe-the-technical-geek-guide.html/
ESXi Deep dive
https://pages.rubrik.com/host-resources-deep-dive_request.html
vVols are making a comeback
https://blogs.vmware.com/virtualblocks/2019/07/25/vvols-vmworld-2019/
Project pacific
https://blogs.vmware.com/vsphere/2019/09/project-pacific-at-tech-field-day-extra-at-vmworld-2019.html
Good mentions
https://storagehub.vmware.com/
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/virtual_networking_concepts.pdf
And any VMware feature you need a walkthrough
https://featurewalkthrough.vmware.com/
Edit: adding newest deep dive for Pacific https://cormachogan.com/2019/11/22/project-pacific-vmworld-2019-deep-dive-updates/
I don't get how you're in a masters program in cybersec without knowing how to code...
Anyway, if you are leaning towards pentesting/networks, https://www.amazon.ca/Hacking-Art-Exploitation-Jon-Erickson/dp/1593271441 as well as black hat python/violent python are what you want to start off, as well as a good book on networking book: https://www.amazon.ca/Computer-Networking-Top-Down-Approach-6th/dp/0132856204.
I'm actually confused about what the content of an msc program could be in cybersec if you don't already know how to code.
Check out Jason Edelman's book on network programmability and automation, it's a great place to start.
https://www.amazon.com/Network-Programmability-Automation-Next-Generation-Engineer/dp/1491931256
I used Computer Networking: A Top Down Approach [0]. The title pretty much sums it up, you start at the application layer and work your way down through each layer. I found this approach helpful since it started with something relatively familiar (app layer) and then digs down through the layers to find out how it's really working. For me, at least, this is preferable to starting on the bottom where you don't really have as much context for what's happening.
[0] https://www.amazon.com/Computer-Networking-Top-Down-Approach-7th/dp/0133594149/ref=sr_1_2?ie=UTF8&amp;qid=1536784010&amp;sr=8-2&amp;keywords=networking+textbook
Thanks ;). Not so skilled on that and my advice might be misleading; though I got a background in cs:This would be my suggestion for someone beginning.
You can also search for those books pdf by using google hacks eg
filetype:pdf "title of the book here"
orintitle:index.of "title of the book here"
https://www.amazon.com/Computer-Networking-Top-Down-Approach-7th/dp/0133594149
Loved reading this during my undergrad
This post is Cisco-centric.
Books:
http://www.amazon.com/Interconnections-Bridges-Switches-Internetworking-Protocols/dp/0201634481/ref=sr_1_1?ie=UTF8&amp;qid=1318854135&amp;sr=8-1
http://www.amazon.com/Cisco-Certified-Network-Associate-640-802/dp/0470901071/ref=sr_1_1?ie=UTF8&amp;qid=1318854213&amp;sr=8-1
Website of someone I know and I'm very impressed by:
http://www.stubarea.net/workbooks/cisco/ccna/
Radia Perlman's book here. It is fantastic to see the world in which all this stuff started from.
I never knew IS-IS had EIGHT levels.
I actually just started reading MPLS Fundamentals from Cisco Press. I'm several chapters in and so far I've found it to be clear, comprehensive, and very informative.
Computer networking top down approach. Very very good book, I can't praise it enough: https://www.amazon.com/gp/aw/d/0136079679?pc_redir=T1
If you wait a few weeks, you can pick up the new edition of this book:
https://www.amazon.com/gp/product/0321919165/
If you think "there is nothing to do", you are probably in "don't know what you don't know" territory, which is fine. They key is to first start discovering what you don't know, then you can start taking steps to resolve it by learning.
As you learn, you will realized that there is far more that you don't know than you though, and the side effect will be that you feel dumber and dumber, but you will actually be improving at your job.
Pretty much the standard for most cs networking courses. here
Some very good books on networking basics:
Computer Networks
TCP/IP Illustrated
Best book: Computer Networking Top Down Approach: https://www.amazon.com/Computer-Networking-Top-Down-Approach-7th/dp/0133594149/?pldnSite=1
It’s not Go specific but you need to start at the fundamentals.
Time Management for System Administrators: Stop Working Late and Start Working Smart
The Practice of System and Network Administration, Second Edition
Windows Server 2008 R2 Unleashed
Windows Server 2016 Unleashed includes Content Update Program
The Practice of Cloud System Administration: DevOps and SRE Practices for Web Services, Volume 2
The Practice of System and Network Administration: Volume 1: DevOps and other Best Practices for Enterprise IT
Network Warrior: Everything You Need to Know That Wasn't on the CCNA Exam
Is this the one you mean? I am looking for some good books to read as I start to enter the work force.
https://www.amazon.ca/Practice-System-Network-Administration-3rd/dp/0321919165
Jason Edelman’s book is the defacto standard to get going - “network programmability and automation”
https://www.amazon.ca/Network-Programmability-Automation-Next-Generation-Engineer/dp/1491931256
Ansible for DevOps is another good one by Jeff Geerling
https://www.ansiblefordevops.com/
And, full disclaimer I am the author and self publisher, my book “Automate Your Network” if you are looking to learn how to use Ansible to automate Cisco network
https://www.amazon.com/Automate-Your-Network-Introducing-Enterprise/dp/1799237885/ref=mp_s_a_1_1?keywords=automate+your+network&amp;qid=1567425212&amp;s=gateway&amp;sprefix=automate+your+n&amp;sr=8-1
Thanks I'll start with that. Also what's your guys opinion on the tanenbaum's book? https://www.amazon.com/Computer-Networks-Tanenbaum-International-Economy/dp/9332518742
Computer Networking: A Top Down Approach by Kurose and Ross is often highly recommended.
nice - added https://www.amazon.com/dp/0321919165 to buy list.
I liked this one. http://www.amazon.com/Head-First-Networking-Al-Anderson/dp/0596521553
This is actually the model they use in this book, which I highly recommend.
On network security monitoring (network ids/ips) you might want to have a look at that book http://www.amazon.co.uk/Practice-Network-Security-Monitoring-Understanding/dp/1593275099/ref=pd_bxgy_b_img_y
Yes, there is.
https://www.amazon.co.uk/Practice-System-Network-Administration-Enterprise/dp/0321919165/ref=dp_ob_title_bk
I would recommend this book as it gives a general overview of computer networks (aka "the Internet").
Are you talking like a client and a server type situation? Where a client requests info and the server gives it (I guess through a pipe).
If so, I want to say Computer Networking as what you are looking for. I just took a class on it last semester using this textbook. Though that's not a beginner class/topic to start off with in general.
Personally i also like:
The practice of System and Network administration
The Practice of Cloud System Administration
Sounds like you're asking for a link to https://www.amazon.com/Practice-System-Network-Administration-Enterprise/dp/0321919165/ref=asap_bc?ie=UTF8
Also OneNote,
I'd recommend reading:
https://www.amazon.com/Practice-System-Network-Administration-Enterprise/dp/0321919165/ref=pd_lpo_sbs_14_t_0?_encoding=UTF8&amp;psc=1&amp;refRID=QNAPT9P3GEA7NRR24K7X
I have to recommend Amanda Berlin and Lee Brotherston's book : https://www.amazon.com/Defensive-Security-Handbook-Practices-Infrastructure/dp/1491960388
I agree with /u/IDA_noob check out the book below.
https://www.amazon.com/End-End-QoS-Network-Design/dp/1587143690
Worth noting that there is a third edition that is significantly updated. I own both would say they're both good but you'll get a lot more out of the third edition.
https://www.amazon.ca/Practice-System-Network-Administration-Enterprise/dp/0321919165
You can start with the same book I did... seriously
https://www.amazon.com/Networking-Dummies-Doug-Lowe/dp/111925776X/ref=sr_1_2?ie=UTF8&amp;qid=1503420588&amp;sr=8-2&amp;keywords=networking+for+dummies
There was a line in the forward from an older version of the book that stuck with me; "From this moment on everything is your fault"
The Cisco CCNA books are actually pretty good for reference
https://www.amazon.ca/CCENT-ICND1-100-105-Official-Guide/dp/1587205807/ref=sr_1_5?ie=UTF8&amp;qid=1503420668&amp;sr=8-5&amp;keywords=ccna
https://www.amazon.ca/Routing-Switching-ICND2-200-105-Official/dp/1587205793/ref=sr_1_6?ie=UTF8&amp;qid=1503420668&amp;sr=8-6&amp;keywords=ccna
I haven't read it yet but have been recommended this book (https://www.amazon.com/Computer-Networking-Top-Down-Approach-7th/dp/0133594149/ref=sr_1_1?keywords=computer+networking&amp;qid=1562364382&amp;s=gateway&amp;sr=8-1) by some co-workers.
https://www.amazon.ca/Practice-System-Network-Administration-Enterprise/dp/0321919165/ref=pd_lpo_sbs_14_t_0?_encoding=UTF8&amp;psc=1&amp;refRID=E97Z7PFVB2Z0Z8YF7TKR
"Ships from and sold by amazon.ca"
When I tried to go through the automated exchange process it said I didn't have a credit card on file when I clearly do. Phone support was able to process the exchange, but my experience with Amazon for this hasn't been great.
Computer Networking : A Top Down Approach
Also check out CompTIA N+ materials
I am in a similar boat as OP and also found the book you recommended, so just wanted to add that there is a new edition coming very soon, the one you linked is from 2007.
https://www.amazon.com/Practice-System-Network-Administration-3rd/dp/0321919165
We normally recommend Computer Networks by Andy Tanenbaum as a good place to start.
Anyway, I was just blowing you some shit. We're not normally this mean.
Udemy: https://www.udemy.com/share/101XwqAkcZc1ZWRXQ=/
Amazon: https://www.amazon.com/dp/1491931256/ref=cm_sw_r_other_apa_i_yLdZDb73E1ZT0
If you want an insight into what their job might be, you can take a look at this: https://www.amazon.co.uk/Practice-System-Network-Administration-Enterprise/dp/0321919165/ref=sr_1_1?ie=UTF8&qid=1541606293&sr=8-1&keywords=the+practice+of+systems+administration
Since you are a student of Computer Science, am presuming you are already familiar with programming. So, your next step is mastering Operating Systems - Start by learning UNIX which is a multi-tasking cum multi-user operating system aimed to provide high level of security. (Source to learn UNIX : http://www.ee.surrey.ac.uk/Teaching/Unix/)
Next, Learn Networking concepts - Infact you should know Networking concepts in finer details because as a cybersecurity professional, you would either need to check vulnerabilities in a network or identify and exploit one. (Check this ebook for networking concepts).
In case you need more information, find here
Only a small thing, but your link goes to the 2nd edition of the book, and now there is a 3rd edition.
Hopefully people can figure it out, but I don't want an errant bystander to accidentally get and older version.
Books don't get more wind baggy than this.
For reference, /u/fatgypsythief is referring to this.