If you would like to get started using Linux, you are going to LOVE our 7+ hour video course. Go from beginner to Linux system admin with tutorials covering installation/setup, terminal usage, development tools, server deployment, GitHub and network administration!
If you enjoy this tutorial series, feel free to check out our Linux mastery course bundle. Go from beginner to Linux administrator with courses covering Red Hat Linux (RHCSA), BASH programming, Wireshark protocol development and more!
You can also get access to this course and over 28,000 more with a Skillshare Premium Membership. For a limited time, try Skillshare Premium FREE for 2 months!
Below is a complete list of topics covered in this Linux course:
Introduction to Linux
Linux distributions explained
Installing VirtualBox and setting up our virtual machine
Ubuntu Linux installation on a virtual machine
Disabling the ISO and first boot up
VirtualBox guest additions for a better user experience
Customizing our Ubuntu desktop
Unity Tweak Tool for Ubuntu
Installing Ubuntu alongside Windows (dual boot)
Linux command line essentials
Administrative privileges in terminal
Using the package manager (apt-get) to install new applications
Searching through the repositories to find new apps
Installing packages that are not in the repository
Keeping programs updated in Linux
File permissions and ownership explained
How to create files using the command line interface (CLI)
Creating new directories and moving files
Copying, renaming, and removing files
The FIND command and it’s practical uses
GREP command explained
Using GREP in conjunction with FIND
Redirecting the output of a command
The TOP command and its uses
How to view the entire list of processes and closing applications
Services explained
Configuring services using the command line
Using CRONTABS to schedule tasks
Choosing an integrated development environment (IDE)
Eclipse installation and setup
PyCharm installation and setup
Introduction to GitHub, installation, and repository setup
How to push/pull information from a repository
How to remove/ignore directories in our repository
Resolving merge conflicts through terminal
How to setup and manage branches
Meteor installation & setup
Meteor project setup
Router setup with React components
Getting into the programming
Rendering our blog posts
Apache 2, PHP 5, and MySQL setup
Server configuration
Linux hosts file explained
Deploying our Meteor app to an Apache 2 server
MongoDB NoSQL database
Virtual host setup
phpMyAdmin setup
Creating a basic virtual host
WordPress installation on top of our Apache 2 environment
Database setup
Python installation and CLI
Adding/removing users through GUI
Adding/removing users through CLI
Adding users to a group
Introduction to networking
Local area network (LAN) explained
Networking commands
NETSTAT command
Linux host file
TRACEROUTE commands
Network mapping explained
Using SSH to access the command line of a remote host
Using SFTP to transfer files between machines
Setting up SSH on our local machine
MAN command explained
Thank you for taking the time to read this and we hope you enjoy the course!
Hello everyone and welcome to the first tutorial in our learn ReactJS tutorial series! The first thing that we’re going to have to do is set up an environment to work in. So, we’re going to need to install a few dependencies and tools that we will use to develop using React and JavaScript. If you enjoy this tutorial, you will LOVE The Complete Full-Stack JavaScript Course on Udemy!
The first thing we’re going to do is install NodeJS. Let’s navigate to the NodeJS official website to download the installer. If you’re on Windows then you’re going to download the Windows Installer. If you are on Linux, you can open up the terminal to check if Node is already installed. Type in node –version and it should give you a version number. If it doesn’t that means that you don’t have Node installed on your system. We will also need npm, the JavaScript package manager. You can can check to see if npm is installed by using the command npm –version in your terminal.
If you’re on Windows, which I think many of you will be, you will go to the NodeJS website to download the installer. You’re going to install LTS because it’s more stable, and I feel safer using that for production. If you want to check out the latest features you can install current, but for this tutorial we’re going use LTS. Download the Windows Installer, either a 32-bit or 64-bit. I believe 32 bit processors are no longer in production (I could be wrong), so you’re most likely going to download the 64-bit version.
If you’re on Windows, the way you can verify which version you need is to right click on the Windows icon and click on System. It will say 32-bit or 64-bit. If you have a 64-bit system you can download the 64-bit version. Otherwise, install the 32-bit version. You’re going to click on the download button and it’s going to download the .msi file. The installation process is very straightforward. By default, the installer is going to add the Node library to the PATH. This is important.
Now the next thing we’re going to need to install is Visual Studio Code. Click and download it for Windows. It’s going to download an installer file, you can click keep, and then you’re going to run that. The process is exactly the same, you’re going to hit next, next, next, and it’s going to install Visual Studio to your system.
The next thing we’re going to install is React itself. You can install React through npm. Go ahead and open powershell, terminal, depending on your host system. If the following commands do not work and you have already installed the prerequisite software, go ahead and open up a new instance. It will load in the new PATH variables and it will be be able to find the Node and npm libraries. Now there are two ways to install Node libraries. You can install it globally to the system, which means you can use it in any directory. It’s not part of a project, it’s not a project dependency, it’s just an application that you’ve installed to your computer using Node. That is the method we’re going to use, npm install -g and then the package name. That is the syntax for installing global packages. If you’re in a projects directory that does have a package.json file, that means it’s a node project. So, you can install directly into that project. We’ll get more into that later. For right now, go ahead and type in the following command and hit enter:
npm install -g create-react-app
This process will take a few minutes to complete.
So this means now that from the command line we can use the command create-react-app. And that’s exactly what we’re going to do. Let’s also create a directory for our projects. I will create my project directory in the users directory on Windows. You should see pictures, music, downloads, etc. Just create a new directory, a new folder, and call it projects.
We’re also going to install React Developer Tools for Chrome. If you’re not using Chrome this is highly advised, install Chrome. You can go to chrome.google.com, install Chrome and then Google for React Developer Tools. You’re going to find that this package is offered by Facebook, click Add to Chrome. We’ll get more into what this does later on, however now is a great time to install it.
So what we’re going to do is change directory to projects, and then we’re going to issue the command create-react-app demo. This will create the directory that will host our React project. So in this instance, it’s going to be named demo.
In the next video we’re going to be looking at the basic project structure in React.
Hello everyone and welcome to our complete Linux course for beginners! Together we’re going to take a journey through Linux and give you the knowledge you need to become a power user. If you enjoy this tutorial, you will LOVE our Linux mastery course bundle!
But first we must ask the question, what is Linux? Well, confusingly, it depends on who you ask. In order to get an idea of what Linux is, we’ve got to go back in time a bit. In the early 80s Richard Stallman, then working in the AI lab at MIT, started the GNU project with the goal of creating an entirely free and open Unix-like operating system.
This all started when the lab got a new printer, but the licenses restricted his ability to modify the code. He had hacked earlier printers to electronically send messages to users who printed items when the printing was complete, as well as notifying other users when the printer was free to use. By the early 90s there was almost enough GNU software to create an entire operating system. However their kernel, the GNU hurd, was not yet complete.
Meanwhile, in the early 90s, Linus Torvalds set out on a hobby project to develop a Unix-like kernel known as Linux, and used GNU software such as GNU’s C compiler to do it. While a kernel on its own was useless, he ended up including GNU software with the kernel to release an operating system.
Later, Richard Stallman’s Free Software Foundation sponsored the group Debian to release a GNU/Linux distribution that was completely open for people to use and contribute to. Debian over the years grew from a small group of Free Software Foundation hackers to the enormous community that it is today. Due to its popularity, Debian has become the base of countless Linux distributions. Because of how open the software is, anybody can read the source code, modify it and then redistribute it.
Because of this, there are so many Linux distributions that a common problem for beginners is which Linux distribution should I use. Well, there are a few distros out there that actually include its own software. One of the biggest problems in Linux is how many distros there are. And the fact that a lot of them are the same distribution with new wallpapers and icons, and everything else is the same.
Ubuntu was started in the early 2000s and is owned and distributed by Canonical. The base of Ubuntu is Debian, and Ubuntu has become so popular that it has in turn been forked countless times. Forking is a process in which the operating system is used as the base of a new distribution. Ubuntu includes its own desktop environment called Unity, and has recently started distributing phones running a version of Ubuntu.
Canonical also contributes bug fixes and other contributions upstream, meaning that they send these changes back to Debian to include in future releases. While Debian releases new versions sporadically, Ubuntu’s aim was to capture the stability of Debian but release new versions more frequently. Canonical releases two distributions a year, one in April and one in October. The naming convention of Ubuntu is year, month.
The version we will be working with was released in April of 2018, and it’s called Ubuntu 18.04.3. Every two years in April a long term support version is released called LTS, which is officially supported for five years. While releases in between LTS versions are supported for only nine months. The next LTS release will be in April of 2020.
To download Ubuntu we’re going to go to ubuntu.com, and when the page loads we’re going to see in the top navigation that there’s an option that says desktop. So just click on that because that’s the version of Ubuntu we’re going to be working with. And then when you get on the overview page just click download Ubuntu, the big orange button in the main area. On this page it’s going to give us a few versions. So it’s going to prompt us to download the last LTE release which was released in 2018 in April.
If you’re going to be running Ubuntu on a server, it makes sense to run long term support versions because you only need to install a new version every five years. You can install more frequently because there’s a LTS version every two years, but with a non-LTS version there’s only official support, bug fixes and whatnot for nine months.
Again, we’re going to download Ubuntu 18.04.3 LTS. I will download the 64-bit version because that’s the processor type I am running. You can either click the download button to download it directly in the browser, or you can click alternative downloads and torrents to view what type of other files you can download.
If you have a relatively fast internet connection, it doesn’t really make a difference which download method you choose. The in browser download will most likely download just as quickly as the torrent. However, if you don’t have an incredible internet connection, a torrent download is going to make a lot of sense. It’s going to download a lot quicker than it would in the browser. I have already downloaded package. It took roughly 10-15 minutes because I have a poor internet connection at the moment.
We’re not going to install Ubuntu directly onto our hard drive, yet. That’s an awful big commitment to make when you’re not really familiar with Linux. What we’re going to do is go to virtualbox.org, and this is a piece of software that allows us to create virtualized machines. We can create multiple virtual machines and set them up differently, as well as install different operating systems on each one.
When you navigate to virtualbox.org there’s a gigantic button here that you cannot miss. Just click on that and it’s going to take you to the download page for VirtualBox. Now it offers different packages dependent on different operating systems. This is going to be for the host machine. To put that in clear terms, the computer that I’m on right now, that we can see is running Windows 10, that is the host machine. So I need to download VirtualBox 6.0 for Windows hosts. Now I’ve already got mine downloaded. And we’re going to need these in the next few videos.
Hello everyone and welcome to our Python programming course for beginners. Before we begin with the actual coding, let us talk about a few things such as who this course is for, and what we will be doing in this course. If you enjoy this tutorial, you can get the complete course for only $9.99!
First of all, we will be using Python 3 in this course. The reason why we are using Python 3 is because Python 2 will no longer be supported in 2020. Therefore, what we want to learn is Python 3 programming, which is similar to Python 2. If you have experience with Python 2, the syntax is rather similar. We will cover the changes between 2 and 3 throughout this course.
We are going to use Python 3, as I said, because it is the version that will be used going forward. Every Python 2 platform will need to be updated to Python 3, and therefore we are going to download and use Python 3.
Let us talk a bit about who this course is best suited for. If you are a student and you would like to learn Python programming, this will be the perfect course for you. We will cover everything from the very basics of programming to more advanced concepts later on. If you would like to make this your career and become a Python developer, you can take this course and you will learn a lot from it.
The Python language is useful for several different applications, such as web development, scripting, networking, automation, etc. We will cover all of these areas with coding demonstrations.
We will begin this course by downloading Python 3 for our Windows 10 machine. I will show you how to setup Python in Ubuntu Linux and Mac OS, but we will be mostly coding in the Windows 10 environment. I will be running an Ubuntu virtual machine, which we will use later on in the networking section, where we are going need two machines to communicate with one another. However, we will do most of our coding in the Windows 10 environment.
So that will be about it for this introduction to Python. In the next lecture I will explain a bit about Python, and we’re going to also download Python 3 for our Windows 10 environment.
I hope you enjoyed this tutorial and I hope I see you in the next one. Bye!
Hello everyone and welcome to our full-stack JavaScript tutorial for beginners. We hope you are excited to learn some new and exciting programming skills and go through building real world examples using JavaScript. This video tutorial is a 2.5 hour free preview of The Complete Full-Stack JavaScript Course on Udemy.
The format of this course will be be a bit different from courses that I have instructed in the past. Rather than begin by covering data types, syntax, etc, we will focus on coding demonstrations. It is my belief that you learn best by doing. We will begin with a few basic examples and then move on to writing fully functional applications.
We will be building three applications in this course using JavaScript. The first project is going to be a calculator. In this project we will cover the basics of what ReactJS is, and then we will learn how to create React Components and work within the react lifecycle. After that we will move on to some of the full-stack aspects of JavaScript. We will create a REST API and host it, and then we will circle back to React so that we can get a good example of how a React application and a REST API written in JavaScript can communicate with one another. We will use React and our REST API to create a feature rich blogging platform. The third project will introduce you to a newer technology, which is WebSockets.
So, traditionally when you have a client side application, for instance a React application that communicates with an API, it’s kind of like a ping pong request. You send a request and you receive a response. It’s kind of like a one for one. With a WebSocket you can keep clients connected on the server side, and you can send data to the client whenever it’s deemed necessary. So to demonstrate this capability, we’re going to be building a chat application. Users will be able to create an account, search for other users and add them and then message back and forth with them.
So first off, what is JavaScript? To put it very simply, it’s an interpreted programming language that runs on the client side. So when you write JavaScript on a website, the server that the website is hosted on has nothing to do with executing that JavaScript. The JavaScript code is sent to the browser of the user and interpreted on their machine. So, there’s different JavaScript rendering engines used in, for instance, Chrome, and Internet Explorer, and Microsoft Edge, etc. So all browsers have a slightly different interpretation. Most JavaScript engines work the same, but to get a specific browser capabilities working for all browsers is not always possible. We are not going to cover Internet Explorer at all in this course, because no one should be using Internet Explorer. Unless, you have work applications that were coded for Internet Explorer, and they will not work for anything else. In that case, use it. However, that’s beyond the scope of this course.
JavaScript was introduced in 1995. It’s evolved quite a bit since its initial release. It originally didn’t have object oriented capacities. There were some ways to fake it, but nowadays you can easily create classes and instantiate them with a constructor. The version of JavaScript that we will be using is called ES6 (ECMAScript 6).
To get the most out of this course you will want to know how to use HTML, a minimal amount of CSS, just so that we can make things not look absolutely horrendous, and a basic understanding of JavaScript. If these technologies are unfamiliar to you, feel free to check out our front-end web development course on Udemy. We are going to take what you already know and we are going to extend it with real world applications.
You’re going to learn how to use React and React Redux. You will learn how to use LoopbackJS, which is the rest API framework that we’re gonna use, which is built on top of Express. You’re also going to learn how to install packages through the Node package manager. Node is the environment that we can use to run server side applications like React’s hot load server, which is a way that we can run React in development. When we make changes to files it will automatically reload the page in our browser. So it makes development extremely simple. We’re also going to learn about WebSockets.
WebSockets, again, are a way that we can add bi-linear communication. The server can keep connections open indefinitely, and send messages to clients, and it can keep a running list as well. Now the package that we’re going to be using for it is called socket.io. You install it to your computer, however there isn’t any third party communication between any services. This gives us everything we need to make WebSockets work out of the box. I believe this technology was fully enabled in browsers in 2010. So it’s already 10 years old. But when we talk about technologies like PHP and whatnot, it’s relatively new.
So with that being said, again, you should know HTML, CSS and JavaScript. We’re going to take the knowledge that you have and we’re going to turn it into applicable knowledge. By the end of this course you should be able to build REST API programs, create your own routes, your own callbacks and more. You should be able to build and work with React applications, installing modules as needed or creating your own. You will also be able to build a chat application, or any other real time communication system that uses WebSockets. The material that we will cover in this course will be applicable to a wider range of tasks provided by a full-stack web developer.
The code for these projects will also be hosted on GitHub. The source code for the projects included in The Complete Full-Stack JavaScript Course can be found in the following repositories:
Hello everyone and welcome to this Metasploit system hacking tutorial! Let’s start with familiarizing ourselves with the Metasploit framework. The Metasploit framework is a penetration testing tool and it comes pre-installed in Kali Linux. It is mostly used for the exploitation of systems. You can also use it for scanning. In Metasploit you will utilize modules, payloads, nops and many other pre-made programs. Before we begin using them, let’s define and make them understandable. After that we will execute our first exploit. For a limited time, you can enroll in the complete course on Udemy for only $9.99!
As I said, the Metasploit framework is a tool for developing and executing code against a remote, target machine. In Metasploit you have access to the MSF payload creator which makes this process relatively simple. You can access Metasploit with the following Linux command:
msfconsole
There is also a program called Armitage which enables you to interface with the Metasploit framework using a GUI.
The two most important terms we will be using throughout this section are exploit and payload. An exploit is a vulnerability in a computer system. For example, if we detect that a target is running a vulnerable piece of software, we can take advantage of it and exploit it. A zero day exploit is a vulnerable system that hasn’t been previously discovered. That is why it’s referred to as a zero day, it hasn’t been fixed yet. There are different types of zero day attacks. Some can be far more dangerous than others.
One of the most infamous zero day vulnerabilities was EternalBlue. EternalBlue was discovered in 2017 and allowed anyone to access a Windows 7 machine, without the user executing anything. So you could connect to the same network and exploit the Windows 7 machine if it was running a 445 open port. We will target the EternalBlue vulnerability later on in this tutorial. Now it is highly unlikely that we will discover any zero day vulnerabilities. We will be exploiting targets with already known exploits with our reverse shells.
That brings us to payloads, which is what reverse shell is. Once we exploit the vulnerable software we will deliver a payload. A payload is a piece of software that enables you to connect to a target machine and then perform some action or extract information. Now we will cover the different payloads in great detail in the upcoming tutorials, but for now, let us start up the Metasploit framework and take a look at the environment.
Now before we use the msfconsole command to start Metasploit, let’s execute the following command in our Linux terminal:
service postgresql start
This will make Metasploit run faster since it is using the database. Now you do not need to do this if you don’t want to, but it will help Metasploit run faster.
Let’s open up Metasploit framework. In order to do that you just need to execute the following Linux command:
msfconsole
Since this is a virtual machine, this might take a few seconds to open depending on your PC speed. The first thing you will notice is this banner right here. Take notice of all of the tools available to us in Metasploit. Currently at this time, March 2019, we have 1854 available exploits, 1049 auxiliary modules, 325 post-exploitation modules, 546 payloads, 44 encoders, 10 nops, 2 evasion. We will cover what all of these are in the next lecture, but for now let us cover how we can navigate through this framework.
So the first logical thing that we should do is type “help”. The help command will give us the available commands that we can run. We will be using the “use” command quite a bit throughout this tutorial. In Metasploit, you typically type “use” followed by the exploit that you want to use. Since we are beginners and do not know the names of the modules or exploits, we can also use the search command in order to find out them.
If you just type here “search”, and let’s say we want to find Windows exploits. So type the following in your Linux terminal:
search windows
This command will give us all of the available Windows exploits available in the Metasploit. As I said previously, there’s over 1800 exploits in the Metasploit framework. We will cover only a few of them. If we were to cover all of the available exploits this course would be hundreds of hours long.
We will not be running any exploits, for now, since we don’t have a vulnerable target. I just wanted to show you some of the commands that you will use in order to select your exploits. We will begin exploiting targets in the next lectures right after we cover the basic structure of the Metasploit framework itself. I will explain what nops, encoders, payloads, exploits, post exploitation tools are in the next video.
Before we finish, you might have noticed that I can type “ifconfig” in the terminal once we have entered a Metasploit session. You can run system commands from this command tool. You can run all of the commands that you can run from a simple terminal in the Metasploit framework command line. So you can also run nmap or netstat, and you can also run any other system command through this tool as well.
So that would be about it for this tutorial. Now you might have further questions about Metaploit, don’t worry, we will cover this framework in great detail moving forward. I just wanted to show you the simple environment of the Metasploit framework itself, and some of the more important commands that we will be using. I will explain the modules that we have in the Metasploit framework in the following lecture. Bye!
Hello everybody and welcome to the beginning of our new Python for ethical hacking course. In this Udemy course we will be coding our own penetration testing tools. If this is your first ethical hacking course, I’ll be sure to make this course beginner friendly, and explain everything as we go. For a limited time, you can enroll in the complete course on Udemy for only $9.99!
We’ll start off by installing our environment and setting up our Kali Linux machine. If you are not a beginner and have watched other ethical hacking courses, you probably already have the Kali Linux machine installed. If so, you can skip the introductory part and go right into the coding section.
What we will be doing in this course, as it says, is we will be coding our own tools that we will use for ethical hacking attacks. Most ethical hacking courses consist of scanning, enumeration, exploitation, backdoors, keyloggers, bruteforcers and many other attacks on the websites. There are many other activities covered as well, but most are performed with tools created by other people. What we want to do is actually code some of our own tools and make them useful for our future attacks. We will begin with coding a port scanner. We will try to create something similar to nmap. We will start off our attack by scanning the port, scanning the target and checking out the banners for the versions of software running on the target system. Then we will proceed to actual exploitation and attacking, brute forcing SSH, brute forcing FTP and on other protocols as well.
We will also code a reverse shell. If you’re coming from my previous ethical hacking course, you probably already have an idea of what a reverse shell is, since I covered it in that course. We will build off of what we coded in the previous course, as well as add additional functionality in this one. Now if you didn’t take my previous course don’t worry. I will cover everything in great detail for those of you who unfamiliar with both ethical hacking and Python.
I will not actually be showing you how to code in Python. This is not a Python course. I will, however, explain everything as we go through and code our own tools. Since teaching you how to code in Python would consume too much of our time, I will explain to you everything that we are doing in great detail. So, don’t worry even if you don’t have any previous experience. You can still attend this course and learn a lot from it.
Now, as I said, we will begin by creating our virtual environment. We will use VirtualBox and Kali Linux for this purpose. The Kali Linux machine is where we will run our attacks, where we will code our own tools, where we will compile them and run them.
You can code on Windows or MAC if you wish. If you have Python installed on another system, you can actually code all of these tools in that environment. If we run into something that can’t be run on a Windows environment, I will make sure to actually say that before we start coding. I would advise you to download Kali Linux if you wish to follow this course. For those of you who don’t have it installed, I will show you how you can download and setup a Kali Linux machine.
So, that’ll be about it for this introductory post. I hope you will enjoy this course and I hope you learn a lot from it. Please use it for your own purposes, as long as they are on the legal side. Please don’t use this information for anything that isn’t legal, such as scanning targets you do not own, attacking targets you do not have permission to attack, or basically anything that is illegal.
So, that would be about it for this post. I hope I see you in the next lecture where I’ll show you how you can download VirtualBox, the newest version, and Kali Linux 2019. I hope you enjoy this preview video and I hope I see you in the course!
If you would like to master ethical hacking in 2019, you are going to LOVE this course! Learn ethical hacking and penetration testing while working on practical Python coding projects. Enroll now for the lowest price of $9.99!
We will cover the following topics in this course:
Introduction and setup
Port and vulnerability scanning
SSH and FTP attacks
Password cracking
Sniffers, flooders and spoofers
DNS spoofing
Network analysis
This course was designed for students interested in intermediate to advanced level ethical hacking tutorials, however it is still taught in a step-by-step, beginner friendly method. English subtitles are available and all lectures are downloadable for offline viewing. 1 on 1 assistance with the coding projects is available within the discussion forum.
This course is also available in the following bundles!