CCNA

A. CISCO CCNA

1. Network Fundamentals

Types of Cables and their views lab.

2. Routing

Assigning IP address

3. IP Traffic Management

4. Switching

5. WAN

6. Voice

7. Wireless

Click to Download

B. CCNA Networking Basis

Click to Download

C. CISCO Device and IOS Basics

Switching Labs

Routing


Click to Download


Cyber Security course on Udemy

Click here for Udemy

  • Anybody interested in learning ethical hacking / penetration testing
  • Anybody interested in learning how hackers hack computer systems
  • Anybody interested in learning how to secure systems from hacker. Welcome this comprehensive Ethical Hacking course! This course assumes you have NO prior knowledge in hacking and by the end of it you'll be able to hack systems like black-hat hackers and secure them like security experts!

    This course is highly practical but it won't neglect the theory; we'll start with ethical hacking basics, breakdown the different penetration testing fields and install the needed software (on Windows, Linux and Mac OS X), then we'll dive and start hacking straight away. From here onwards you'll learn everything by example, by analysing and exploiting different systems such as networks, servers, clients, websites .....etc, so we'll never have any boring dry theoretical lectures.

    The course is divided into a number of sections, each section covers a penetration testing / hacking field, in each of these sections you'll first learn how the target system works, the weaknesses of this system, and how to practically exploit theses weaknesses to hack into this system, not only that but you'll also learn how to secure systems from the discussed attacks. By the end of the course you will have a strong foundation in most hacking or penetration testing fields.


    The course is divided into four main sections:   

    1. Network Hacking - This section will teach you how to test the security of both wired & wireless networks. First, you will learn network basics, how they work, and how devices communicate with each other. Then it will branch into three sub sections:   

    • Pre-connection attacks: in this subsection you'll learn a number of attacks that can be executed without connecting to the target network, and without the need to know the network password; you'll learn how to gather information about the networks around you, discover connected devices, and control connections (deny/allow devices from connecting to networks).

    • Gaining Access: Now that you gathered information about the networks around you, in this subsection you will learn how to crack the key and get the password to your target network weather it uses WEP, WPA or even WPA2.

    • Post Connection attacks: Now that you have the key, you can connect to the target network, in this subsection you will learn a number of powerful techniques that allow you to gather comprehensive information about the connected devices, see anything they do on the internet (such as login information, passwords, visited urls, images, videos ....etc), redirect requests, inject evil code in loaded pages and much more! All of these attacks work against both wireless and wired networks. You will also learn how to create a fake WiFi network, attract users to connect to it and use all of the above techniques against the connected clients.


    2. Gaining Access - In this section you will learn two main approaches to gain full control or hack computer systems:

    • Server Side Attacks:  In this subsection you will learn how to gain full access to computer systems without user interaction. You will learn how to gather useful information about a target computer system such as its operating system, open ports, installed services, then use this information to discover weaknesses and vulnerabilities and exploit them to gain full control over the target. Finally you will learn how to automatically scan servers for vulnerabilities and generate different types of reports with your discoveries.

    • Client Side Attacks - If the target system does not contain any weaknesses then the only way to hack it is by interacting with the users, in this subsection you'll learn how to get the target user to install a backdoor on their system without even realising, this is done by hijacking software updates or backdoornig downloadeds on the fly. This subsection also teaches you how to use social engineering to hack into secure systems, so you'll learn how to gather comprehensive information about system users such as their social accounts, friends, their mails.....etc, you'll learn how to create trojans by backdooring normal files (such as an image or a pdf) and use the gathered information to spoof emails so they appear as if they're sent from the target's friend, boss or any email account they're likely to interact with, to social engineer them into running your torjan.


    3. Post Exploitation - In this section you will learn how to interact with the systems you compromised so far. You’ll learn how to access the file system (read/write/upload/execute), maintain your accessspy on the target (capture key strikes, turn on the webcam, take screenshots....etc) and even use the target computer as a pivot to hack other systems.

    4. Website / Web Application Hacking - In this section you will learn how websites work, how to gather information about a target website (such as website owner, server location, used technologies ....etc) and how to discover and exploit the following dangerous vulnerabilities to hack into websites:

    • File Upload.

    • Code Execution.

    • Local File Inclusion.

    • Remote File Inclusion.

    • SQL Injection.

    • Cross Site Scripting (XSS).


    At the end of each section you will learn how to detect, prevent and secure systems and yourself from the discussed attacks. 

    All the techniques in this course are practical and work against real systems, you'll understand the whole mechanism of each technique first, then you'll learn how to use it to hack into the target system, so by the end of the course you'll be able to modify the these techniques to launch more powerful attacks, and adopt them to suit different situations and different scenarios.

    With this course you'll get 24/7 support, so if you have any questions you can post them in the Q&A section and we'll respond to you within 15 hours.

  • LINUX Networking Commandsz

    Linux is most powerful operating system which often needs to use commands to explore it effectively.Some of the commands are restricted to normal user groups as they are powerful and has more functionality involved in it.Here we summarized most interesting and useful networking commands which every linux user are supposed to be familiar with it.

    1.Arp  manipulates the kernel’s ARP cache in various ways.  The primary options are clearing an address mapping entry and manually setting up one.  For debugging purposes, the arp program also allows a complete dump of the ARP cache.ARP displays the IP address assigned to particular ETH card and mac address

    [fasil@smashtech ]# arp
    Address                  HWtype  HWaddress           Flags Mask            Iface
    59.36.13.1              ether       C                        eth0


    2.Ifconfig is used to configure the network interfaces.  Normally we use this command to check the IP address assigned to the system.It is used at boot time to set up interfaces as necessary.  After that, it is usually only needed when debugging or when system tuning is needed.

    [fasil@smashtech ~]# /sbin/ifconfig
    eth0     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:126341 errors:0 dropped:0 overruns:0 frame:0
              TX packets:44441 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
             
    3. Netstat  prints information about the networking subsystem.  The type of information which is usually printed  by netstat are Print  network connections, routing tables, interface statistics, masquerade connections, and multicast.

    [fasil@smashtech ~]# netstat
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State
    tcp        0      0                       .230.87:https           ESTABLISHED
    Active UNIX domain sockets (w/o servers)
    Proto RefCnt Flags       Type       State         I-Node Path
    unix  10     [ ]         DGRAM                    4970   /dev/log
    unix  2      [ ]         DGRAM                    6625   @/var/run/hal/hotplug_socket
    unix  2      [ ]         DGRAM                    2952   @udevd
    unix  2      [ ]         DGRAM                    100564
    unix  3      [ ]         STREAM     CONNECTED     62438  /tmp/.X11-unix/X0
    unix  3      [ ]         STREAM     CONNECTED     62437
    unix  3      [ ]         STREAM     CONNECTED     10271  @/tmp/fam-root-
    unix  3      [ ]         STREAM     CONNECTED     10270
    unix  3      [ ]         STREAM     CONNECTED     9276
    unix  3      [ ]         STREAM     CONNECTED     9275

    4.ping
     command is used to check the connectivity of a system to a network.Whenever there is problem in network connectivity we use ping to ensure the system is connected to network.

    [root@smashtech ~]# ping google.com
    PING google.com (74.125.45.100) 56(84) bytes of data.
    64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=0 ttl=241 time=295 ms
    64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=1 ttl=241 time=277 ms
    64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=2 ttl=241 time=277 ms

    --- google.com ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 6332ms
    rtt min/avg/max/mdev = 277.041/283.387/295.903/8.860 ms, pipe 2

    5.Nslookup 
     is  a program to query Internet domain name servers. Nslookup has two modes: interactive and non-interactive. Interactive mode allows the user to query name servers for information about various hosts and domains or  to print  a  list  of hosts in a domain. Non-interactive mode is used to print just the name and requested information for a host or domain.

    [fasil@smashtech ~]# nslookup google.com
    Server:         server ip
    Address:       gateway ip 3

    Non-authoritative answer:
    Name:   google.com
    Address: 209.85.171.100
    Name:   google.com
    Address: 74.125.45.100
    Name:   google.com
    Address: 74.125.67.100

    6. dig
     (domain information groper) is a flexible tool for interrogating DNS name servers. It performs DNS lookups  and  displays  the  answers that are returned from the name server(s) that were queried. Most DNS administrators use dig to troubleshoot DNS problems because of its flexibility, ease of use and clarity of output. Other lookup tools tend to have less functionality than dig.

    [fasil@smashtech ~]# dig google.com

    ; <<>> DiG 9.2.4 <<>> google.com
    ;; global options:  printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4716
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4

    ;; QUESTION SECTION:
    ;google.com.                    IN      A

    ;; ANSWER SECTION:
    google.com.             122     IN      A       74.125.45.100
    google.com.             122     IN      A       74.125.67.100
    google.com.             122     IN      A       209.85.171.100

    ;; AUTHORITY SECTION:
    google.com.             326567  IN      NS      ns3.google.com.
    google.com.             326567  IN      NS      ns4.google.com.
    google.com.             326567  IN      NS      ns1.google.com.
    google.com.             326567  IN      NS      ns2.google.com.

    ;; ADDITIONAL SECTION:
    ns1.google.com.         152216  IN      A       216.239.32.10
    ns2.google.com.         152216  IN      A       216.239.34.10
    ns3.google.com.         152216  IN      A       216.239.36.10
    ns4.google.com.         152216  IN      A       216.239.38.10

    ;; Query time: 92 msec
    ;; SERVER: 172.29.36.1#53(172.29.36.1)
    ;; WHEN: Thu Mar  5 14:38:45 2009
    ;; MSG SIZE  rcvd: 212

    7.Route manipulates the  IP routing tables.  Its primary use is to set up static routes to specific hosts  or  networks via an interface after it has been configured with the ifconfig program.When the add or del options are used, route modifies the routing tables.  Without these options, route displays the  current contents of the routing tables.

    [fasil@smashtech ~]# route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
     54.192.56.321    *               255.255.255.0   U     0      0        0 eth0
         *               255.255.0.0     U     0      0        0 eth0
    default            0.0.0.0         UG    0      0        0 eth0

    8.Traceroute
     : Internet is a large and complex aggregation of network hardware, connected together by gateways.  Tracking the route one’s packets follow (or finding the miscreant gateway that’s discarding  your  packets)  can  be  difficult.

    Traceroute utilizes the IP protocol ‘time to live’ field and attempts to elicit an ICMP TIME_EXCEEDED response from  each gateway along the path to some host. The only mandatory parameter is the destination host name or IP number.  The default probe datagram  length  is  40 bytes, but this may be increased by specifying a packet length (in bytes) after the destination host name.

    [fasil@smashtech ~]# traceroute google.com
    traceroute: Warning: google.com has multiple addresses; using 209.85.171.100
    traceroute to google.com (209.85.171.100), 30 hops max, 38 byte packets
     1  * * *

    9.W
    -displays  information  about the users currently on the machine, and their processes.  The header shows, in this order,  the current time, how long the system has been running, how many users are currently  logged on, and  the system load averages for the past 1, 5, and 15 minutes.

    [fasil@smashtechl ~]# w
     15:18:22 up  4:38,  3 users,  load average: 0.89, 0.34, 0.19
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    root     :0       -                10:41   ?xdm?  24:53   1.35s /usr/bin/gnome-session
    root     pts/1    :0.0             10:58    1.00s  0.34s  0.00s w
    root     pts/2    :0.0             12:10   23:32   0.03s  0.03s bash

    10. Nmap  is  designed to allow system administrators and curious individuals to scan large networks to determine which hosts are up and what services they are offering.  nmap supports a large number of  scanning  techniques  such  as:UDP,  TCP  connect(), TCP SYN (half open), ftp proxy (bounce attack), ICMP (ping sweep), FIN, ACK sweep, Xmas Tree,SYN sweep, IP Protocol, and Null scan.  See the Scan Types section for more details.  nmap also offers a number of advanced  features  such  as  remote  OS  detection  via TCP/IP fingerprinting, stealth scanning, dynamic delay and retransmission calculations, parallel scanning, detection of down hosts via parallel pings,  decoy  scanning, port filtering  detection,  direct  (non-portmapper)  RPC scanning, fragmentation scanning, and flexible target and port specification.
           Significant effort has been put into decent nmap performance for non-root users.  Unfortunately, many critical kernel  interfaces  (such  as raw sockets) require root privileges.  nmap should be run as root whenever possible (not setuid root, of course).
           The result of running nmap is usually a list of interesting ports on the machine(s) being scanned (if  any).   Nmap always  gives  the  port’s  "well  known"  service name (if any), number, state, and protocol.  The state is either"open", "filtered", or "unfiltered".  Open means that the target machine will accept() connections  on  that  port.Filtered  means  that  a  firewall, filter, or other network obstacle is covering the port and preventing nmap from determining whether the port is open.  Unfiltered means that the port is known by nmap to be closed  and  no  fire-wall/filter  seems  to be interfering with nmap’s attempts to determine this.  Unfiltered ports are the common case and are only shown when most of the scanned ports are in the filtered state.
           Depending on options used, nmap may also report the following characteristics of the remote host: OS  in  use,  TCP sequentiality,  usernames  running  the programs which have bound to each port, the DNS name, whether the host is a smurf address, and a few other--Network exploration tool and security scanners.

    [fasil@smashtech ~]# nmap 52.194.69.152

    Starting nmap 3.70 ( http://www.insecure.org/nmap/ ) at 2009-03-05 15:21 IST
    Interesting ports on 52.194.69.152
    (The 1658 ports scanned but not shown below are in state: closed)
    PORT    STATE SERVICE
    22/tcp  open  ssh
    111/tcp open  rpcbind

     

    File Handling Linux Commands



    Linux has become most prominent operating system and for effective use of Linux system we should know certain basic file handling commands to perform our day-to-day operations in most efficient way. Here we have listed some of the most important and interesting File Handling commands which are ordered in categories wise  to improve your Linux skills.
    Easy File Viewing and Editing
    We use gedit tool in Linux which is similar to notepad or WordPad in windows and it also got tabbed viewing of text files. But at the same time we should get familiar with using commands and this most will make that easier. Basic Text editors in Linux are Vim and Emacs which supports syntax highlighting and helps you a lot in programming skills. Some of the commands features are discussed here

    Vim is easy to use and powerful text edit intended for beginner and advanced users. It has lot of in featured commands for text editing for simple task like copy, paste and some advanced commands like searching text, find and replace option.


    [fasil@smashtech ~]# vim smashtech.txt

    The above command will open the text file in the Vim editor and you can easily edit the text file and save it by entering the Escape key -> :w and to quit the editor Escape key -> :q .To know more about Vim commands download this cheat sheets.

    Emacs is most powerful editor intended for advanced users. Prominent use of emacs is multiple window use. We can easily open almost four to five windows with horizontal or vertical view and helps you alot in manipulating multiple files.

    [fasil@smashtech ~]# emacs smashtech.txt

    The above command will open the text file in the Emacs editor and once editing is completed. Press ctrl+x+s to save file and to quit editor ctrl+x+c.To know more about emacs commands download this cheat sheet.

    cat command will list the content of the file in the  terminal .This option is limited to view files having only few lines  since you have to scroll back to view the text if it is  a large file.

    [fasil@smashtech ~]# cat smashtech.txt
    This text is displayed using cat command

    Simple command to view text files and to list the files in compressed archive like tar or zip.

    [fasil@smashtech ~]#less smashtech.tar.gz
    -rw-rw-r-- root/root       326 2009-03-04 13:48:50 /Documentation/RelNotes-1.5.3.1.txt
    -rw-rw-r-- root/root      1931 2009-03-04 13:48:50 Documentation/RelNotes-1.5.3.2.txt
    -rw-rw-r-- root/root       896 2009-03-04 13:48:50 /Documentation/RelNotes-1.5.3.3.txt
    -rw-rw-r-- root/root      1208 2009-03-04 13:48:50 /Documentation/RelNotes-1.5.3.4.txt
    -rw-rw-r-- root/root      3376 2009-03-04 13:48:50

    Checking file size and disk usage
    Simple commands like 'list' can be used to check the file size or folder size but the Linux has some more powerful commands to do so.

    df - report filesystem disk space usage is simple command to check the disk space in all partitions of harddisk.

    [Fasil@smashtech ~]# df -h
    Filesystem            Size  Used Avail   Use% Mounted on
    /dev/sda6            19.7G  18.1G  1.1G  89% / 

    du - estimate file space usage of all files and folders

    [Fasil@smashtech ~]# du -sh .
    602M    .

    Simply Copy/rename and move files
    Copying, moving and deleting files like never before, Simply saying you can delete files and folders very fast in command prompt then using mouse in GUI.But here is a caution although Linux is more powerful it does not have an undo command and if you delete a file/folder my mistake its loss. There are some methods to recover it but redundancy will be lost.
     cp - Copy files from source location to destination
    [Fasil@smashtech ~]# cp file1.txt file2.txt
    The above command will copy file1 as file2 text file
    [Fasil@smashtech ~]# cp -a smashtech fasil
    the above command will copy the folder smashtechtech as fasil

     
     mv-Move a file from original location to final location
    [Fasil@smashtech ~]# mv file1.txt file2.txt
    The above command will move/rename file1 as file2 text file
    [Fasil@smashtech ~]#mv -a smashtech fasil
    the above command will move contents of the folder smashtech to  fasil

    rm-Remove a file or folder

    [Fasil@smashtech ~]# rm file1.txt
    The above command will delete file1
    [Fasil@smashtech ~]#rm -rf smashtech
    the above command will delete the folder smashtech

     
     Compressing and Decompressing Files and Folders
    The most interesting usage in Linux commands are compressing the text files in more efficient and effective way and some of the compressing and decompressing commands are shown here.

    tar- This command is used for both compressing and extracting

    [Fasil@smashtech ~]# tar -cvf filename.tar folder/
    The above command will create a tar archive with name.tar and folder is archived
    Fasil@smashtech ~]# tar -cvzf filename.tar.gz folder/
    The above command will create a gzip archive with name.tar and folder is archived
    Fasil@smashtech ~]# tar -cvjf filename.tar.bz2 folder/
    The above command will create a bzip2 archive with name.tar and folder is archived
    For uncomressing the folders the following commands are used


    [Fasil@smashtech ~]# tar -xvf filename.tar
    The above command will extract the content of the tar archive with name.tar
    Fasil@smashtech ~]# tar -cvzf filename.tar.gz folder/
    The above command will extract the content of a gzip archive
    Fasil@smashtech ~]# tar -cvjf filename.tar.bz2 folder/
    The above command will extract the content of the  bzip2 archive

     

    Linux Applications you must be familiar with to land in linux job

    Landing a Linux job really doesn’t have much to do with your school qualifications or what your resume says. With Linux, it’s all about experience. What you actually know will determine how far you get with a Linux job. Now, I’m not declaring that you must know everything listed in this article, but it’s important to be well versed in all aspects of Linux. Besides, if you plan to make Linux a part of your career, why not learn everything you can? In this document I will present you with Linux applications and what you should know about them at the very least. I then will present you with some outside links for further reading so that you can indulge and become more familiar with each Linux application listed.
    If you’re looking to land a Linux job you must be familiar with these Linux applications or daemons.

    Apache

    Apache is the Apache HyperText Transfer Protocol (HTTP) Linux program. A large portion of the Internet web sites you visit run Apache on the server the site is hosted on to serve your web pages. If you don’t know apache I suggest you learn the basics. Most Linux jobs will require you to at least dip your feet in some sort of apache administration.
    At the Least, You Should Know:
    How to install Apache.
    How to configure Apache.
    How to view Apache logs.
    Must reads for Apache:
    Official Apache HTTP Server Documentation

    apt-get

    apt-get is the command-line tool for handling packages, and may be considered the user’s “back-end” to other tools using the APT library. apt-get is used mainly on Debian and Ubuntu but is cross-platform and the actual APT library has many different front-ends built for it. Apt-get is a pretty simple tool to use, so theres not much to learn here, but you should still be familiar with how it works.
    At the Least, You Should Know:
    How to install a package.
    How to remove a package.
    Must reads for apt-get:
    Apt-get Man Page
    How to use apt-get

    Bash - GNU Bourne-Again SHell

    Bash is an sh-compatible command language interpreter that executes commands read from the standard input or from a file. Bash also incorporates useful features from the Korn and C shells (ksh and csh).
    It’s important to know how to program in Bash. There are a million ways to save time and energy if you can whip up a little bash script that automates something on the command line for you.
    At the Least, You Should Know:
    How to write a basic Bash script.
    How to configure Bash to execute jobs during login or logout.
    Must reads for Bash:
    Bash Man Page
    Bash Guide for Beginners
    Advanced Bash Scripting
    Bash by Example
    Bash Tutorial

    chmod

    chmod changes the permissions of each given file according to mode, which can be either a symbolic representation of changes to make, or an octal number representing the bit pattern for the new permissions.
    Chmod is vital to any Linux user. If you don’t understand how to change permissions on files then you really shouldn’t be using Linux.
    At the Least, You Should Know:
    How to set file and folder permissions with chmod.
    Must reads for chmod:
    Chmod Man Page
    Linux File Permissions

    Crontab

    crontab is the program used to install, deinstall or list the tables used to drive the cron(8) daemon in Vixie Cron. Each user can have their own crontab, and though these are files in /var/spool/cron/crontabs, they are not intended to be edited directly.
    Crontab is important to know if you want to execute a sort of “scheduled task” command that cron manages.
    At the Least, You Should Know:
    How to schedule tasks with crontab.
    How to edit each users crontab.
    How to allow and disallow users to use crontab.
    Crontab format.
    Must reads for Crontab:
    Crontab Man Page
    Understanding Cron Jobs in 5 Minutes
    Crontab: Scheduling Tasks

    Find

    GNU find searches the directory tree rooted at each given file name by evaluating the given expression from left to right, according to the rules of precedence (see section OPERATORS), until the outcome is known (the left hand side is false for and operations, true for or), at which point find moves on to the next file name.
    Using find is crucial to saving time and energy on the Linux command line. You’ll find that the more you know about the awesome capabilities of find, the better off you are.
    At the Least, You Should Know:
    How to find files throughout the whole system.
    How to find only directories.
    How to find files owned by a certain user.
    Must reads for Find:
    Study of Find
    CLI Magic: Searching with Find
    10 Useful uses of the find command

    Iptables

    Iptables is used to set up, maintain, and inspect the tables of IP packet filter rules in the Linux kernel. Several different tables may be defined. Each table contains a number of built-in chains and may also contain user-defined chains.
    With iptables you have the ability to create firewall rules on your Linux computer to allow or restrict access in and out through each network interface.
    At the Least, You Should Know:
    How to list iptables rules.
    How to filter an IP from hitting your interface.
    How to remove rules.
    Must reads for iptables:
    Iptables Man Page
    Linux Firewalls using iptables
    Designing a firewall using Iptables for the home user
    Using iptables

    MySQL

    mysql is a simple SQL shell (with GNU readline capabilities). It supports interactive and non-interactive use. When used interactively, query results are presented in an ASCII-table format. When used non-interactively (for example, as a filter), the result is presented in tab-separated format. The output format can be changed using command options.
    As a Linux user looking to land a Linux job, there is a strong possibility that you will be working in an environment that uses Linux-Apache-MySQL-PHP (LAMP). You should be familiar with administrating a mysql server.
    At the Least, You Should Know:
    How to install MySQL.
    How to configure MySQL.
    How to view MySQL error logs.
    How To Add and Remove MySQL users.
    Must reads for MySQL:
    MySQL Man Page
    Official MySQL Documentation

    OpenSSH and SSH

    Ssh (SSH client) is a program for logging into a remote machine and for executing commands on a remote machine. You’ll probably find yourself using SSH on a daily basis if you land a Linux job.
    At the Least, You Should Know:
    How to connect to a server with SSH.
    How to set up key based authentication for SSH.

    Perl

    Perl is a language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It’s also a good language for many system management tasks. The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal).
    You’ll find administration tasks that you can create Perl scripts for will save you a ton of work in the long run if you know Perl.
    At the Least, You Should Know:
    How to execute a perl script.
    How to troubleshoot perl errors.
    Must reads for Perl:
    Perl Man Page
    Official Perl Documentation
    Simple Perl Scripts

    Postfix

    Postfix is a mail transfer agent (MTA) used on Linux as an alternative to Qmail and Sendmail. It handles the routing and delivery of email. Chances are you’ll run into some sort of postfix work in your Linux career, so why not learn what you can?
    At the Least, You Should Know:
    How to configure the postfix main.cf and master.cf files.
    How to troubleshoot postfix errors and issues.
    Must reads for Postfix:
    Postfix Man Page
    Official Postfix Documentation
    Postfix Wiki
    Postfix config How To

    PHP

    PHP (recursive acronym for “PHP: Hypertext Preprocessor”) is a widely-used Open Source general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. Learning a bit about PHP as well as Apache and MySQL is essential to your Linux career and landing that Linux job.
    At the Least, You Should Know:
    How to install and configure PHP on Linux.
    How to debug and troubleshoot a PHP error.
    Must reads for PHP:
    Official PHP Documentation
    How To Write PHP Scripts

    Qmail

    Qmail is a secure, reliable, efficient, simple message transfer agent. If your Linux job isn’t running Postfix or Sendmail, you’re probably going to need to know Qmail.
    At the Least, You Should Know:
    How to Install and Configure Qmail.
    How to find and interpret the Qmail log files.
    How to debug and troubleshoot Qmail errors.
    Must reads for Qmail:
    Qmail Man Page
    The Qmail Documentation Project
    Qmail HowTo
    Life With Qmail

    RPM

    rpm is a powerful Package Manager, which can be used to build, install, query, verify, update, and erase individual software packages. If you’re trying to land a Linux job with a large corporation, theres a good chance they run Red Hat, which uses RPM as it’s default package manager.
    At the Least, You Should Know:
    How to install RPM packages.
    How to remove RPM packages.
    How to check for RPM dependencies.
    Must reads for RPM:
    RPM Man Page
    Official RPM Documentation

    rsync

    rsync uses the rsync remote-update protocol to greatly speed up file transfers when the destination file is being updated. Rsync basically only copies the diffs of files that have been changed.
    Rsync is great for backing up files to another Linux host. If you plan on landing a Linux job you’ll definitely need to know rsync.
    At the Least, You Should Know:
    The syntax of using rsync to copy files to another host machine.
    Must reads for rsync:
    rsync Documentation
    rsync Tips and Tricks
    Using rsync and SSH

    Samba

    The Samba software suite is a collection of programs that implements the Server Message Block (commonly abbreviated as SMB) protocol for UNIX systems. This protocol is sometimes also referred to as the Common Internet File System (CIFS). For a more thorough description, see http://www.ubiqx.org/cifs/. Samba also implements the NetBIOS protocol in nmbd.
    Most large companies that run a Linux and Windows environment use Samba to share files across the network. You should be familiar with Samba as much as possible.
    At the Least, You Should Know:
    How to install and configure Samba.
    How to set up Samba users.
    How to set up Samba shares.
    Must reads for Samba:
    Samba Man Page
    Official Samba Documentation
    Samba Setup Guide for Linux

    SCP

    scp copies files between hosts on a network. It uses ssh for data transfer, and uses the same authentication and provides the same security as ssh. scp will ask for passwords or passphrases if they are needed for authentication.
    SCP is important to know if you need to copy files between Linux hosts over a public or private network with security in mind.
    At the Least, You Should Know:
    The syntax for copying a file from one host to another host.
    Must reads for SCP:
    SCP Man Page
    SCP Tricks

    Sendmail

    Sendmail is another Mail Transfer Agent, similar to Qmail and Postfix, that sends a message to one or more recipients, routing the message over whatever networks are necessary. Sendmail does internetwork forwarding as necessary to deliver the message to the correct place. A majoriy of servers run Sendmail as their MTA so it’s important to know.
    At the Least, You Should Know:
    How to Install Sendmail.
    How to configure Sendmail to send and receive Email.
    How to view Sendmail logs.
    Must reads for Sendmail:
    Sendmail Man Page
    Official Sendmail Documentation

    Tar

    Tar is an archiving program designed to store and extract files from an archive file known as a tarfile. You most defenitley need to know tar if you plan on landing any Linux job.
    At the Least, You Should Know:
    How to extract a tarball and tar/gzip file.
    How to create a tar file.
    Must reads for Tar:
    Tar Man Page
    GNU tar Documentation

    VI/Vim

    Vim is a text editor that is upwards compatible to Vi. It can be used to edit all kinds of plain text. It is especially useful for editing programs.
    It’s important to know vim because it is the one text editor that is almost always available by default on most Linux distributions. You can’t say the same for the simpler editors like pico and nano. Learn vim!
    At the Least, You Should Know:
    How to open a file and make a change.
    How to save a file.
    How to exit vim.
    Must reads for Vim:
    Vi/Vim Man Page
    Official Vim Documentation
    The Vim Commands Cheat Sheet
    Vim Graphical Cheat Sheet based Tutorial

    vsftpd

    vsftpd is the Very Secure File Transfer Protocol Daemon. Most Linux servers that run an FTP daemon use vsftpd.
    At the Least, You Should Know:
    How to install vsftpd.
    How to configure vsftpd.
    How to view vsftpd logs and troubleshoot issues.
    Must Reads for vsftpd:
    Vsftpd.conf Man Page
    A vsftpd Guide
    I’ve covered all the applications I believe you should be familiar with if you’re trying to land a Linux job.  You may not use all of them in an everyday Linux job, but these applications are the most widely used with Linux administration and Linux engineering jobs.

No comments:

Post a Comment