In school I never took networking class and I never had to use any of the networking utilities/commands at job beyond a simple telnet to check of host/port is reachable.
I have looked into youtube videos --- but they are all too abstract and tend to go into enough depth only many videos later.
I have looked into coursera courses --- same deal as youtube videos.
So, to summarize the problem with all these tutorials seems to be too much time commitment -- unfortunately I don't have that much time.
Perhaps a good tutorial would be something that would be a hands-on tutorial based on several scenarios.
Any advice?
Thanks
PS: it's embarrassing to admit I have more than 10 years of experience and I still don't know the basics of network engineering.
Then ask yourself what you are seeing and why. OSI model and such. Then try to find out what the kernel has to do to setup a socket and build something in C (just google Linux socket programming).
And after that, try researching how the packets you receive can be blocked by a firewall and why.
And go on and on. I am currently writing a book which touches the topic a bit and it helps to build stuff and see packages.
For example: Use Wireshark and try to find out how you can see the communication of the browser.
Google: - Linux Networking - What are sockets - Socket programming - Firewall blocks a domain how - How to bypass firewall for domain
The pattern I am seeing in this thread is that I can't escape the basics and theory.
That's fine because at least now I know that putting time into learning the basics and theory is worth it.
Get a good CCNA study book (like Todd Lammle’s) and browse the first few chapters until you are satisfied. Stop when you don’t care about the chapter topics anymore.
Lammle’s book is highly-regarded and an easy read. It begins at layer 1 (electrical signals) and continues up the OSI stack.
You could even buy an old, used edition. The information you’re interested in hasn’t changed.
Thanks for sharing this!
There's quite a bit of content there. I'm not sure what your threshold for much time is, but don't expect to dive into more than basics in <10h.
An alternative for practical application would be just to look at what you actually use and dive deep. For example two concepts: routing tables and TCP/IP header - go to the articles on wikipedia, and go deeper into things you don't know about.
At work we are trying to implement some network security, and I feel lost in the discussion. So perhaps this might be a good starting point?
I have also noticed that I learn best by doing things. For e.g., many many years ago I struggled to understand OAuth protocol, or even load balancing concepts by reading tons and tons of articles on them. A few days later my understanding would vanish into thin air. Then I had to implement this for work -- I struggled but I was not only able to re-learn it, actually put it to use but also retain the theoretical concepts very well.
So I am looking to do something similar. But I don't have the luxury to be hands on at work because the security stuff would be handled by a different team.
That's why I am looking for some tutorials that would guide me but actually make me do something in a sandbox environment.
Want multiple endpoints? VMs.
Want some routing rules? Put VMs on one bridge.
Firewalls? Iptables or whatever is the thing windows uses.
General looking at the traffic to understand what's happening? Wireshark.
Get the Cisco “Packet Tracer” application to help you study. It is a network simulation application that allows you drop fake hardware into a fake network that you can configure and pass packets across.
I know software developers don’t do certifications, but networking does (actually absolutely everybody else does). Those certifications are the equivalent of a law license or medical license for that industry.
> So, to summarize the problem with all these tutorials seems to be too much time commitment -- unfortunately I don't have that much time.
Make time. Find it. Skills and knowledge take study and practice which take time. If you cannot be bothered to spend time learning this I recommend you stop lying to yourself about it and go do something else.
I guess I was just being lazy when I wrote that I don't have time. Of course, I have time. I took some time to ask this question, so I obviously care enough to put in time to learn.
My problem, I believe, was I didn't know if I putting in time to resources that I had myself discovered was worth it. This is coming from my experience on reading certain protocols' wikipedia entry, watching tutorials etc. and not gaining useful knowledge and understanding after spending dozens of hours into it. So I was being cautious of that.
So, what was missing, until now, was some guidance. With comments such as yours and many others here I have enough confidence that putting in time into these resources would not only be worth it but also would be an efficient use of my time.
So thanks for that as well.
If nothing else you won’t be flailing around the internet.