1 robinkrens.nl - Linux Resources
4 This page lists some useful resources for a more in depth understanding on specific subjects. Assumed is that you have a basic understanding of Linux and Networking. If not, you might to start with one of the followings books
6 * http://linux-training.be - PDFs about the fundamentals, gives an overview of the most common tools and how to use them. PDFs contains some nice exercises.
7 * http://www.tldp.org - The Linux Documentation project. Look for the UNIX and Internet Fundamentals HOWTO. (Do you *really* know what happens when you turn on a PC?)
8 * https://netfilter.org/documentation/HOWTO/networking-concepts-HOWTO.html - Elementary HOWTO about Networking.
13 A good way to understand more about networking is two setup two computers: a server and a client. And the play around with the tools. The following tools and documentation are extremely useful.
17 Simple tool to open or connect to TCP or UDP ports and output data through these channels. Build and test proxies. Powerful for debugging. _Cryptcat_ is a similar tool, but with support for cryptography
21 Create and send IP, TCP or UDP packages. You are able to edit any value within these packages.
26 Although there is more abstract software to manage firewalls, like *ufw* on debian-based systems and *firewall-cmd* on redhat systems, Iptables will help you understand what actually happens during filtering, mangling or routing a package. https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html has a structured approach in explaining _what happends when a package hits the firewall_. Pay extra attention to Network Address Translation. Here is another nice HOWTO: https://netfilter.org/documentation/HOWTO/NAT-HOWTO-5.html
30 Virtual Private Networks and Tunneling
32 Please have a look at http://www.robinkrens.nl/tunneling.html
37 Here are some good cheatsheets for commonly used tools
39 * VI(M) - https://vim.rtorr.com
40 * GIT / GITHUB - http://www.robinkrens.nl/cheatsheets/git.pdf