Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Raspberry Pi & Hacking & Computer Programming Languages-P2P PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 152
At a glance
Powered by AI
The document discusses computer programming languages and their basics. It provides an overview of topics like Python, SQL, Java, HTML and more.

The document is about introducing computer programming languages and their basics. It aims to provide people with a strong foundation in programming.

Some of the topics covered in the document include Python programming, Raspberry Pi, SQL, Java, HTML and more. It also discusses getting started with programming and learning from the ground up.

Computer Programming Language:

The Blueprint

Learn the Basics of Computer


Programming Languages
By: Cyber Punk Architects
© Copyright 2016 Cyberpunk Books - All rights reserved.
In no way is it legal to reproduce, duplicate, or transmit any part of this
document in either electronic means or in printed format. Recording of this
publication is strictly prohibited and any storage of this document is not
allowed unless with written permission from the publisher. All rights reserved.

The information provided herein is stated to be truthful and consistent, in that


any liability, in terms of inattention or otherwise, by any usage or abuse of any
policies, processes, or directions contained within is the solitary and utter
responsibility of the recipient reader. Under no circumstances will any legal
responsibility or blame be held against the publisher for any reparation,
damages, or monetary loss due to the information herein, either directly or
indirectly.
Respective authors own all copyrights not held by the publisher.

Legal Notice:
This book is copyright protected. This is only for personal use. You cannot
amend, distribute, sell, use, quote or paraphrase any part or the content within
this book without the consent of the author or copyright owner. Legal action
will be pursued if this is breached.

Disclaimer Notice:
Please note the information contained within this document is for educational
and entertainment purposes only. Every attempt has been made to provide
accurate, up to date and reliable complete information. No warranties of any
kind are expressed or implied. Readers acknowledge that the author is not
engaging in the rendering of legal, financial, medical or professional advice.
By reading this document, the reader agrees that under no circumstances are
we responsible for any losses, direct or indirect, which are incurred as a result
of the use of information contained within this document, including, but not
limited to, —errors, omissions, or inaccuracies.
About CyberPunk Architects
Computer programming doesn’t have to be complicated. When you start with
the basics its actually quite simple. That is what Cyberpunk Architects are all
about. We take pride in giving people the blueprint for everything related to
computer programming and computer programming languages. We include
Python programming, Raspberry Pi, SQL, Java, HTML and a lot more.

We take a sophisticated approach and teach you everything you need to know
from the ground up. Starting with a strong base is the only way you will truly
master the art of computer programming. We understand that it can be
challenging to find the right way to learn the often complex field of
programming especially for those who are not tech savvy. Our team at
Cyberpunk Architects is dedicated to helping you achieve your goals when it
comes to computer programming.

We are here to provide you with the blueprint to give you a strong foundation
so you can build on that and go into any area of programming that you wish.
Our architects are comprised of professionals who have been in the industry of
information technology for decades and have a passion for teaching and
helping others especially through our books. They are friendly, experienced,
knowledgeable computer programmers who love sharing their vast knowledge
with anyone who has an interest in it.

We look forward to getting a chance to work with you soon. Here at Cyberpunk
Architects, you can always be sure that you are working with right people.
Allow us take care of your needs for learning computer programming. If you
have any questions about the services that we are providing, please do not
hesitate to get in touch with us right away.
Free Bonus!

Programing can be hard but it doesn’t have to be! Take this


free PDF guide to understand some of the basics of
programming

Download the free guide:

Download Now
Book 1

Computer Programming Language:


The Blueprint

Book 2
The Blueprint to Raspberry Pi 3
Book 3
The Blueprint To Hacking
Introduction
Chapter 1: Why Learn About Computer Programming
Chapter 2: The C# Programming Language
Chapter 3: The C++ Programming Language
Chapter 4: The Python Programming Language
Chapter 5: Working with the C Coding Language
Chapter 6: The JavaScript Programming Language
Chapter 7: Working with the Java Coding Language
Conclusion

Introduction
Chapter 1: Raspberry Pi – An Overview
Chapter 2: Raspberry Pi 3 – Model B Hardware Specifications
Chapter 3: Raspberry Pi 3 – Software Specifications
Chapter 4: Configuring Raspberry Pi
Chapter 5: Programming In Raspberry Pi
Chapter 6: Sample Project Ideas For Your Raspberry Pi
Chapter 7: Accessories For Your Raspberry Pi 3 – Model B
Conclusion

Introduction
Chapter 1: How To Setup Your New Hacking Environment
Chapter 2: How To Use The Linux Terminal And Master Its Functions
Chapter 3: How To Be Completely Anonymous Online Like The Pro's
Chapter 4: How To Setup NMAP
Chapter 5: Which Tools The Hackers Use To Crack Passwords
Chapter 6: TOR And The DarkNet
Chapter 7: How You Can Use Multiple Tools To Gather Information With
Wireless Hacking
Chapter 8: How To Keep Yourself Safe From Being Hacked
Introduction

Working in coding can be a great thing to learn. It allows you to learn more
about how your own computer works and can be a fantastic way to keep it safe
and make some of your own programs. Too many people assume that
computers and the programming that goes with them are just going to be too
hard for them to learn without them having years of experience or school, but
the reality is, anyone is able to learn a coding language, you just need to pick
one and get started.

This guidebook is a great resource to help you to get started with some of the
most popular coding languages that are in use right now. We will start out with
some of the basics of computer programming and why you would want to learn
one of these languages, before moving on to the basics of starting with this one
and how to make it work for your needs. Some of these are great all on their
own, and some will be better when you combine them with another coding
language to get even better results.

Inside this guidebook, we are going to learn some of the best coding languages,
some of the most popular, which will help you to get started on the right track.
Inside we are going to look at some of the basics, and how to write your first
codes, for some of the most popular coding languages including C#, C++,
Python, Java, and JavaScript. With these basic coding languages you will be
able to work on almost any of the coding languages that you would like
including making your own websites and other programs.

When you are ready to learn a bit more about some of the best coding
languages out there and you want to get started on your own, make sure to
check out this guidebook and see how easy it can be to get started on some of
the best coding languages from above.
Chapter 1: Why Learn About Computer Programming

Computer programming is a great skill to learn how to use. Most people are
worried that computer programming is going to be too hard for them to learn.
They feel that unless they spend a lot of time learning the computer or having to
spend years at school in order to do anything. But even as a beginner, it is easy
to learn how to work with computer coding. In the following chapters, we are
going to talk about some of the basic coding languages that are really popular
and will help you to learn how to get started and you will be able to see how
easy computer programming can be.

You don’t have to do something that is too complicated when you are getting
started. You won’t have to know how to hack onto some of the other computer
systems or create operating systems or anything like that when you are first
getting started. If you want to get to that later on, it is something that you can
work with, but for now, some of the basics are all that you need to get started
and have a good time. Let’s take a look at some of the reasons that you would
want to learn how to work on computer programming before we move on to
some of the best coding languages that you can use to get the most out of your
new coding skills.

Make your own programs

One of the best options that you can do when it comes to using a new coding
language is that you are able to make some of your own codes. Each of the
coding languages will have their own options when it comes to what you are
able to create. For example, C# is a more advanced option that can handle
some of the bigger projects that you want to work on while Python is good for
those who are beginners and Java and JavaScript are great for when you want
to work on your own websites and the add-ons that come with them.

You will find that there are so many programs that you are able to make when it
comes to a coding language and you are able to design almost anything that you
would like.

One good idea to work with is to make sure that you figure out what kinds of
projects that you would like to work on and then figure out what coding
language that you would like to work on to make that project a reality. The only
limitation is your imagination when it comes to the things that you are able to
create.

Answer questions when things go wrong

No matter what kind of computer you have, there are always times when
something will go wrong. The computer could run into an issue with a new
program that you are working on or it may get a virus or another issues.
Sometimes the computer gets old and just needs a little bit of extra help
compared to some of the others.

When these things go wrong, many times we are going to try to find a computer
professional and pay them a lot of money in order to get them all fixed up. We
get the problem fixed in this manner usually, but we have no idea of the type of
issue that was going on or even how it was fixed in the first place. This is fine
for some people, but wouldn’t it be nice if we were able to understand what is
going on with our computers and even how to fix them ourselves?
When you learn a bit about coding, you may be able to fix some of the issues
on your own. You will be able to use some of the coding to take a look through
the issue that is coming up on your screen and make some changes. You maybe
will be able to figure out that the new program you installed is not the best one
for your particular computer program, perhaps you placed something in the
wrong order, or you can make some simple changes.

The coding that you will learn may not be able to fix all of the issues that come
up, but you will find that it can make a bit difference in how well you can take
care of and fix the issues on your computer.

Learn more about computers

Even if you don’t have any ideas for programs in mind right now, it is still a
great idea to work with a new coding language. You are going to be surprised
by how much it is able to teach you about your own computer.

These coding languages are going to help you to manipulate and change around
the things that are going on in your computer, whether you are trying to look
things up or to make a new program. In this guidebook, many of the programs
that we are going to do concentrate on the Hello World program to get started,
so that you can get used to them and you get to see how your computer will
react to each of the codes.

Many times we are going to get into a new coding language and be uncertain
about what we are doing. Most of us have not spent the last many years
working in computers and making them our own. But with the help of a new
coding language and learning something new, we will learn so much great stuff
about how our computers work.
Chapter 2: The C# Programming Language

The first language we are going to work with is the C# programming language.
This is a very popular coding language, but it is considered an intermediate
one to learn. You will like that there is a lot of power that comes with this
coding language and it is very easy to learn how to use and create your
programs from. To get started with some of these options, make sure to visit
this website to download the C# language: http://www.microsoft.com/en-
us/download/details.aspx?id=7029

What are the variables?

When we bring up the topic of variables in our code, we are talking about the
names that we give to all the data that is inside our programs; these data types
are ones that we want to store for now but which we may want to manipulate a
bit later on. For example, if you want to store the age of your user inside of the
program, you would need to name the data, using the userAge, and then declare
that this is a variable userAge with the following statement:

int userAge:

This declaration statement will be used in order to state the data type that is
going with the variable and then the name as well as the data type will refer to
any data that is stored inside of the variable (which depending on the code can
be either some text or a string of numbers). Since we used the variable (int) for
this example, the code is going to show that there will be an integer inside,
which is something that works since we want to get an age, or a number. After
you take the time to declare the variable of userAge, the program will save
some space in the memory of your computer so that this data can be stored. You
can come back and find this variable later on and access any of the data, even
making some modifications, simply by using the right name later on.

The data you will see inside of C#

When it comes to picking out the data types, there are some variety that comes
with this kind of language. Some of these we are going to talk about throughout
the book because they are common and will work on many of the codes that we
are trying to write. Some of the most common data types that are found in this
language include:

Int: this is the one that will stand for integer. It is going to be a number of some
sort, as long as it doesn’t have a decimal or a fraction in it.
Char: this is the one that will stand for character. It is a single unit inside of the
code and it can be used in order to store that single character. You can add
together characters inside the code to get what you would like.
Bool: this one is going to stand for Boolean and it is based off the idea of
being either true or false. It is often used to help out with control flow
statements and will check to see whether your answer is true or false based on
the conditions that you are using.
String: this is the one that is used any time that you would like to create,
manipulate, or even compare different pieces of text that are inside of the code.

Another data type that you will probably utilize a lot when working in C#
includes the operator. These operators are really busy in the code because they
are responsible for doing so many different things. They can assign a value to
whatever variable you are working on, they can compare different variables to
see if they are alike or different, and they can even do some mathematical
equations for you. There is just so much that the operators are going to be able
to do to help you out. Some of the different types of operators that you can
work with include:

Arithmetic Operators

The arithmetic operators are responsible for helping you to do various


mathematical equations. If you need to add a few variables together or do
something else similar, these are the ones that you will need to work with.
Some of the arithmetic operators that you are able to choose from include:

(+): this is the addition operator.


(-): this is the subtraction operator
(*): this is the multiplication operator
(/): this is the operator for division
(%); this is the modulo operator
(++): this is the increment operator and is used to increase the value of your
operand by one.
(--): this is the decrement operator and it is used in order to decrease your
operands value by one.

One thing to remember when working on your code is that you are able to use
multiple of these inside of the same part. You can add together more than two
numbers or you can do a combination and add together a few numbers before
subtracting others and so on. You just need to remember that the order of
operations is going to come into play here and the system is going to go in a
certain manner in order to get the right answer. It is going to first multiply, and
then divide, and then move on to addition and subtraction, going from left to
right, to get the correct answer.

Relational operators

Next on the list is the relational operators. These are the ones that will
compare whether the two operands you have are equal or not equal and then
give you the right result at the end. The most common types of relational
operators that you may find include:

(==): this is the equal to operator. If the two values are equal, you will get a
true result.
(!-): this operator is the not equal operator.
(>): this is the greater than operator.
(<): this is the less than operator.
(<=): this is less than or equal to.
(>=): this is greater than or equal to.

When you are working on the relational operators, you are working with the
Boolean data type. This means that the result you are getting will be either true
or false. If the answer gives you a return of true, it means that the statement that
is connected to your code is going to be executed. But if it ends up that the
statement is false, the code is going to end; if you set up a conditional
statement, it will be the second statement that releases if your answer returns a
false.

Logical operators
There are several logical operators that you will be able to use inside of your
C# code including;

(&&): this is the logical AND. It is only going to show up as true if both of
your operands are true.
(||): this is the logical OR. This operator is going to give you true for an answer
if at least one of your operands ends up being true.
(^): this is the logical exclusive OR and it will result in a true if one of your
operators is true.
(!): this one will be able to reverse the value of the Boolean variable.

These are similar to the relational operator because it is also going to be seen
as a Boolean answer. Your return is going to be either true or false and
depending on the conditions that you set up, you will be able to get the right
statements to show up on the screen.

Working on Your First Code

Here we will need to open up the compiler for C# and get started on our very
first code. Here is what we will need to write out to get that to work:
using System;
using System.Collections.Generic;
using SystemLinq;
using System.Text;
using System.Threading.Tasks;

namespace HelloWorld
{
//A simple program to display the words Hello World

class Program
{
static void Main(string[] args)
{
Console.WriteLine(“Hello World!”);
Console.Read();
}
}
}

As you work on this code, you may see that while you are typing, there is
sometimes a box that appears that will provide you with tips or other help.
This is the Intellisense part that comes with the VSC compiler and it is good
for beginners who need some help with the code they are writing. If you are
uncertain that you are writing the code properly or you don’t know what you
should write out next, this is a good thing to look for. Once you have this code
typed into the compiler, you can push on the Start button on your menu so that
the program is executed.

If you have some trouble getting the VSC running, you will see that the
compiler will provide you with the “Output Window” error. You will be able
to push on the error to see what it is and make the changes that are needed
before running the program.

Now, if you wrote the code properly, and the program doesn’t bring up any
other issues, you should have a little black window that comes up on your
screen that says “Hello World” inside. When you see this and are satisfied
with the work, you will can exit out of this by pressing the Enter key. And now
you are done with the first program you need for C#.
Chapter 3: The C++ Programming Language

The C++ language is another one that you may want to add into the mix when
you are learning ow to work with the coding languages. It is simple to learn
and you are going to love some of the results that you get. It is a bit easier to
learn compared to the C# language and it provides you with many great
programs that you are going to love. Before getting started, make sure to visit
https://www.microsoft.com/en-us/download/details.aspx?id=5555 to get it
ready for your computer. Let’s take a look at some of the great things that you
are able to do with this coding language.

The Hello World Program

Now that you have had some time to set up your environment, it is time to work
on your first code and learn how to write a program in this language. We are
going to work on the Hello World code and see how easy it is to write out the
first code inside this language. In order to get the screen to print out Hello
World, you would need to type in the following:

#include <iostream>
using namespace std;

//main() is where program execution begins

int main()
{
cout <<”Hello World"; //prints Hello World
return 0;
}

Now that we have written out the code, we need to look at all the parts to learn
what they mean. First, C++ will involve a variety of headers which are used to
hold onto useful information and data for the program. The <iostream> header
is the one required for this code. We then moved on to adding in the line “using
namespace std”. At this area, we are telling the compiler which namespace to
bring up your information.

The int main() part is going to tell the program that this is the primary function
where the program should start being executed and the two slashes are
comments that let other programmers know what you are doing in the code
without effecting how well the code works. All of this is going to come
together in order to print off “Hello World” onto the screen.

Comments in the Code

Comments are important when working inside of the C++ coding language.
These are going to help you to explain certain parts of the code to the other
programmers who may be looking through the code or can even be used as a
way to name your new code. If you use the right symbols inside of the
comment, the compiler is just going to skip right over the comment so any
comments that you write out won’t mess up the code or change anything.

If you would like to write out a comment inside of your code, you would need
to use the /* at the beginning of the code and then the */ at the end of the code to
show the compiler that you are done writing out the comment at this point.
C++ Variables

When we are working inside of C++, a variable is going to give you a name
for the storage of data inside of the program. Each of the variables that you
have inside of the C++ program is going to have a specific type, even with this
particular code that you are working on. The variable is going to also work to
determine the size as well as the layout of the memory for the variable and the
range of values that you can store inside of the memory.

When it comes to naming the variables, you will be able to use the underscore
character, digits, and letters in order to get it named right, but you will need to
make sure that the beginning is either an underscore or a letter rather than a
number. There are many variables that you will be able to use, but the most
common types include:

Bool: this is going to store values of false or true.


Char: this is going to usually just be one letter or number and it is considered a
type of integer.
Int: this is often considered the natural size of the integer.
Void: this is the one that you will use if there is an absence of a type in your
code.

You will want to declare your variables so that the compiler knows that there
is one present and is able to know the type and the name before proceeding.
The variable declaration will have meaning only when it is compiled because
the compiler will actually need a definition of the variable when it is time to
link them up. If you are using several files in order to define the variable, you
will need to go through a variable declaration. The extern keyword is the best
for helping to declare the variable at any place that you want in the code.

A good example of writing out a variable inside this language includes the
following;

#include <iostream>
using namespace std;

// Variable declaration:
extern int a, b;
extern int c;
extern float f;

int main () {
// Variable definition:
int a, b;
int c;
float f;

// actual initialization
a = 10;
b = 20;
c = a + b;

cout<< c << endl ;

f = 70.0/3.0;
cout<< f << endl ;
return 0;
}
Chapter 4: The Python Programming Language

Python is considered one of the best coding languages if you are a beginner. It
is really easy to use and can even be combined with a lot of the other coding
languages if you are looking on getting started and want to add in some more
power along the way. It is one of the best and has a huge support group to help
you out with any of the programs that you want to create. To get the Python
language on your computer, visit www.python.org/downloads

There are so many things that you are able to do in order to get a code up and
running on Python. Many people may avoid using Python because they think
that it is too simple or it just isn’t going to get the job done. But in reality, it is
simple just for the fact that even a beginner is able to learn how to use it, but
that doesn’t mean that you aren’t able to do a lot with it. This chapter is going
to take some time to look at the different commands that you can do with
Python programming in order to make your programs and codes come to life.

Variables

Variables may sound like something that is too complicated to learn, but they
are basically locations in the memory that are reserved in order to store the
values of your code. When you work on creating a variable, you are reserving
this spot in the memory. In some cases, the data type that is in the variable will
tell the interpreter to save the memory space and can even decide what you are
able to store on your reserved memory.

Assigning values to your variables


The value is going to be one of the basic things that your program will need to
work with. It can be a string, such as Hi World, 3.14, which is considered a
type float, or a whole number like 1, 2, and 3 which is considered an integer.
Python variables will not need an explicit declaration in order to reserve the
space in the memory that you need. This is something that is going to happen
automatically whenever you place a value with the variable. For this to work,
simply place the (=) so that the value knows where it is supposed to go.

Some examples of this include:

X = 10 #an integer assignment


Pi = 3.14 #a floating point assignment
Y= 200 #an integer assignment
Empname = “Arun Baruah” #a string assignment

Keep in mind that when you are working on codes, you are able to leave a
comment with your wok by using the # sign. This allows you to explain what is
going on in the code, leave some notes, or do something else within the
program. It is not going to be read by the interpreter since it is just a little note
that you are leaving behind for yourself or for someone else.

The next part is going to depend on which version of Python you are using.
Python 2 is fine with you writing out print and then the information you want to
talk about but Python 3 is going to require you to place the parenthesis in to
make it work. An example would be:

Print(“y = %d” %y)


Print(“x = %d” %x)
Pring(“Employee Name is %s” %empname)

These would then be put through the interpreter and the outputs that you would
get should be

X = 10
Y = 200
Employee Name is Arun Baruah

Now go through and put in this information to your program and see what
comes up. If you didn’t get the right answers like listed above, you should go
and check that the work is done. This is a simple way to show what you are
able to do with Python and get the answers that you need.

Multiple Assignments

In addition to working with the single variables that were listed above, you
will also be able to work on multiple assignments. This means that you are
going to be able to assign one value to several different variables at the same
time. To do this, you would just need to place the equal sign between all of
them to keep things organized and to tell the computer that the value is going to
be with all of the variables together. You can keep them separated out if that is
easier for you, but using this method is going to help you to send everything to
the same memory location on the computer and will give the code a clearer
look on your screen.

A good example of how to give more than one variable the same value
includes:
a=b=c=1

This is telling the code that you want all of them to be tied with the value of 1
and that all of these variables should have the same value and that you want to
assign them all to the same location within your memory.

Standard Data Types

Another thing that you are able to work on when doing Python is the various
data types. These are going to be used in your code in order to define the
operations that you can do on each data type as well as explain to others the
storage method that will be used for this kind of data. Python has five data
types that are considered standard including:

Numbers
Dictionary
Tuple
List
String
Numbers

Number data types are the ones that will store the numeric values. They are
going to be created as objects once you assign a value to them. There are also
four different types of numericals that Python will support including

Complex (such as complex numbers)


Float (floating point real values
Long (long integers that can also be shown as hexadecimal and octal.)
Int (signed integers)

One thing to note is that while Python will allow you to use the lowercase l
when doing the long form of a number, it is best to go with an uppercase L
whenever you are using the letter. This is going to help you avoid confusion in
reading the program between the l and the 1 as they look really similar. Any
time that Python is displaying a long integer that has the l in it, you will see the
uppercase L.

Strings

Strings are identified in Python as a contiguous set of characters that will be


shown by the use of quotations marks. Python is going to allow for either
double quotes or single quotes, but you do need to keep things organized. This
means that if you use a double quote at the beginning of your string, you need to
end that same string with the double quote. The same goes when you are using
a single quote. Both of these will mean the same thing, you just need to make
sure that you are using the proper quote marks to make the code look good and
to avoid confusing the Python program.

In addition to being able to print off the string that you would like, you are also
able to tell the program to print just part of the string using some special
characters. Let’s look at some of the examples of what you are able to do with
the strings, and the corresponding signs that you will use at well, to help
illustrate this point.

str = ‘Hi Python!’


print(str) #prints complete string
print(str[0]) #prints the first character of the string
print(str[2:5]) #prints characters starting from the 3rd to the 5th
print(str[2:])#prints string starting from the 3rd character
print(str*2) #prints the string two times
print(str+”Guys”) #prints concatenated string

For the most part you are probably going to want to print out the whole string
to leave a message up on your program so the first print that you do is going to
be enough. But if you just want to print out Hi or some other variation of the
words above, you may find that the other options are really useful. You can do
any combination of these, they are just examples to help you get started!
Lists

Lists are one of the most versatile data types that you can work on in Python. In
this language, the list is going to contain different items that are either enclosed
with the square brackets or separated out with commas.

They are similar to the arrays that you would see in C if you’ve worked with
that program. The one difference that comes up with these is that the items that
are in a list can be from different data types.

The values that are stored inside the list can be accessed with a slice operator
as well as the [:} symbol with the indexes starting at 0 at the beginning of the
list and then working down until you get to -1. The plus sign will be the
concatenation operator while you can use the asterisk as the repetition
operator. For some examples of what all this means and how you can use the
different signs within your programming, consider some of these examples:
list = [‘mainu’, ‘shainu’, 86, 3.14, 50.2]
tinylist = [123, ‘arun’]
print)list) #prints complete list
print(list[0]) #prints the first element of the list
print(list[1:3]- #prints elements starting from the second element and
going to the third
print(list [2:]) #prints all of the elements of the list starting with the 3rd
element.
Print(tinylist*2) #prints the list twice.
Print(list + tinylist) #prints the concatenated lists.

Dictionaries

Dictionaries are another kind of tool that you can use when you are working in
Python. They are similar to a hash table type and they are going to work similar
to the hashes or the arrays that you can find on other programming languages
like C# and Perl.

They will also consist of key value pairs and while the key can be almost any
type on Python, you will notice that they are usually going to be strings or
numbers. For the most part, when it comes to values, you will find that they are
an arbitrary object in python.

Some examples of how this will work include the following codes:

#dictionary stores key-value pair, later to be retrieved by the values with the
keys
dict = {}
dict[‘mainu’] = “This is mainu”
dict[10] = ‘This is number 10”
empdict = {‘name’: ‘arun’, ‘code’:23, ‘dept’: ‘IT’}

print(dict[‘mainu’]) #this will print the value for the ‘mainu’ key
print(dict[10]) #this will print the value for the 10 key
print(empdict) #this will print the complete dictionary
print(empdict.keys()) #this will print out all of the keys
print(empdict.values()) #this will print all the values

One thing to keep in mind is that these dictionary values are not going to be
stored in an order that is sorted. They aren’t going to have the concept of
ordering among the elements. This does not mean that you can say that the
elements are out of order, they are just going to be unordered.

Keywords

Most of the types of programming languages that you will deal with will have
some keywords or words that are reserved as part of the language. These are
words that you really shouldn’t use in your code unless you absolutely can’t
help it.

There are 33 keywords found in the most recent version of Python and you will
need to spell them properly if you want them to do the job that you lay out. The
33 keywords that you should watch out for include:

False
Class
Finally
Is
Return
None
Continue
For
Lambda
Try
True
Def
From
Nonlocal
While
And
Del
Global
Not
Yield
As
Elif
If
Or
Assert
Else
Import
Pass
Break
Except
In
Raise

Keep this list on hand if you are worried about learning the language. It will be
able to help you out any time that you have issues with the interpreter about the
names that you are giving the variable. You may be confused about why it is
giving you some issues with the words you chose, you can go through with this
list and see if you used one of the keywords inappropriately within your code.

Statements

When you are writing your code in the Python language, you are going to be
making expressions and statements to get it done. Expressions are going to be
able to process the objects and you will find them embedded within your
statements.

A statement is basically a unit of code that will be sent to the interpreter so that
it can be executed. There are two types of statements that you can use;
assignment so far and print.

You will be able to write out the statement, or multiple statements, using the
Python Shell to do so interactively or with the Python script using the .py
extension that we talked about later.

When you type these statements into the interactive mode, the interpreter will
work to execute it, as long as everything is properly in place, and then you can
see the results displayed on the screen. When there are quite a few lines that
you need to write in code, it is best to use a script that has a sequence of
statements. A good example of this is:

#All of these are statements


X = 56
Name = “Mainu”
Z = float(X)
Print(X)
Print(Name)
Print(Z)

Operands and operators

There are a lot of great symbols that are going to show up when you make a
code in your Python program. It is important to understand what parts you are
able to work with and what they are all going to mean. Operators are often
used to mean subtraction, addition, division, and multiplication. The values of
the operator will be called operands. You can use many different signs for
these in order to get the values that you would like to see.

While you are using the operators and operands, you need to remember that
there is going to be an order of evaluation that is followed. Think about going
back to math class and how this all worked. You had to look for specific signs
in order to figure out which tool you were supposed to use in order to come up
with the right answer. This is the same when using these operands within your
code.

When you have more than one of these operators in the expression, you will
need to do the order of evaluation based on the rules of precedence. For
anything that is arithmetic, Python is going to use the acronym PEMDAS which
is parenthesis, exponentiation, multiplication, division, addition, and
subtraction. If there are a number of these that are the same, such as two sets of
numbers that need to be multiplied together, you will need to work from left to
right to get the correct number.

Another important operator that you should look for is the modulus operator.
This one is going to work with integers and is going to yield the remainder
once the first operand has been divided by the second one.
Chapter 5: Working with the C Coding Language

Working with the C language is pretty simple. You can write a code that just
has one line or you can go on and write a nice long one that is going to be more
complex and could run a game or some other process. While you can get more
complex later on, I am going to look at some of the basics of writing inside of
the C language to help you to get comfortable. A good place to start when
looking for downloading the C language (and to get Visual Studio with it which
is one of the best), includes: https://www.visualstudio.com/vs/

Writing a Dummy Code

First, let’s take a look at writing out your dummy code. This isn’t going to
bring you an output like some of the other codes that we will discuss later on,
but it will help you to get the hang of creating and saving a code in the C
language so you are ready for the things we do later on.

So to start, you need to go into the Code Blocks IDE, or whichever IDE that
you chose, and click on the New Button. You will want to open up an Empty
File. Now you will need to type in a code into the editor so that you are able to
create a code to save. I am going to keep this simple and just type in one line
like the following:

main() {}

Now you will need to save the source file and you can do this by clicking on
the Save button. You can either let this save on the default of your computer or
you can choose the folder that you would like all of these code files to be
saved on your computer; the choice is up to you, just remember where you are
saving all of these so if you need to find them later.

Make sure to name the file something that you will be able to remember later
on, or you will get confused as you start to add on more of these files over
time. I am going to call this file “dummy.c”. Once you have saved this, the
source code file is created and it has been saved on your computer. Now you
will click on the Build button.

You will notice that the code is not going to compile. What you are going to see
is the minimum of the C program, which is also called the dummy. All of your
codes in C need to have the main function because this is where the execution
of the program is going to start; you will just need to put the main function
inside of the curly brackets.

Since this is a dummy source code and one where we are just experimenting a
little bit, I didn’t have us put any code into the curly brackets. When you try to
run this option, you will not get an output because nothing was placed inside.
We will be able to add in different things later on and create an output based
on what is inside the code. You may see a compiler warning when entering the
dummy code, but this is not critical. You will just click on your Run button and
then find that it is not able to give you any output.

Congratulations! You have just written your very first code using the C
programming language. If you didn’t get any output, you did the code right. This
is just the basic form of writing a code in the C language and there is so much
more that you are able to add into the code. Some of the other basic parts that
you can add into your code includes:
Structure
Variables and values
Operators
Functions
Keywords

I am going to take you through how some of these work so you can learn how to
make the code shine the way that you would like.

Writing Another Code

Now that I have had some time to explain a few of the basic parts of code
writing, let’s take a look at how this would work by bringing out our dummy.c
program from earlier. Just open up the code from wherever you stored it before
and I am going to make the main function be defined as an integer function.
This basically means that it is going to return an integer value onto the
operating system. We will need to do some editing in order to make this
happen.

Inside of your editor, you will need to add in the keyword “int” before your
“main” part to ensure that you are getting the integer output that you would like.
Make sure that you place a space between both of these keywords to help the
compiler to read through both of them. So to start, type out the following code:

int main()
{
}
You will notice that the code is a bit different than we originally wrote out
with the first code, but putting the curly brackets in this manner is what most
veteran programmers prefer to use. Now it is time to add in a statement to this
main function so that it will actually show you an output. I will keep it simple
and just add in the number three.

You will first need to type in the “return” and then the number three. I will
write out the example of the syntax that you would use to make this happen:

int main()
{
return(3);
}

Make sure to add in the semicolon after the statement. Save the file and then
click on the Build button. As long as you type in the code like I wrote above,
you shouldn’t have any issues with errors or messages coming up for you.
Click on the Run Button.

When using a Linux or Mac system, it is possible that you won’t see any output
other than the build log, and it will say that the program terminated with a
status of zero. On a PC computer, the terminal window is going to show you
the return value 3.

Any time that you want to add in an output to your dummy program, you need to
bring in the output function. The keywords in the C language aren’t going to
output anything because they are just basic vocabulary, such as the words int
and return. You can do this by using the “puts” command inside the program.

Let’s take a look at how this is going to work when you write out some code.
Make sure that the function of the “puts” is inside of parenthesis and that you
place in a string of text between a double quote to make it work properly. Here
is the example I am going to use:

int main()
{
puts(“I am the King of the C programming world”);
return 3;
}

When you save this source code and then click on Build, you should see a
warning come up on your computer. Even if you don’t see this, you need to
realize that you have another step to do at this point. Before the puts function is
going to work, it needs to have a definition inside, or you will find that the
compiler is confused. The definition of your puts will be in the I/O header file
and you need to place this into the source code with the help of the
preprocessor directive.

Here is an example of how that would look inside of your code to keep things
organized and to avoid errors.

#include<stdio.h>

int main()
{
puts(“I am the King of the C programming world”);
return 3;
}

This version includes the preprocessor directive along with the definition for
the puts function. You can save the file and then click on the Build and Run
buttons that are at the top of the editor. If everything is typed properly, you can
avoid errors and in the output terminal window, the statement that you wrote
out for the puts function as well as the value 3 will show up on the screen.

Learning some of the basics of writing a code in the C language can make it
easier to understand what is going on. I showed you a few of the options that
you have when working inside of the C language, but there is still so much
more that you are able to do. Take some time to get familiar with how these
codes work, play around with the IDE and the compiler, and get comfortable
before moving on and learning some more complex options when writing your
own code.
Chapter 6: The JavaScript Programming Language

JavaScript is a good coding language to learn if you want to work on a website


or online. This one often goes with the Java program, remember that these two
are separate, in order to add some little add-ins into the whole program. It is
really easy to learn and can make all the difference in how your program is
going to work. Let’s take a look at how the JavaScript program will work as
you first get started.

Getting Started on JavaScript

The first thing we will need to do here is download the JavaScript language by
visiting www.javascriptlint.com/download.htm. JavaScript is a versatile
coding language that you are able to inject anywhere you would like in your
page. As long as you have the HTML tags <script>…</script> around what
you would like to insert. But in most cases, you will be recommended to place
the script that you want to use in between the head sections or the <head>…
</head> tags.

When the browser is taking a look at the content on the page, or the HTML on
the page, it is going to just read through the whole thing like reading through a
book. But when the browser program comes to the <script> tag, it will start to
interpret whatever you have written between these tags and won’t stop until it
reaches the </script> part of the tag. This allows the program to interpret what
you would like to have on the page in any location that you would like.

When working with the script tag, you will be able to give them one of two
attributes including:

Language—this is the attribute that will specify what kind of scripting language
you are using. The value for the JavaScript language is basically “javascript.”
If you are using a newer version of HTML, this is something that been phased
out so you may not have to worry about it at all.

Type—this is the attribute that will indicate the scripting language that you are
using and the value that you are using with it will be set to text/javascript when
in the JavaScript language.

Writing a program

At this point you may be a bit confused on what is going on and what all of
these things mean. Let’s take a chance to open up the html file (use the steps
that were in the first chapter if you don’t already have this opened up) and then
we can get started at writing your first JavaScript program. To do this, just use
the code that is below:

<!DOCTYPE html>
<html>
<head>
<meta charset- “ISO-8859-1”>
<title> My First JavaScript Program </title>
</head>
<body>
<script language = “javascript”
type = “text/javascript”>
document.write(“Welcome to JavaScript First Program”);
</script>
</body>
</html>

This may seem like a lot of information to put into the code, but it is going to
ensure that you are getting everything in that is needed to make a great code that
others can read through. Let’s separate each of the parts out to help you
understand what is going on a bit better!

Explaining the code

In this code, the JavaScript code was inserted between the <body> … </body>
tags in the HTML. The code was first declared with the right attributes and
then with using the document object you were able to write out the message
that helped to welcome others on to the webpage. So when this is executed, the
webpage should have the words “Welcome t JavaScript First Program” right at
the top.

Output

When you take the HTML program that we just wrote up and try to execute it,
the results that you will get would be:

Welcome to JavaScript First Program.

This is basically what you told the computer system to write so if you have put
everything into their right spaces within the code that you were writing, this is
the exact phrase that should show up when you are working on the code.

Line breaks and white spaces

When it comes to having spaces in your code, or even line breaks, you can use
them as much as you would like. These can often help to clear up what you are
writing and you won’t have to worry about the code getting too long or too
hard to read. That being said, it really doesn’t matter how much, if any, space
that you put into the code. The browser parser is not going to read these spaces
so you can write out the code in the way that works for you.

This makes it easy for you to create the indentation, lines, and other parts that
you need in order to make sense of the program, to help format it properly, and
to keep it looking nice. Just because the lines and the spaces aren’t recognized
in JavaScript does not mean that you should completely ignore them in the
process.

When you are first getting started with this language, it may be a good idea to
add in a few more line breaks and indents to your code. This is going to make
it a bit easier to read through and you can catch some of the mistakes a bit
easier. The extra white spaces aren’t going to change how the system will read
through the information, but it can make it easier for you to read the code and
for other beginners to know what you are trying to write out.

Using semicolons

For the most part, you will end all of your statements using the semi-colon
when you are in JavaScript. These are optional if you are placing the
statements on different lines from each other so the choice is really up to you.
If you just write out the code with everything on one line as a continuous string,
you will need to add in the semicolon but if you are separating out the
statements as you go onto different lines, it is your choices whether you would
like to use them. It is considered good programming practice to have them
there regardless, but the program will work whether you place them there or
not. The codes that we have in this guidebook will use the semicolons to help
keep things clear.

Case sensitivity

You will notice that JavaScript is one of the languages that is sensitive to the
cases that you are using. This means that you need to keep your use of
uppercase and lowercase letters consistent throughout the program. This is true
for everything that you label including identifiers, function names, variables,
and keywords. For example, when you are using JavaScript, LEARN and learn
will be different when the programming language is going through it.

This is important to remember when you are naming your functions and
statements. If you name one of them JAVASCRIPT and then try to search for it
or bring it back out by using the JavaScript word, you are going to get an error
sign. You do get some say in what you name them, but try to keep all of the
names for the code consistent so that you name them the same way and can
easily call them back up when they are needed.

Writing comments

There are times when you will need to write out a comment in JavaScript. You
may want to tell someone else a bit more about the program or you are
interested in explaining what should be placed in each of the statements. There
are a few comment styles that are followed when you are using JavaScript in
your coding including:

Single lines—if your comment is just going to take over one line, you simply
need to use the double slash (//) to get it started.

Multiple lines—sometimes your comments will be a bit longer and they can
take over a few lines. For this you will use /* to start the comment and then */.
You are able to use this on single line options as well if you are worried about
formatting.

JavaScript will also recognize the HTML comment if you would like to stick
with this. The HTML comment is <!--. This will be treated just like a single
line comment in this language.

Closing sequence—the HTML closing sequence sign of → is not going to be


recognized in JavaScript. If you would like to use this sign in your code, you
will need to write it like this: // → .

When you use these options, you are telling the interpreter that it should not
read the comment. You are able to put as many of these within your code as you
need as long as you use the proper formatting so that the interpreter knows
what you are leaving there for others and what it should leave alone. Once the
comment is over, the interpreter will go back and start executing whatever else
you have written in the code.
There are a lot of different times when you will need to write out a comment to
help make sense of things in your code. If you want to tell someone what you
are doing within the code, answer some questions, or help yourself or another
coder to understand what information needs to go into the statements, these
comments are great. You can add in as many of the comments as you would
like, as long as you use the right signals, because the compiler will not read
through them and won’t try to execute them at all.

Some examples of using comments in JavaScript includes:

<!DOCTYPE html>
<html>
<head>
<meta charset = “ISO-8859-1”>
<title>JavaScript Comments</title>
</head>
<body>
<script type = “text/javascript”>
<!—The opening sequence single line comment.
The closing sequence HTML comment//-->

// This is a single line comment.


/*
*This is a multiple line comment in JavaScript
*/
</script>
</body>
</html>
Output

When you do the program in HTML that we listed above, the output will just
be blank. This is because the whole program is listed out as a comment and the
interpreter is not going to lists out the comments because it has learned to not
read them after the signals that we discussed above. If you had added in some
other code in there, the interpreter is only going to read that and will ignore the
comments that you add into the code. You are allowed to put in as many
comments as you would like, as you can see from the example above, as long
as you choose the right symbols to go with it so that the interpreter does not
give you an error sign.

These are just some of the basic things that you need to understand in order to
get started with using JavaScript on your own. Each part can help you to write
out the syntax that you want and ensures that you are getting the very most out
of your written code. Take some time to experiment with the comments and
some of the other aspects we have discussed to figure out how these are going
to work for you.
Chapter 7: Working with the Java Coding Language

While JavaScript is great at putting some of the add-ins into a website, the
Java code is going to be much better for writing up the whole website or other
applications that you want to use online. If you are looking to create your own
personal or business website, you will want to learn how to work with the
Java code. Let’s take a look at some of the basics that come with this coding
language and how to get started.

Writing out your code in Java

The first step that you will need to do is to download the Java coding language.
You can do this by visiting https://java.com/download. Writing code can be
simple inside of Java, you just need to get some experience with working
inside of the system and with your text editor. To get started with your first
code inside of Java, take the following steps.

Step1: to start writing a program in Java, you will first need to set up your
work environment. Open up NetBeans or whichever environment you chose for
working in Java and get it ready to use.

Step 2: once the environment is up, open up your text editor that you want to
use. Notepad is a good selection if you have a Windows computer, but anything
that is similar will work out great.

Now we are going to create the Hello World program. This is an easy program
to use on any programming language that you want to work with because you
will get the hang of how the syntax works and you will get the words “Hello
World” to show up on your screen.

To start this, just go to your text editor, click on new file, and then save this
document as “HelloWorld.java”. HelloWorld is going to be the name of your
class, so keep this in mind since the class name needs to be the same as the file
name.

One the file is created, it is time to declare the class and the main method. The
main method will be the same in terms of method declaration no matter what
kind of program you are creating inside of your Java program. At this point,
you should have the following syntax:
public class HelloWorld {
public static void main(String[] args) {
}
}
Write this part out into your text editor. Next, you will need to write out the
part of the code that will tell your text editor what you would like to have
printed out. For this point, you would need to type out:

System.out.println(“Hello World.”);

This is going to tell the system that you want to print out the phrase “Hello
World” onto the screen. You can try this out and change up the message you
want to use inside of the program based on what you want to program to use.
With this part, there are a few things that help to make it get done the proper
way so let’s take a look at how these work.

System: this part is going to alert the system that it needs to do something.
Out: this is going to tell the system that you are creating an output that you want
it to print on the screen.

Println: this part will stand for print line in the system. You are basically
telling the system that you want to print out the statement that comes after this
part.

Parentheses: there are some parentheses that are found around the “Hello
World” part. These means that the code in front of it is takin gin a parameter, or
the string of Hello World.

So basically this code is working to alert the system that you need it to take
some actions, that you want to create an output and that you want to print out
the line “Hello World” onto your screen.

Before continuing, there are a few rules that you should follow when making
these codes inside of Java. First, it is a good idea to add a semicolon at the end
of the lines. This is a good programming practice and helps the text editor to
print things off properly. Java is also a case sensitive language so pay attention
to whether you are using upper case or lower case letters when you are writing
out class names, variable names, and method names. And finally, any blocks of
code that are specific to a certain loop or method will be encased with the
curly brackets.

So let’s put this code all together so you can place it into your text editor in the
right places.
public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello World.”);
}
}
Once this is written into the code, it is time to save your files and then open up
a command prompt, also known as a terminal, in order to compile the program.
You can navigate to the folder where the HelloWorld.java is located. Type in
the words javacHellWorld.java. This is going to tell your compiler that you
want to compile your HelloWorld.java.

If there happen to beany errors in your code, the compiler will be able to tell
you what may be wrong with your code. Otherwise, the compiler is not going
to show any messages. You can then look at the directory where you store the
HelloWorld.java and inside should be the HelloWorld class that we designed.
This is the file that is used when you want to run your program.

Now that we have written a program, you may want to give it a try and see if
this will run. Open up the terminal or the command prompt and type out java
HelloWorld. This is going to tell Java that you wish to run your HelloWorld
class. If everything has gone into the program properly, the statement “Hello
World” will show up on the console and you have written your first code in
Java!

Expanding the Hello World Program

Working with the Hello World program was pretty simple and has given you
some experience with how this program is going to work. Here we are going to
take the Hello World program and extend it out a bit. In the Hello World
program, we printed out a string for the user to see, but now we are going to
extend out the program so that the users are able to place in their name and then
it will greet them by name.

First, we will import in the scanner class. In Java, there are a few libraries that
you can access, but you first need to import them. One of the libraries that we
need and which holds the Scanner object is the java.util. To import this
Scanner class, use the following code:

import java.util.Scanner;

This tells the program that you wish to use your Scanner object, which is
inside the java.util package. Inside of the method, we will instantiate a new
instance with this Scanner object. To use this Scanner class, we just need to
create a new Scanner object that we are able to populate and use the methods
of. To get these Scanner objects to work for us, we would need to use the
following code:

Scanner userInputScanner = new Scanner(System.in);

So what does this code mean and what is it going to tell the computer to do?
Here is an explanation of how the different parts move:

userInputScanner: this is the name of the Scanner object we are using. Note that
this is written in what is known as the camel case; which is the conventional
way of writing out your variables in Java.
the new operator will help to create a brand new instance of your object. For
this instance, we created a new instance in the Scanner object with the new
Scanner(System.in) part.

This new Scanner object is going to take in a parameter that will tell the object
what they need scanned. The System.in is going to work for this and it tells the
program that you want to scan in the input from the system, which is basically
going to be the name of the user.

Now we can work on prompting the user for their input. We need to ask the
user for the input so that the user has an idea that they are supposed to type
something into their console. Otherwise, the program will just sit still because
nothing is entered. You can accomplish this with the following code:

System.out.print(“What’s your name?”);

The next part that you should do is ask the scanner object to take in the
information that the user types and then have it store that information as a new
variable. The Scanner is responsible for taking in the data that your user is
typing, which should be their name at this point. To do this, use the following
code:

String userInputName = userInputScanner.nextLine();

This should tell the Scanner object that you want it to read what the user inputs
into the system and use that as the variable for your next part. It can now be
used as the greeting that shows back to the user. Since you have the name of the
user, you can write it out so that the program mentions the name while leaving
another message. The next step is to write out the following code:

System.out.println(“hello” + userInputName + “!”);

At this point, we have been separating out the code to the different steps and
discussing it, but let’s put it all together to help you see how this code should
be written out:

import java.util.Scanner;
public class HelloWorld (
public static void main(String[] args) {
Scanner userInputScanner = new Scanner(System.in);
System.out.print(“What’s your name?”);
String userInputName = userInputScanner.nextLine():
System.out.println(“Hello” + userInputName + “!”);

Once this code is in the system, you will be able to compile the program and
run it. Go into your command prompt or the terminal window and then run the
same commands that we did with the HelloWorld.java from the last section.
You can compile this program by typing in javac HellWorld.java.

When you type in the HellowWorld.java, your program should ask “What’s
your Name?” You can go through and type in your name. Let’s type in the name
Jane. Once you press enter on this name, the program will print out Hello Jane
and then the program is done.

While this part may take a few more lines to complete, it is still pretty basic. It
took the original skills you learned with your first part and expanded it out into
a code that has a few extra parts that come with it. Despite needing a few more
parts, you will find that this is a basic code that adds in a bit more
personalization to the codes you make.

And now you are set to start with the Java program. You already know how to
do two basic codes inside of this program and as you move through the other
parts, you will be able to write out some more codes to get the hang of how the
text editors work inside this program. (How To Write Your First JavaScript)
Conclusion

When it comes to working on some coding languages, you will find that there
are so many that you are able to choose from. You may worry that it is going to
be too hard to get started on a coding language that you will never be able to
figure them out, but most of them are pretty easy, you just need to find the place
where you are going to get started and then go from there.

This guidebook took some time to explore some of the different programming
languages and how you would be able to write some of your first codes inside
of them. There are quite a few computer programming languages that you are
able to work with, but we took on some of the ones that are the most popular,
including Python, Java, JavaScript, C# and C++. These are the ones that are the
most widely used and can help you to work on so many different programs that
you will be off to a great start in no time.

When you are ready to learn a bit about some of the great computer
programming that you have always wanted, it is time to take a look through this
guidebook and learn everything that you need about all the best coding
languages!
The Blueprint to Raspberry Pi 3

A Beginners Guide:
Everything You Need to Know for Starting
Your Own Projects

By: Cyber Punk Architects


Introduction

Thank you for downloading my book “Raspberry Pi: The Blueprint for
Raspberry Pi 3: Everything You Need to Know for Starting Your Own
Projects”. Recently the Raspberry Pi has been receiving a ton of press
coverage and capturing the curiosity of people all around the world, at least
people who are technology journalists and enthusiasts. As time has passed,
more and more people have heard of this fascinating small single board
computer stamped with chips and connectors, but many people aren’t sure
exactly what it is.

If you are one of those people who is intrigued by the tastily named Raspberry
Pi, this book is for you. In this book, we are going to look at a quick overview
of what the Raspberry Pi is, and then we are going to break down the
specifications and what they mean. Finally, we are going to look at all the
amazing projects the Raspberry Pi can assist you with. Whether you are well-
versed in technology or diving into it for the first time, this book is going to
help you.

By the time, you are done reading this book, you are going to have the
knowledge to use your Raspberry Pi with ease to do anything from watching a
movie to playing games, and from creating a spreadsheet to learning how to
program.
Chapter 1: Raspberry Pi – An Overview

The Raspberry Pi has many incredible features. The largest appeal of the
Raspberry Pi computer is that it is a small size, and is also affordable. The
Raspberry Pi can be used as a traditional computer by simply being plugged
into a TV and a keyboard. Since 2012, there have been many models of the
Raspberry Pi released to the public, each with their own improvements and
changes.

Approximately the size of a credit card and available for as little as $5USD,
the intended purpose of the Raspberry Pi was to bring affordable computer
options to everyone. Below, we are going to take a brief look at the different
models of Raspberry Pi.

Raspberry Pi 1 Model A – This was the original model of the Raspberry Pi.
Released in February 2012. This was followed up late by the Raspberry Pi 1
Model A Plus which was released in November 2014, which featured a larger
hard drive and a lower price point.

Raspberry Pi 1 Model B– The Generation 1 and 1 Plus of the Model B


Raspberry Pi were released in April 2012 and July 2014 respectively. The 1
Plus had a lower price point than the original Model B and featured a microSD
slot instead of the standard SD slot.

Raspberry Pi Zero – This was a smaller model that was released in


November 2015. The size of the Zero was smaller and it had a reduced input
and output. This is the cheapest model of Raspberry Pi that is currently
available for purchase. The original Zero did not include video input.
However, a second version released in May 2016 included video input options
similar to other models.

Raspberry Pi 2 – This model included more ram than any of the previous
models and was released in February 2015. This model is at the high end of all
Raspberry Pi products and can be found for just $35USD.

Raspberry Pi 3 Model B – This is the newest model of Raspberry Pi.


Released in February 2016, the Raspberry Pi 3, Model B is bundled with the
additions including onboard Wi-Fi, Bluetooth, and USB boot capabilities. We
will cover more on this later in this book.

There are a few things that are common among all the versions of Raspberry
Pi. This includes the Broadcom system on a chip, which features a CPU
(Central Processing System) that is compatible with ARM, as well as on-chip
GPU (Graphics Processing Unit).

The boards all have between one and four USB slots, as well as an HDMI slot,
composite video output and a 3.5 mm phone jack for audio capabilities.

The creators of Raspberry Pi provide Raspbian, which is a Debian-based


Linux distribution for download. It also provides third party Ubuntu, Windows
10 IOT Core, RISC OS, and other specialized media center distributions.
While the Raspberry Pi supports many programming languages, it promotes
Python and Scratch as its main programming language. You also have the
option of open source or closed source firmware, although the default
firmware is closed source.
Chapter 2: Raspberry Pi 3 – Model B Hardware
Specifications

There have been several evolutions in the hardware that the Raspberry Pi
offers. In this chapter, we are going to focus on the Raspberry Pi 3 – Model B
specifically.
For the purpose of keeping this book easy to read for those of you who aren’t
as familiar with the technological jargon, while keeping it interesting for those
of you who don’t need as in depth of an explanation, this chapter is going to be
broken down into sections that allow you to skim through and find the
information you are looking for without having to read every explanation.

Wireless Radio – Broadcom BCM43438

This wireless radio has been expertly built directly into the board to keep the
cost of the Raspberry Pi down. It is also so small; you are going to be able to
see the markings through a microscope or magnifying glass. The Broadcom
BCM43438 chip gives the Raspberry Pi 2.4 GHZ 802.11n wireless LAN,
Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support. This is what
is going to allow you to connect your Raspberry Pi to the internet, both through
a wired connection as well as through a wireless connection.

SoC – Broadcom BCM2837

This SoC (System on Chip) has been built specifically for the Raspberry Pi 3 –
Model B. This SoC features four high-performance ARM Cortex-A53
processing cores which run at 1.2GHz and have 32kB level one and 512kB
level two memory. It also has a Video Core IV graphics processor and is also
linked to the one gigabyte LPDDR2 memory module that is located on the rear
of the board.

GPIO – 40-Pin Header, Populated

The GPIO (General Purpose Input Output) header is the same on this
Raspberry Pi as it has been going back through most of the Raspberry Pi
models. This means that any existing GPIO hardware is going to work with the
Raspberry Pi 3 – Model B without any further modifications needed. The only
change that has been made to this part of the Raspberry Pi is a change to which
UART is exposed on the pins. However, this doesn’t affect usage as the
operating system internally handles it.

USB Chip – SMSC LAN9514

This is another part of the Raspberry Pi that hasn’t changed from the Raspberry
Pi 2. The SMSC LAN9514 adds 10/100 Ethernet connectivity as well as four
USB channels to the board. The chip connects to the SoC through a single USB
channel, acting as a USB to Ethernet adaptor as well as a USB hub.

To sum up all the information above:


SoC: Broadcom BCM2837
CPU: 4× ARM Cortex-A53, 1.2GHz
GPU: Broadcom VideoCore IV
RAM: 1GB LPDDR2 (900 MHz)
Networking: 10/100 Ethernet, 2.4GHz 802.11n wireless
Bluetooth: Bluetooth 4.1 Classic, Bluetooth Low Energy
Storage: microSD
GPIO: 40-pin header, populated
Ports: HDMI, 3.5mm analog audio-video jack, 4× USB 2.0, Ethernet, Camera
Serial Interface (CSI), Display Serial Interface (DSI)

Now that we are all familiar with the hardware that is inside the Raspberry Pi
3 – Model B, we are going to have a look at the software.
Chapter 3: Raspberry Pi 3 – Software Specifications

One of the neat things about the Raspberry Pi 3 – Model B is that you can run
almost any software on it. While it primarily uses Raspbian, which is a
Debian-based Linux operating system, you are not limited to using this. In this
chapter, we are going to run through all the different operating systems, driver
APIs, firmware and other third party application software that will be
accessible to you for use on the Raspberry Pi 3 – Model B.

Operating Systems

On the official Raspberry Pi website, you will have access to Ubuntu Mate,
Snappy Ubuntu Core, Windows 10 IoT Core, and RISC OS, as well as
specialized distributions for the Kodi media center and classroom
management. Below we are going to cover every operating systemthat can be
used, categorized by those that are Linux based and those that not Linux based.

Linux Based Operating Systems:

Alpine Linux – This is a Linux distribution that is based on musl and BusyBox.
It has been primarily designed for those power users who require more
security, simplicity, and resource efficiency.
Android Things – This is an embedded version of the Android operating
system that is designed for IoT device development.
Ark OS – This operating system has been designed for website and email self-
hosting.
CentOS – This is a newer operating system that is only available for
Raspberry Pi 2 and newer.
Diet Pi – This operating system includes a diverse range of servers that are
ideal for media, Minecraft, VPN, and much more.
Fedora 25 – This is another newer operating system that is only available for
the newer Raspberry Pi models.
Gentoo – This operating system is ideal for users who want full control of the
software that they use on their Raspberry Pi 3.
Instant WebKiosk – This operating system is ideal for users who are looking
for digital signage purposes such as web and media views.
Kali Linux – This operating system is a Debianderived distro that has been
designed for digital forensics and penetration testing.
Kano OS – This operating system is one that you can build and customize to be
exactly what you want it to be for you. Completely free, this is a great choice if
you want to have full control over your operating system.
MinePeon – This operating system has been designed to be dedicated to mining
cryptocurrency.
Moebius – This is another operating system that is based on Debian. This
operating system is a light ARM HF distribution that uses Raspbian repository
but fits onto a 128 MB SD card. This operating system only offers minimal
services and has had its memory use optimized to keep it small.
NARD SDK – This is a software development kids that is intended for
industrial embedded systems.
OpenSUSE – This is another operating system that gives you full control over
creating the code for your system.
OpenWrt – This operating system is primarily used to route network traffic on
embedded devices.
Pardus ARM – This operating system is another option for a Debian derived
system. This is the light version of the Pardus operating system that is popular
with the Turkish Government.
Pidora – This is a Fedora Remix that has been optimized for use on the
Raspberry Pi.
ROKOS – This operating system is another Rasbian based option that is
integrated for use with Bitcoin and OKCashcryptocurrencies.
Tingbot OS – This operating system has been designed to be used primarily
with the Tingbot add-on as well as running Tide applications. This operating
system is also based on the Raspbian operating system.
Tiny Core Linux – This operating system is designed to run primarily in RAM.
It is a minimal Linux operating system where the primary focus is to provide a
base system using BusyBox and FLTK.
Void Linux – This operating system is a rolling release Linux distribution that
has been designed and implemented from scratch. Void Linux provides images
based on musl or glibc.
WTware for Raspberry Pi – This is a free operating system that is used for the
creation of Windows thin client.
Xbian – This operating system uses the Kodi open source digital media center.

Not Linux Based Operating Systems:


Genode OS Framework – This operating system is a toolkit that is used to
build highly secure special purpose operating systems. This is not the
operating system that would be best for those who are just starting out,
however, if you have a lot of experience with coding, this is a good choice.
HelenOS – This operating system is a portable multi-server that is
microkernel-based.
NetBSD – This operating system is another that will allow you to create the
coding and use your Raspberry Pi 3 – Model B however, you decide.
Plan 9 – This is an open source operating system that is similar to Unix. It was
originally developed at Bell Labs as a research operating system. When you
are using Plan 9, everything is treated as a file regardless of whether it is a
local or network resource.
Xv6 – This is a modern version of the Sixth Edition Unix operating system that
has been re-implemented for teaching purposes. It is easily ported to the
Raspberry Pi from MIT xv6 which can be booted from NOOBS (New Out of
Box Software).
Media Center Operating Systems – If you are looking for operating systems
that are going to run your Raspberry Pi 3 – Model B as a media center your
best options are OSMC, OpenELEC, LibreELEC, XBIAN, and Rasplex.
Audio Operating Systems – If you want to use your Raspberry Pi 3 – Model B
for audio, the best operating systems are going to include Volumio,
Pimusicbox, Runeaudio, and moOdeaudio.
Retrogaming Operating Systems – If you want to use your Raspberry Pi 3 –
Model B to play retro games, the ideal operating systems include Retropie,
Recalbox, Happi Game Centre, Lakka, ChameleonPi, and Piplay.

Driver APIs
Raspberry Pi 3 – Model B has the capability to use a VideoCore IV GPU
through a binary blob. The binary blob is loaded into the GPU when it is
booted from the SD card. Much of the driver work was originally done using
the closed source GPU code, although there are software applications such as
OpenMAX, OpenGL ES, or OpenVG which can be used to call an open course
driver in the VideoCore IV GPU driver code.

Firmware

The official firmware of the Raspberry Pi 3 – Model B is a closed course


binary blob that is freely redistributable. There is also open source firmware
that is available minimally.

Third Party Application Software

As well as the operating systems that we covered in this chapter, there are
many options for other software that can be put onto your Raspberry Pi 3 –
Model B from third parties. In this section, we are going to briefly look at
some of the more popular third party applications.

Mathematica – Raspbian includes a full installation of this software for free.


This allows programs to be run from either a command line interface or from a
notebook interface. Some of the language functions allow for accessing
connected devices.
Minecraft – In February 2013, a version of Minecraft was released for
Raspberry Pi that allows you to modify the game world with code. This is the
only official version of Minecraft that allows this.
RealVNC – RealVNC’s remote access server and viewer software are
included with the Raspbian operating system. This includes the new capture
technology which allows content to be directly rendered as well as non-X11
applications to be viewed and controlled remotely.
UserGate Web Filter – In 2013, Entensys, a security vendor based in Florida,
announced they would be porting Usergate Web Filter to the Raspberry Pi
Platform.

Software Development
In addition to the addition applications listed above, there are programs
available that can help you learn more about developing software. Learning
how to develop software will help you be able to use the Raspberry Pi 3 –
Model B to its fullest potential.

AlgolD – This is a program that is ideal for teaching programming to children


as well as beginners in the programming world.
Julia – This is a programming language that is both interactive and able to be
used across multiple platforms. IDE’s for Julia are also available including
June and JuliaBerry, which is a Pi specific repository.
Scratch – This teaching tool uses visual blocks that stack to teach IDE. MIT's
Life Long Kindergarten group originally developed this. The version that was
created for Pi is heavily optimized for the limited computing resources that are
available and work well with the Squeak Smalltalk system.

Now that you are aware of the software options that are available for you to
use with your Raspberry Pi 3 – Model B, we are going to explore how you can
go about configuring your Raspberry Pi to do what you want it to do.
Chapter 4: Configuring Raspberry Pi

Once you have your Raspberry Pi 3 – Model B in your possession, you are
going to want to get it set up and ready to use. The good news is that setting it
up is easy and takes less than thirty minutes. That means that before you know
it, you are going to be ready to start doing some awesome stuff with your new
piece of technology!

Before You Start

Before you get started, there are a few supplies you are going to need on hand
in addition to the Raspberry Pi to get through the set-up process and move on
to amazing projects.
HDMI television or monitor – You are going to need to connect your
Raspberry Pi to a display which means that you need some sort of HDMI
enabled screen. You don't need to use a full-sized monitor for your Raspberry
Pi, and there are compact options on the market. There are also ways around
using a monitor at all, which we will discuss later in this chapter.
USB keyboard and mouse – In order to be able to control your Raspberry Pi 3
– Model B, you are going to need to have a keyboard and mouse. Any USB
keyboard and mouse will work for this.
8GB MicroSD card and card reader – Instead of using a hard drive, Raspberry
Pi’s operating system is installed with a MicroSD card. You are going to want
at least 8Gb for this. Your computer might have a card reader. If it does not, all
you are going to need is a cheap one,.Card readers can often be found for under
$10 USD.
Power Supply – The Raspberry Pi 3 – Model B is powered by a micro USB,
similar to the one you likely use for your cell phone. Since the Pi 3 – Model B
has four USB ports, the best power supply is one that can provide at least 2.5A
of power.

Step One – Install Raspbian Onto Your MicroSD Card with NOOBs

The first thing you are going to have to do before you can use your new
Raspberry Pi 3 – Model B is to put Raspbian onto your MicroSD card. To do
this, you first need to download the operating system on another computer and
transfer it to your SD card. There are two ways you can do this. First, you can
install Raspian manually. This required you to either know the command line,
or external software. The second option, which is much simpler requires that
you download and install NOOBs Since this is the easier option, this is the
option we are going to review in this chapter.
1 – Put your SD card into your computer or SD card reader.
2 – Download NOOBs. Choose the option of "offline and network install."
This option will include Raspbian in the download itself.
3 – You may need to format your SD card as FAT. If so, download the SD
Association’s Formatting Tool which can be found at sdcard.org. Simply set
the “Format Size Adjustment” to “on” in the options menu, and your SD card
will be formatted.
4 – Extract the Zip file. Once the extraction is complete, copy the entire folder
contents to your SD card. Once the copy is complete, you can eject your SD
card and insert it into your Raspberry Pi 3 – Model B.

Step Two – Hook Up Your Raspberry Pi

The next step is to connect your devices to your Raspberry Pi 3 – Model B.


Doing this is very easy, since all you need to do is plug stuff into the USB
ports. However, it is important to do this is in the order listed below to ensure
that all of your devices are recognized when you boot your Raspberry Pi up.
1 – Connect your monitor to your Raspberry Pi
2 – Connect your USB mouse and keyboard
3 – If you are using an Ethernet cable for your router, connect it now.
4 – Connect your power adapter. Since your Raspberry Pi 3 – Model B doesn’t
have a power switch, as soon as you connect the power source it is going to
turn on.

Step Three – Set Up Raspbian

When you first boot up NOOBs, it is going to be busy for a couple of minutes
formatting the SD card and setting things up. Let it do what it needs to do.
Eventually, there will be a screen that will come up asking you to install an
operating system.
1 – At the bottom of the screen there is going to be a place where you can
select your language and keyboard layout for your region.
2 – Check the box that is next to the Raspbian option and click install.
NOOBs willthen run the installation process, which can take anywhere from
ten to twenty minutes. Once it is complete, the Raspberry Pi will restart itself
and then send you straight to the Raspbian desktop where you will have the
ability to configure everything else.

Step Four – Configure Your Raspberry Pi 3 – Model B

Your Raspberry Pi is now mostly ready to go. In Raspbian you are going to see
a start menu. In this start menu, you are going to be able to select applications,
open a file browser, and execute other commands that you might expect to be
able to do with an operating system. The first thing you should do is set up your
Wi-Fi, as well as any Bluetooth devices you want to use, with your Raspberry
Pi.

Connect to Your Wi-Fi Network


Connecting to Wi-Fi through your Raspbian is just as easy as any modern
operating system you may be accustomed to working with.
1 – Click the network icon. It is located at the top right corner and looks like
two computers.
2 – Select your Wi-Fi network name and enter your password.
That's it. You are now connected to your Wi-Fi network. You are only going to
need to do this once, and it will work in both the command line and the
graphical interface.

Connect Bluetooth Devices


If you want to use a Bluetooth enabled mouse or keyboard with your Raspberry
Pi 3 – Model B, you are going to need to pair them. Depending on the device
you are pairing, this process can vary a bit, but using the directions below, you
shouldn’t have any issues.
1 – Click on the Bluetooth icon that is in the upper right corner of your screen.
2 – Click the “Add Device” option
3 – Find the device that you want to pair your Raspberry Pi with and follow
the directions that appear on the screen to pair them up.
Once you have followed the directions above, your Raspberry Pi 3 – Model B
is ready for you to start playing around with. If something goes wrong and you
end up somehow messing up the programming, you can also follow the above
steps to reinstall Raspbian and start over.
Connect to Your Raspberry Pi Remotely

Occasionally you might find yourself in a position where you may want to
access your Raspberry Pi remotely. Maybe you don't have access to a monitor,
or you only have a laptop in the house. Whatever reason you may have for
wanting to connect remotely, it's handy to know that there are options.

Connect to The Command Line Through SSH – You can use SSH from any
computer to connect to the command line interface of yourRaspberry Pi. While
this option won’t allow you to access a graphic interface, you can run any type
of command from the Terminal application, and it'll execute on the Raspberry
Pi. This is especially useful if you are working on a project that doesn't require
a screen.

Use VNC To Use Your Home Computer as A Remote Screen – If your project
requires that you do have a graphical interface, VNC (virtual network
computing) to obtain it. You will be able to see the Raspberry Pi’s desktop in a
window on your computer desktop, and you will be able to control it like you
are using the Pi. This isn’t the best option for the day to day use as it is slow,
but in the event that you only need to get a few things established and don’t
want to necessarily have touse the keyboard and mouse, this is an easy way to
do so.

Now that you know how to get your Raspberry Pi 3 – Model B up and running,
in the next chapter, we are going to look at some of the programmingassociated
with your Raspberry Pi.
Chapter 5: Programming In Raspberry Pi

The original purpose of the Raspberry Pi was to be able to teach people about
technology. In this chapter, we are going to learn some of the basics of the two
programming languages that are included in Raspbian, which is the
recommended distribution for the Pi.

Scratch

This is a great language for those who are learning the basics of programming.
Scratch doesn't require you to get the text perfect. Instead, everything is done
by dragging and dropping program blocks into your script. This also means that
you aren't going to have to remember any of the commands. For this example,
we are going create a simple drawing program that will allow us to use the
arrow keys to trace lines on the screen.
The first thing you are going to have to do is open Scratch. You will find
Scratch in the Menu, under Programming. Once you have opened Scratch, you
will see a screen with blocks of code, a scripts area, a stage where you can
see your project, as well as some toolbars.

Now that we have the program open, we are going to create the code that will
let us move the cat sprite around the screen.

We are going to use three separate blocks, each of which will be executed
when a key is pressed. First, press the yellow control button, which is located
on the left side of the screen near the top. Drag and drop the option “When
Space Key Pressed” into the scripts box. This is going to create a script that
will run whenever the space key is pressed. Use the drop-down menu and
change Space to Right Arrow. Click on the blue motion button that is located
next to the yellow control button and drag Move 8 Steps under Right Arrow
in the scripts window. This will allow you to move the cat forward by
pressing the right arrow.

Now that you have done that, create similar scripts that turn clockwise when
the down key is pressed, and counter clockwise when the up key is pressed.
Once you have finished that, we will be able to move around. However, we
will need to add a block that will allow us to draw. Since we don't want to
draw all the time, we will use Scratch's pen up and pen down actions. When
the pen is down, the cat will leave a line behind it. When the pen is up, the
catwon’t.

In order to toggle between having the pen up and the pen down, we are going to
require the code to remember which state the pen is in. Programs use variables
to do this. A variable is a chunk of memory that allows you to place data in and
read data from. Before you are going to be able to use a variable, you are
going to have to tell the computer to assign memory to it. We are also going to
assign it a name that we can use to refer to it in the commands.

Go to Variables, in the same area you found control and motion, click on
Make a Variable, and give it the name Pen. Once you have done this, you are
going to see a selection of commands that are able to alter or use the variable.
Now that we have a way to store the date, we are going to tell the computer to
change its behavior based on what the variable is. This is done using an If…
Else block. This is going to ask if a statement is true. If it is, it will execute the
first block of code. If not, it will execute the second.
In our program, we are going to take the variable, Pen. If it is 0, we are going
to put the pen down, then set it to one. Otherwise, we will lift the pen and set it
to be 0. In this way, we are going to be able to toggle between the two states by
using the spacebar.

Now you can move the cat around and draw a picture. However, wouldn’t it be
even better if you could insert a predefined item? We are going to learn how to
add circles next. Technically it is going to be a twenty-four-sided shape, but it
will look similar to a circle.

The method to do this is to move forward 10, then rotate 15 degrees, then
move forward 10, then rotate 15 degrees, and keep doing this until you have
completed the circle, which would require you to put in the same two lines
twenty-four times. This would work, but it isn’t the best way. Not only would
it look terrible in the coding and be time consuming, but if you wanted to
change the size of the circle, you would need to do this twenty-four times. The
good news is, there is a better option.

Instead of writing out the code twenty-four times, can instead use a loop. A
loop is a block that repeats itself. There are different types of loops, some that
will keep going until a statement becomes false, and some that execute a set
number of times. For this, we are going to use one that executes a set number of
times.
You can find the loop option in the yellow control tab. We are going to use just
two commands: move forward 10, and rotate 15 degrees. We will then set
this to happen twenty-four times.

Now that you know how to use Scratch, you can play around with Scratch and
discover just how much you can do with this programming software. (Peers,
2015)
Python

While Scratch is great to help you to learn the basics of programming, sooner
or later you are going to reach its limitations and want to move onto something
new. Python is a popular general-purpose programming language that is also
easy to learn.
The first thing you need to be aware of is that Python is entirely text-based.
This doesn’t mean that it is unable to create graphics, but rather that your
program code is going to written text instead of the drag and drop blocks we
used in Scratch.
Before you get started with Python, it is important to know that since Python is
text-based, you can use any text editor to create your programs. Leafpad comes
with Pi and is a great starting point. Avoid using word processors such as
LibreOffice Writer as they mess up the formatting and won't allow your
program to function correctly.

First, open the Pi menu and choose Programming and then Python 3. This is
the command line, but since we want to access IDLE's text editor, we are going
to choose File and New to create a new blank document. On the first line type:
#!/usr/bin/python
This line is going to tell the system to use the program python, in the folder
/usr/bin/ to run the file. This is important to add to the start of all the programs
you create with Python.
In the programming world, there is a long-standing tradition of having your
first program output "Hello World!" and we aren't going to break it here! Leave
the second line blank and on the third line type:
Print “Hello World!”
Save your work in a file called hello.py.
Skipping a line in your coding is not strictly necessary. However, it makes your
code easier to read.
To run the program we just created, open a terminal and navigate to where you
saved the file. The default will be your home folder. First, type the following
command to tell the system the file is executable:
$ chmoda+x hello.py
Next, type this command to run your program:
$ ./hello.py
You should see Hello World! appear on the screen. This shows us that the
system is running properly. However, this program is not a very useful
program.
(Peers, 2015)

Like we did with Scratch, we are going to add some user input. With the
Python program, we are going to need to add a variable to store what the user
types are. Delete the line with Hello World, leaving the top line, and add the
line:
Name = raw_input(‘what is your name’)
This line is going to create the variable name, display the prompt, “what is
your name?”, and store what the user types are. We must place this in inverted
commas so the computer can recognize it as a single chunk of text. We are then
going to be able to use this variable to make our print statement a little more
personal with the line:
print ‘Hello’, name
Since the computer is going to run the commands in order, this one needs to be
below the previous one. If you were to reverse the order they are in, the
computer will register an error because we are trying to use a variable before
we have even created it. You can now save the file and enter ./hello.py at the
command line to run the program.
This makes the program more functional, but leaves it relatively lifeless. In
order to make it more useful, we need to add a step where the computer must
look at what was inputted and perform a different task based on that input. If
you recall the If block in Scratch, we are going to do something similar here
except, we are actually going to write the code. The basic structure is going to
be:
if :
code block
This must be replaced with something that can be true or false. In our case, we
are going to check if the name entered is a particular value:
If name == ‘Jane’ :
Why ==? Computers don't deal well with ambiguity. Every symbol or word
that we use can only have one meaning. Otherwise, things start to get confusing.
The equal sign, “=”, is used to assign a value to a variable, so we need to use
something else to check the equality. Again, we are going to enclose Jane in
inverted commas so the computer can recognize it's text. The colon tells the
computer that we have finished our expression, and we are about to tell it what
to do.
We may want this Ifcommand to run through more than one line of code. This
means that we need a way to group code into blocks. This is done using indents
in Python. Indents can be either a space or a tab. However, it is crucial to use
the same method throughout your project to avoid confusion. Python doesn't
read the amount of indentation, but rather the number of indents you have made.
Personally, I use two spaces for each indent, because that's how I was taught,
and it makes it simple to keep it all the same.
Back to our programming. Now we want the computer to do something if name
== ‘Jane’ so we have to tell the computer what we want it to do.
if name == ‘Jane’ :
print “Jane, you’re awesome”
Note that there are two spaces at the start of the second line. There are also
double speech marks. This is because the text we have enclosed has an
apostrophe in it. Since we don’t want to be rude to all the people who aren’t
Jane, we are going to add an else block that runs whenever the above
expression is false:
else :
print ‘hello’, name
One last feature we are going to include is a loop. This is going to work
similar to the one we created in Scratch, except it isn't going to only run
twenty-four times. Instead, it will run until we tell it to stop. We are going to
do this using a while look and the syntax:
while :
code block
We can have the program stop by entering the name quit. This means our while
loop will be:
while name !: ‘quit’ :

For some reason, exclamation marks are often used to mean “not in the
programming world”. However, we are still left with a bit of a problem. If we
put it before name = raw_input… we are going to produce an error because
the computer doesn’t know what name is. But if we put it after, it will only ask
us to enter a name once, then spit the greeting out indefinitely, which is also not
ideal.
There is a way to solve this. We are simply going to string the name before
while. This stops the error and will always trigger the while expression. So,
the program should look like this:
#!/usr/bin/python

name = “

while name != ‘quit’ :


name = raw_input(‘What is your name?’)

if name == ‘Jane’ :
print “Jane, you’re awesome”
else :
print ‘Hello’, name

You should note that there are four spaces before each print line. This is
because they have been indented twice. Once for the while loop and once for
the if statement. Now you can save this as hello.py and as before, run it with
./hello.py.

Both Scratch and Python are great programs to get started with, so now you can
pick the one that appealed to you the most. In the next chapter, we are going to
look at some sample project ideas that you can use to get started with
programming your Raspberry Pi 3 – Model B.
Chapter 6: Sample Project Ideas For Your Raspberry Pi

Now you know all the technical information about your Raspberry Pi 3 –
Model B, as well as some of the basics about using it for programming. From
here we are going to go over some sample projects you can do, or build off of,
as you begin to learn all that your Raspberry Pi can do.

Turn Your Raspberry Pi into A Wireless Access Point

There are many different reasons you might want to turn your Raspberry Pi into
a wireless access point. Here are some of the most common reasons:
- Extend your existing Wi-Fi Network;
- Learn more about wireless networking;
- Create a free Access Point;
- Build a honey trap to learn about network hardening;
- Learn about sniffing packets;
- Provide guest wireless access that is firewalled through your main network;
- Closed Wi-Fi monitoring station for weather recording, temperature sensing;
and
- Create a Raspberry Pi Hot Spot.

The first thing you need to do is ensure that your Raspberry Pi 3 – Model B is
all set up and ready to be used. Assuming that it is, you are now going to run
sudoraspi-config and set up your Pi, changing your memory split to sixteen.
You are then going to reboot and set a password, if you choose to, for the root
user.
Assuming that you are logged in under Root User, you are now going to install
Aptitude with apt-get install aptitude. Once this is installed, you are going to
use the command aptitude update; aptitude safe-upgrade. The speed of your
internet is what will determine how long this process is going to take.
Once that has finished, you are going to install a few packages:
Aptitude install rfkill zd1211-firmware hostapd-utilsiwdnsmasq
These are:
rfkill – Wireless utility
zd1211-firmware – Software for dealing with zd1211 based wireless
hardware
hostapd – This is the hostap wireless access point
hostap-utils – These are the tools that go with hostap
iw – Wireless configuration utility
dnsmasq – A DHCP and DNS utility

An addition option is to add vim to that list. Vim is a nicer console editor than
the default vi.
Next, you are going to locate the file /etc/dhcpcd.conf. Once you have found
this file, you are going to add these lines to the end:
interface wlan0
staticip_address=192.168.1.1/24
static routers=192.168.0.1
staticdomain_name_servers=8.8.8.8 8.8.4.4
These lines are going to instruct dhcpcd to statically configure the WLANO
interface with an IP address. You can change this IP address to whatever you
are intending to use for your wireless network. However, you must leave the
/24 as it is important and the coding will not work without it. At this time, you
should change the gateway from the default 192.168.0.1 to whatever the
gateway is on your normal LAN which the wired ETHO interface is connected
to. Leave the domain_name_servers as is, that’s the Google DNS farm and
should always work.
The next thing we are going to do is configure hostap. We are going to edit
/etc/hostapd/hostapd.conf to look like this:
interface=wlan0
driver=nl80211
ssid=test
channel=1
Ensure that you don’t leave any spaces at the end of each line, as hostap is very
literal in reading its configuration and spaces will alter how the language is
being read.
Finally, you are going to configure dnsmasq to allow yourself to obtain an IP
address from your new Pi Point. Edit /etc/dnsmasq.conf to look like this:
# Never forward plain names (without a dot or domain part)
domain-needed

# Only listen for DHCP on wlan0


interface=wlan0

# create a domain if you want, comment it out otherwise


#domain=Pi-Point.co.uk

# Create a dhcp range on your /24 wlan0 network with 12 hour lease time
dhcp-range=192.168.1.5,192.168.1.254,255.255.255.0,12h

# Send an empty WPAD option. This may be REQUIRED to get windows 7


to behave.
#dhcp-option=252,"\n"
Remember that you are going to change the dhcp-range to match the network IP
address you are using. To ensure that your Pi Point is going to work after it is
rebooted, you are going to need to create a run file that will turn on
forwarding, nat and run hostap at the time of booting. To do this you are going
to create a file named /etc/init.d/pipoint with the following contents:
#!/bin/sh
# Configure Wifi Access Point.
#
### BEGIN INIT INFO
# Provides: WifiAP
# Required-Start: $remote_fs $syslog $time
# Required-Stop: $remote_fs $syslog $time
# Should-Start: $network $named slapdautofsypbindnscdnslcd
# Should-Stop: $network $named slapdautofsypbindnscdnslcd
# Default-Start: 2
# Default-Stop:
# Short-Description: Wifi Access Point configuration
# Description: Sets forwarding, starts hostap, enables NAT in iptables
### END INIT INFO
# turn on forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# enable NAT
iptables -t nat -A POSTROUTING -j MASQUERADE
# start the access point
hostapd -B /etc/hostapd/hostapd.conf
Next make the script executable with chmod +x / etc/init.d/pipoint and add the
script to the startup sequence of the Raspberry Pi using update-rc.dpipoint
start 99 2. This will ensure that your Pi Point will reboot itself as a
functioning Wi-Fi access point.

Turn Your Raspberry Pi 3 – Model B Into A Retro Arcade Machine

Who doesn’t love retro video games? This project is going to show you how to
very simply turn your Raspberry Pi into a retro games console in no time.
First, open up a terminal window. You can find this at the top of the screen.
Once it’s open, type sudo apt-get update followed by sudo apt-get install -y
git dialog. Next, you are going to type cd and then git clone
git://github.com/petrockblog/RetroPie-Setup.git. This is going to download
a little script that is going to install tons of game emulators for you. To prepare
the installer, type: cd RetroPie-Setup, then chmod +x retropie_setup.sh.
In the same terminal window, we are going to type: sudo./retropie_setup.sh,
this is going to run the installer and bring up an awesome retro interface. Once
we are here, we are going to select the binaries-based install option. This is
going to take about an hour.
Once this is installed, we are going to open up another terminal window and
type: sudoraspi-config. In this configuration app, you are going to go into the
boot options and choose to make the Pi boot into a command prompt instead of
Raspbian. Now you are going to reset the Pi, and then type EmulationStation
to run your new retro game center.

This is going to give you access to emulators for more than twenty systems,
including the Mega Drive and Nintendo 64. While some games are going to be
built in, you are going to have to check out a site like emuparadise.

Create A Media Center With Your Raspberry Pi


Before you get started on making your Raspberry Pi into a media center, you
are going to need to obtain a few components:
- Raspberry Pi Case
- Standard SD card
- Micro-USB cable and wall charger
- HDMI cable
- USB mouse and keyboard

The first thing you are going to do is get your Raspberry Pi set up in the case.
The board should fit snugly in the case without needing to be forced in. Once
you have placed your Raspberry Pi into your case and screwed the top on, you
are ready to move on.

The media center is going to run on RaspBMC Linux distribution, and you are
going to need to download this from a computer other than the Raspberry Pi.
Once you unzip the file, right click the file setup.exe and select “Run as
Administrator” click yes to the User Account Control dialog. You will then be
presented with an interface which will allow you to install the RaspBMC to an
SD card. Next, select the SD card from the list and check the box stating that
you agree with the license agreement and select install.

Now that the software has been installed on the SD card, you are going to
insert it into the Raspberry Pi. Turn the Raspberry Pi on and begin the
installation process. This can take up to forty-five minutes.

Now that RaspBMC has been installed, you are going to be given the option to
choose a language, and will then be greeted with the home screen. Scroll over
to the program section and select the RaspBMC settings option. This is going
to allow you to change your connection type from wired to wireless. You are
going to be able to change many other settings to personalize your experience.

Now you are ready to add your media. Since it is impractical to store your
media on the SD card, we are going to be streaming the media from an existing
computer.

Go to the home menu and navigate to the video option. Here, you should see a
drop-down option for files, choose this option and then click the option to add
videos. This should give you a menu that allows you to browse for a source.

Select browse. A screen will appear that contains a variety of options to


connect. XBMC facilitates a number of different connection options. However,
most computers are going to rely on the Windows Samba option, which you
will find near the bottom. Once you have clicked on this option, it is going to
ask you for the username and password for the computer you are trying to
stream from. Enter this information, and you will be able to view the files that
you have chosen to share. Now that you have added your media, you should be
able to select the media and begin streaming content.

There are three different methods you can use to control the device you have
just created.

1 – A wireless mouse is one option, although it is also the most inconvenient.


2 – There are various apps you can get for your Android or iPhone.
3 – A universal remote. This is the most ideal option since you likely already
have one of these in your home.

There are many, many more things you can do with your new Raspberry Pi 3 –
Model B. We’ve walked through two of the most popular, and easiest, things
you can do. Below is a list of other things that your Raspberry Pi is capable of.
Feel free to attempt any of these projects, or create one of your very own, the
only limit with the Raspberry Pi is your imagination.

Other Raspberry Pi Projects


- Write your own game
- Make a Gameboy (advanced)
- Make a Kodi streamer
- Build a download hub
- Create a dedicated Minecraft machine
- Build a camera trap
- Build a case for your Raspberry Pi
- Control your stereo wirelessly
- Create your own cloud server
- Make a phone
- Make a PiRate radio station
- Build a smart beer fridge
- Make a PiCam
- Make a talking toy
- Make a bitcoin mining machine
- Create a tiny arcade
- Build your own virtual assistant, similar to Amazon’s Alexa
- Build a Raspberry Pi laptop
- Stream PC games to the Pi
- Raspberry Pi music player
- Raspberry Pi photo frame
- Make a motion sensor
- Raspberry Pi security camera network
- Build a Samba server
- Create a smart mirror

As you can see, the options of what you can do with the Raspberry Pi are
virtually endless. Choose a project to get started with, and remember, if
something ever goes wrong, simply go back to the beginning and reprogram
your Raspberry Pi as if it were brand new.
Chapter 7: Accessories For Your Raspberry Pi 3 – Model
B

Costing only $35, the Raspberry Pi is a great price, and it also very basic.
However, there are many accessories you can get for your Raspberry Pi if you
want to spend the money. In this chapter, we are going to briefly look at some
of the available accessories and the pros and cons of each one. We are also
going to take a look at what you would get from each accessory, whether that
be aesthetic, functionality or something else.

Raspberry Pi 3 Starter/Media Center Kit – For anyone who is buying the Pi


3, particularly if it is the first Pi owned, a starter kit can be a huge benefit. It
comes with a power supply, a case, an 8GB micro SD card, HDMI and
Ethernet cables. It also includes NOOBs, Raspbian, and Kodi pre-installed.
HDMI to VGA Adapter – HDMI is very common. However, it's still not
everywhere. If you have a monitor that is not HDMI enabled, or you just prefer
VGA, this is one attachment that will make your life a lot easier.
Raspberry Pi Heatsink – The Raspberry Pi 3 – Model B produces heat. If you
are going to be doing advanced projects, it is going to produce more heat. To
extend the life of the processor, a heatsink is a great option.
Raspberry Pi Touchscreen – Touchscreens are everywhere, and if you are
planning on making a Pi Phone or tablet, this is a great product to have. While
most of the touchscreens you are going to find are only 480p, it is still better
than a non-touch display.
Camera Module – Almost every device available these days has a camera.
Adding a camera to your Raspberry Pi will allow you to use it as a video
calling box, home security system or even as an actual camera.
Pi Sense Hat – There are some things you probably never considered you
might need. Like temperature sensors, humidity sensors and an LED sensor.
The PiSense Hat also has an accelerometer, a magnetic sensor, a five-button
joystick, and a barometer. This makes it an essential tool for many projects.
Adafruit RGB Matrix – If you are hoping to make a stunning light show, or
just need a basic display to showcase things, this fully programmable color
LED board is your ideal gadget.
AdafruitPerma Promo Hat – This is a basic tool that will allow you to create
and test your own custom circuits for use in your projects.
PaPiRuseink Display Hat – This is perfect if you are looking for a basic
display that isn’t going to suck up a bunch of power. This display is great to
display a calendar, clock, or thermometer.
Mini Wireless Keyboard And Mouse Touchpad – This is great if you don't
want to keep your Pi connected to a mouse and keyboard all the time. You
aren't going to want to use this when you are typing out long strands of
commands. However, it is great if you are only typing a few sudo commands or
small mouse movements.
Cases – There are many different cases you can get for your Raspberry Pi.
From the simplest cases that are used just to protect your Raspberry Pi from
the elements, to cases that include a touchscreen holder or even mount to a
monitor.

As you can see, there are many different options for accessories for your
Raspberry Pi. Most of the accessories you are going to find listed above are
available for under one hundred dollars. This means that even if you choose to
invest in a few of your favorites, you are still going to be spending less than
you would be on a traditional computer, and you are going to be able to do so
much more with it.
Conclusion

Now that you know the basics of the Raspberry Pi 3 – Model B, you are ready
to venture out and start getting some hands-on experience with it. Remember,
there is a ton of different software options that you can use when you are
programming your Raspberry Pi, so you are by no means confined to the ones
that came standard with the Raspbian that we downloaded in the
walkthroughs.

Remember, the Raspberry Pi computers were created to give everyone an


affordable option to learn about technology and how they can manipulate it.
Use your imagination and enjoy the process of learning how to program your
Raspberry Pi 3 – Model B to do virtually anything you want it to do.

I would like to thank you for downloading my book: Raspberry Pi: The
Blueprint for Raspberry Pi 3: Everything You Need to Know For Starting
Your Own Projects. I hope you found the content in this book to be a valuable
contribution to what you are going to do with your Raspberry Pi.

Bibliography
Peers, B. E. (2015, December 29). Retrieved March 1, 2017, from
http://www.techradar.com/news/software/learn-to-program-your-raspberry-
pi-1148194
The Blueprint To Hacking

Beginners Guide to Ethical Computer


Hacking!
By: Cyber Punk Architects
Introduction

With today's high level of technological culture and massive development of


information technology, there is no surprise many people see their future in this
field of industry. This type of science, information science is desirable and
available to broad masses of people. By knowing the real power of
information technology, you will be able to manipulate, store and study many
different types of data from the comfort of your home.[1]
[2][3]
In the world, there are many[4] undergraduate degree programs preparing
students to work in this field of industry on many different levels. IT
specialists work for huge companies and are responsible for network
administration and software development, increasing productivity and
efficiency.

On the other hand, there is huge subculture involving[5] people who are
accessing online databases, manipulating and overcoming limitations of the
software[6]. By overcoming the obstacles and limitations of programming
systems, you will be able to engage in advanced studies of software and
operating systems. You will enter into a different world of information
technology.[7]

This book is about ethical computer hacking, so we will discuss hacking only
in an ethical manner.[8] Hacker ethic allows you to manipulate software in no
harmful way, to share informat[9]ion to the world that is not da[10][11]maging
in any way. This guide will teach you how to access computers and
information that can benefit you and others as well.

We all know that knowledge should be shared, especially knowledge that can
be helpful and can improve our personal knowledge. Information should be
available to everybody, and all information should be free. Today computers
are life[12] changing and take a huge part in everybody's life.[13] This ethical
beginner’s guide to hacking computer will be your card into the power of
information technology.[14]

There is a common goal, many principles and values of hacker ethic[15] are
based on this common goal. By using the knowledge of hacking, you will be
able to create something completely new and interesting.[16][17][18] You will
be able to access computers, learn about operating systems and share
information to the world. You will see limitless opportunities in the
information sector and be amazed by the greatness and power of one single
information.

Ethical ideas and values of this subculture have constructive goal, and there is
always feeling of right and wrong present. Only ethical hacking is right and no
damaging in any way. In order to overcome obstacles of hacking, first of all,
you will need to be[19][20] online. Besides being online you will need
operating system Linux, most of the internet sites run L[21]inux operating
system.

I will later explain how to use Linux Terminal. You need to have point to point
protocol internet connection. Most of DLS connections are fortunately point to
point protocol. If you don't have PPP (point to point protocol) contact your
internet service provider and tell them you are interested in getting PPP.

All of these steps will be explained later step by step, but you should know
that hacking isn't easy job. It demands constant learning and adoption of new
knowledge. Learning and discovering is an essential thing when it comes to
hacking[22][23]. It will take you a cer[24]tain number of hours on computer
each day.

Before going into world of hacking, you should be familiar with programming
languages and have certain programming skills. There are many programming
languages, and I recommend Python because It is simple and easy to use. There
are great tutorials about programming with Python, so you don't need to spend
extra money on books. Besides Python later you should be learning other
programming languages like C and C++, they are very difficult to learn, but at
some point, you will be able to use them after learning the basics of Python.
[25][26]

We will discuss these basic steps later in details. First, you need to know
there[27][28][29][30][31] are many different types of hackers and many
reasons why people enter the world of hacking. You should be familiar with
these types of hackers even though this is such a stereotypical view.

1. Script Kiddie is the type I am mentioning first. This is normally amateur


hacker who breaks into people's computers and have poor knowledge of
information technology. Script Kiddie use prepackaged automatic scripts
and software created by real hackers. They are copying codes from these
automatic scripts[32]; they just download prepared software in order to
put a virus or something else harmful.[33] Basically, they[34] watch
YouTube tutorials on how to use these scripts. They flood an IP address
with huge amount of information, and it collapses.

2. White Hat is known as ethical hacker. Many of White Hat hackers have
college degree in IT technology and security. They have non-malevolent
and no damaging purpose. They are helping people fight against other
hackers, help them remove viruses or PenTest companies. White Hat is
by all standards ethical and moral programmer.

3. Black Hatare the third type of hackers, commonly known as crackers.


They surf the internet and discover weak frameworks. They are using
basic and common hacking techniques to steal money and information
from banks and companies with weak security systems.

4. Grey Hat is another type of hacker.[35]bGrey Hat is breaking into


computers with weak security, breaking into PC frameworks. Gray Hat
hackers are using many different strategies in order to extort Mastercard,
many other types of vandalism and various types of information stealing.

5. Green Hatare hackers really into hacking. They want to learn and
discover always, and that is why they may be asking many basic
questions.[36] They are listening with great devotion and curiosity.

Elite hacker is above the average in the hacking world, really devoted with
great social status among the others. They are treated as special in the
subculture of hacking. They are masters of discovering and inventing new
things. Masters with solid reputation among the people, cream of the hacker
world.
These are the most relevant types of hackers. This guide is about ethical
hacking so you should use your knowledge only for moral and ethical
purposes.
Chapter 1: How To Setup Your New Hacking
Environment

It is impossible to learn everything about hacking; there is huge amount of


information on the computers. People usually tend to specialize in one specific
field when it comes to hacking such as software development, computer
security or networking. It is a bit early for you as a beginner to think about
specializing in any of these fields. You should first learn basic techniques and
strategies when it comes to hacking. Later in future, you will have clearer mind
about your possibilities.

Discovering and knowing what is going on inside the computer system is an


essential thing, this is common goal of all hackers. By knowing what is going
on inside the system, you will be able to manipulate and modify information
for better.[37] You are going to create something completely new that fits your
needs. Learning about hacking is gaining access into powerful system of
information and technology.

Knowledge will always be the most powerful thing, and power has been used
both in good and wrong things. We will just focus on knowledge for moral and
ethical purposes that benefit many people.

Here are the steps you should take to get started:

1. You have already taken the first step into the world of hacking by showing
an interest and curiosity to learn about hacking.
2. Like I mentioned before, the second step is knowing the basics of
programming languages.[38] Programming skills and techniques are going
to be the most valuable you have for hacking. A programming language is
designed to give instructions to the machines, especially computers. With
the programming languages, you can create different programs and control
the behavior of the computer. You should start with something simple like
creative website or create application for smartphone.[39][40]

Where and which programming languages to learn?

On the internet, there are many great tutorials about using programming
languages. You can watch video tutorial as well. You shouldn’t forget about
library. There you can find tons of books about programming and networking.
Besides video tutorials and books, there are plenty sites on the internet with
step by step guides about programming.

● Java is one of the longest influential programming languages,


great for beginners. It lets you think like real hacker, to think logically.
Besides Java I mentioned before Python, it is open and free to use. It
will teach you really useful strategies, modularity, and indentation.[41]

3. For the perfect hacking environment, you will need certain devices. Like I
said before you have to be able to be online and have point to point
protocol. If you don't have one you should contact your internet provider,
but don't worry, almost every DLS internet connection has PPP. Other
important things are you should have some knowledge about network ports,
common network protocols, HTTP and you should know how each of these
things works.[42][43][44]
4. You will need operating system that is convenient for programming. Unix
operating system is perfect and suitable for hackers all over the world. Unix
operating system can develop and create software that can be run on other
systems as well. You can use a great number of software tools. Unix
consists of many great utilities such as a master program kernel. Unix
emerged as important learning and teaching tools when it comes to
computer technology.

● Besides unix operating system, you will need shell account[45].


A shell account is user account that runs on the remote server under the
Unix operating system. It gives you access to a shell via different kinds
of protocols. Shell accounts have been used for file storage, software
development or web space.
● You will also need a Unix box. It is a computer that runs any of
the several Unix operating systems like Linux. This term Unix box came
in order to distinguish Unix operating system and more common
Windows operating system. Unix operating system and Unix computer
are able to differentiate many different servers quickly. Unix computers
are perfect for security administration as well as for hacking. The most
important thing is that most internet websites are running Unix operating
system.

● In order to obtain Unix operating system, you will have to buy


one or get free versions.[46] I recommend Linux operating system or
BSD. Linux is more suitable for beginners because it is easy to use, so
you should consider buying Linux first. You can buy Linux set online
from many different sites. There are many free versions of Linux[47];
you will just need to find someone with this operating system to burn it
for your personal use. Don't worry, Linux is free for distribution, and it's
not illegal to makes copies.[48]

● When it comes to installing Linux operating system, don't worry,


it is quite easy. You can find complete guides and video tutorials on the
internet with the installation instructions. Just type into search engine
Linux installation, you will get all of the information that you need.

Reminder: In order to hack and manipulate the software, you have to be able
to be online using Linux operating system. Like I mentioned before, you need
point to point protocol internet connection. Almost all of the DLS connections
are point to point protocol, but on the other hand, dial-up is not PPP.[49][50]
[51] If you have DLS connection, you are lucky, and there is no need to worry
about anything. You are ready for some hacking. [52]
[53]
5. After you get these stuff, it is time to pick books about Linux operating
system or any other operating system you may be using. I recommend you
books with step by step guides for beginners. Your local library has plenty
of books about computer technology[54]; it won’t be a problem finding any
particular one you need. For me personally, the best book about Linux is
Running Linux written by Matt Welsh. It is really for beginners in computer
technology. If you are maybe using other Unix versions of operating system,
I warmly recommend any book from O'Reilly Collection. I find them perfect
for beginners.

You have to keep in mind constantly that hacking is hard work, constant
learning about information and computer science in different and intriguing
ways. You just made your first step; you are intrigued by hacking world, you
want to know about manipulating software, creating something completely new
from information you get. That is the most important step,[55] [56]wanting to
know more. You should keep in mind that hacking is huge devotion, you will
need to expand your limits and knowledge. The most important thing is
learning, so you have to read a lot about information and computer technology,
search online for your many questions, visit forums about hacking. After setting
up perfect environment for hacking, we should start with basics.
Chapter 2: How To Use The Linux Terminal And Master
Its Functions

As I mentioned before, Linus is Unix-like computer operating system; it is


developed under the version of the free and open-source software. Unix
operating systems are free for distribution and development. The most
important component of Linux operating system is Linux kernel. Originally
Linux was developed for personal use and computers, but since then Linux has
been developing many other platforms, more than any other operating system.
Today Linux is the most used operating system in the world, has the largest
installed base of all operating systems and is leading operating system on many
servers and desktop computers. Today many smartphones run Linux
components and derivatives.

The greatest example of free and open-source software is absolutely the


development of Linux operating system. Source codes may be distributed and
modified by anyone by the certain terms and licenses. You can use find many
popular mainstream Linux versions such as Fedora, Linux Mint or Ubuntu. You
have plenty options. Besides these versions, you can find for free supporting
utilities, large amou[57]nt of applications and software supporting Linux
operating system. All of these have supporting role in distribution's intended
use.
Linux is high-level assembly, and[58] programming language freely
redistributed and [59]with easy porting to any computer platform. For this
reason, Unix-like operating system Linux quickly became adopted by academic
circles and institutions.[60] Today it is widely used and distributed all over the
world. Linux is the result of the project of creating Unix-like operating system
with completely free software. It is opponent to the Microsoft's monopoly in
the desktop computer technology. Linux today is more used in the field of
embedded systems and supercomputers.

Linux is modular operating system; device drivers are integrated or added like
modules while the system is running.[61] [62]Some of the Linux components
include C standard library, widget toolkits, and software libraries.[63] This
guide will help you and guide you through the Linux terminal commands and
basics. Linux Terminal is really powerful tool, and yo[64]u shouldn’t be afraid
to use it.

Learning the Linux[65][66] basics is first and crucial step into the world of
hacking. In this guide, we have to cover topics[67] such as Linux command
line and Linux executing commands. These are basics when it comes to the
Linux operating system. You should familiarize yourself with the Linux
Terminal emulator in the first place. It will become very easy to use when we
pass through the basics first. It is needless to say you have to be able to
connect to the Linux server.

At the very beginning, we should distinguish what the terminal emulator is.
Terminal emulator is the program allowing the usage of terminal in a graphical
environment.[68] [69][70]Today many people use operating system with
graphical user interface and terminal emulator is an essential feature for Linux
users.[71] [72]Besides Linux[73][74], you can find terminal emulator program
in other operating systems such as Mac OS X and Windows.[75] Here we are
going to discuss [76]Linux Terminal emulator.

You should be familiar with the shell. When it comes to the Linux, the shell is
standing for command-line interface. The shell[77] [78]reads and interprets
commands from the user. It reads script files and tells the operating system
what to do with the obtained scripts. There are many widely used shells such
as C shell or Bourne shell. Every shell has its own features, but many of the
shells feature some same characteristics. Each shell function in the same way
of input and output direction and condition-testing. Bourne-Again shell is the
default shell for almost every Linux version.

Another important thing is knowledge of command prompt. The message of the


day is the first thing you will see when you log in to server. It is message
containing information about the version of Linux you a re[79][80]currently
using. After the message of the day, you will be directed into the shell prompt
known as command prompt.[81] In the command prompt, you will give
directions and[82] tasks to the server. You will see information ate the shell
prompt, and these information can be modified and customized by the users. In
the command prompt, you are able to manipulate the information.[83]
[84][85]
You may be logged into the shell prompt as root. In the Linux operating system,
the root user is the special user who is able to perform administrative tasks
and functions of the operating system.[86] [87]Super user account has
permission to perform unrestricted commands to the server. As a super user,
you have[88] limitless powers when it comes to the manipulating commands
given to the server. You will be able to give unrestricted administrative tasks
and commands.

Besides shell prompt, we should discuss executing commands as well.


[89]You give commands to the server in the shell prompt. You specify the name
of the files both as script of binary program. With the operating system Linux,
there are already many utilities installed previously. These utilities let you
na[90]vigate through the file system, install applications and configure the
system. Giving tasks and commands in the shell prompt is called the process.

By giving directions in the command prompt, you are able to install software
package and navigate through the system.[91] When you are executing the
commands in the foreground, you have to wait for the process to be finished
before going to the shell prompt. This default way of commands being executed
is case-sensitive including all names and files, commands and options. If
something is not working as planned, you should double-check th[92]e spelling
and case of all your commands.

You may have problems while connecting to the Linux server, online you can
find solution to the problem with the connection. In order to execute the
command free of arguments and options, you just simply type name of the
command and press return. Commands like this, without arguments and
options, behave differently from the commands with arguments. The
behavior[93][94] of the outcome varies from each command.

When it comes to the commands with arguments and options, accepting


arguments and options can change the overall performance of the command.
Every argument specifies and directs the command in a certain way. For
example, a cd is the component of the command and arguments follows the
certain command. Options that follows commands are known as flags.[95]
[96]
Options are nothing more than special arguments directed in a certain way.
They also affect and modify the behavior at the command prompt space.[97]
[98]Same as arguments, options follow the commands and can contain more
than one options for the same command. Options are single-character special
arguments usually having descriptive character. Both arguments and options
contain additional information about the commands and about each file and
script. They can be combined into certain groups of options and arguments
while running commands at the command prompt.

We should pay attention to the environment variables as well. Environment


variables can change behavior of the commands and the ways of the command
execution. First when you log in to server, default environment valuables will
be set already according to configuration files. You can see at the command
prompt all environment variables sessions by running env command. After
running any command, next step is looking for path entry. The path will give
you all the directions about the shell looking for executable programs and
scripts.[99]
[100][101]
From command prompt, you can retrieve the values of environment variables
just by prefixing name of the variable with $[102]character. By doing this, you
will expand variable to its value.[103] IF you see an empty string, you are
probably trying to access variable which hasn't been set yet. In that case, you
will get empty string.[104]

Now that you are familiar with the environment variables you are able to set
them. For setting environment variable you need to type variable name
followed by an = sign. Finally, you should type the desired value.[105] The
original value of the variable will be overwritten if you are setting the existing
environment variable and if the variable doesn't exist by doing this, it will be
created.[106] Command export allows you to export variables inherited during
the process. To be more clear, you can use any script from the exported
variable from current process.

When it comes to the referencing existing variables, you can always add
directory at the end of the path command. You should keep in mind that
modifying and adding environment variables in this particular way only sets
the environment for your current session and any changes made will not be
preserved for next sessions.
Chapter 3: How To Be Completely Anonymous Online
Like The Pro's

Being hacker means breaking into the system, being individual who is
modifying valuable information and sharing it with the world without certain
authorization. Hacker gets into the system by the communication networks.
Hacker[107] [108][109][110]essentially means computer programmer who
can subvert any computer security. On the other side, there are hackers hacking
with malicious purpose.[111] These people are criminals, and[112] they are
illegally accessing computer systems. I mentioned before hackers stealing and
entering into banks' and companies' computer security.

Hackers use their abilities and knowledge in computer science also good
purposes as well. We are going to pay attention only to ethical and moral
hacking.[113] [114][115]On the other hand, there[116] is no surprise; hackers
are disreputable.[117] [118]We heard about many cases in the past about
stealing information which resulted in many accounts being compromised and
many unauthorized transfers happen. Many banks and companies were targets
and hit with the hacking attack. These attacks cost huge amount of money to
both banks and companies, great amount of lost resources spent on
investigation, more than stolen amount.

Hackers with malicious purposes besides stealing from banks and companies,
usually steal peoples' personal information, online accounts especially social
accounts and other personal files and data. When it comes to the ethical and
moral hacking, you should keep in mind that you are always at risk to get
caught.[119] [120]In this chapter, we are going to see how to be[121]
completely anonymous like a professional. Of course, keep[122] in mind only
ethical and moral hacking for good purposes is desirable hacking and any other
purpose will not be discussed.

There are certain strategies and techniques how to hack like a professional and
not get caught. Hackers like to get through many obstacles and penetrate into
the computer system, and best way to do that[123] is to be completely
anonymous. Any other way is suspicious and may be dangerous. There are
many restrictions while entering the computer system. An essential thing is
being anonymous online and protecting your[124] [125]work. Hackers have to
stay anonymous and not get traced by many tricks like using stronger
passwords or using two-factor authentication.

How not to be caught and stay anonymous?

1. When it comes to the tips of being completely anonymous while hacking,


the most important thing you can do is try not use windows operating
system. For[126] [127][128]the perfect hacking[129] environment, you
will need[130] unix operating system which is perfect for hacking job.
Getting Linux operating system and computer will be money good spent.
Windows operating system is not good for hacking due to many holes that
can be traced easily. These windows holes in the security may be
deciding factor in spyware infecting[131] [132]and compromising your
anonymity. You should definitely use other operating system security
hardened system.

2. The second thing[133] [134]you should pay attention is to avoid


connecting to the internet directly. You can easily be tracked through your
IP address. So if you want t[135]o avoid this, you should use VPN
services which stand for virtual private network. The virtual private
network[136] [137][138][139]allows users to share and receive files
and data while online through public networks like the internet.[140]
While you are online using virtual private network, you are connected as
if your computer is directly connected to the private network.[141] All
of the applications you are running through a virtual private network can
benefit in functionality and security. With a virtual private network, you
are going to be able to surf the internet with great security and lower risk
of being caught.[142][143]

How does VPN help you stay anonymous?


In order to be connected to the virtual private network, you will need[144]
[145][146]to connect to the proxy servers which have purpose of protecting
your identity and location as well. However many sites on the internet are
blocking access to the virtual private network technology in order to prevent
unauthorized entering and wandering. VPN is essentially point to point
connection which is using other connections and virtual tunneling protocols.
Many benefits are provided by using a virtual private network for a wide-
are[147][148][149][150][151]a network.

When it comes to the hacking, VPN will let you create private tunnel, anyone
who is trying to trace your IP address will only see the address of the virtual
private network server, and you can choose any address in the world.

Which VPN to use?

When it comes to the virtual private network services, there are plenty of
options. Some of the best software for secure and private browsing the internet
are ExpressVPN, NordVPN,[152] [153]PureVPN and all of these are free to
download. You should keep in mind before downloading VPN software that
not all of these are created equal. Some of the VPN software may offer you top
notch services while others can play fast with your files and data. Before
buying and downloading any of the VPN software keep this in mind.

3. TOR is network full of nodes which are routing your traffic. Directions
of the nodes are behind and in front. Your direction onto normal internet
connections is known as exit point. The most secure and the best way is
to combine both virtual private network and TOR. In order to be
anonymous while being connected to the internet, you should download
free TOR software. TOR[154]software is going to protect your personal
data from network surveillance and help you defend against trafficking
analysis. These types of network surveillance threaten all of your
personal privacy and work against your freedom. [155]TOR software
will protect and secure your internet connection and prevent other
people from seeing sites you are visiting. The most important thing is that
TOR software is completely free for downloading.

4. Another one crucial thing when it comes to the hacking is email address.
You should never use your email address while hacking. Instead of using
your real email address, you should use one from the anonymous email
service. Anonymous email service is letting their users send and receive
emails from someone without any trace [156]especially if you already
have TOR software and virtual private network. When you go online
every site is background checking your activities like google which is
expecting you to share some of your personal information like email
address or number.

Which email service software to get?

In order to set completely anonymous email address that can't be traced and
without a connection to any server [157]I recommend you download the
software Hushmail's. Hushmail's is software very easy to use without any
advertising, but it comes with the price, and on the other hand there is free
version offering 25 MB of storage.[158] If you don't want to pay extra money
for the software, another great anonymous email service is software Guerilla
Mail.[159] [160][161]Messages received in this mail are only temporary and
will be available only for an hour. [162]
[163]
Great way to stay anonymous and hide your email existence is website
Mailinator, free and disposable. Whenever someone asks you[164] for the
email, you just make one up and sign[165] into the Mailinator account and
check received mail without leaving any traces. With the combination of the
anonymous email service, TOR software and accessing connection through the
virtual private network you are almost invisible to the others. By doing this,
you protected[166] your personal information and defended from the third
party sites which are tracking your IP address and location[167] every time
you go online.

5. It may seem obvious, but you should never use Google while hacking.
Google is constantly tracking sites that you are visiting and all of your
online activities. Google is the most useful search engine, and there is
certain way for you to use it without revealing your[168] [169]identity
and personal information. You should use some of the services for
preventing Google storing your IP address, records of your searches and
cookies. I recommend you to use services such as StartPage or
DuckDuck go which will prevent google from remembering your online
searches and history of your online activity. You will be able to search
through the google without compromising your identity.

6. Last but not least thing you should keep in mind is using public wireless
connection. There is huge issue when it comes to the using public WiFi.
The problem is that your computer has[170] [171]unique address, which
is going to be recorded by the router of any public location. [172]So if
your address is tracked down by the router,[173] it will lead to your
location and device. The second problem with using public[174]
[175]Wifi is common hacking attacks. Attacking public Wifi is known as
man-in-the-middle, and it will compromise your anonymity.[176] In that
case, other hacker[177] connected to the same network connection as
you will be able to track you down. These are basic tips and precautions
when it comes to the anonymity while going online and staying safe and
protected while hacking.
Chapter 4: How To Setup NMAP

We are already halfway; now you are familiar with the basics when it comes to
the hacking. We already discussed Linux Terminal and tips and precautions for
you to stay completely anonymous[178][179][180] and protect your identity
while hacking. The next thing of great importance is setting up NMAP which
stand for network mapper. Network Mapper is the type of security scanner
which is used in order to discover any hosts and service on the devices. A
computer network is filled with anonymous hosts and services,[181] [182]
[183]and NMAP is tracking and discovering them and putting them together by
building the certain map of network. Hence the name network mapper. In order
to do this network mapper is sending special packets to the different hosts
which are targets in this case and then NMAP analyzes the responses from the
hosts.

Network mapping software provides many great utilities such as host


discovery, operating system detection, and vulnerability detection.[184] These
are all great features for probing computer network. Besides these basic
features, NMAP provides many other advanced features.[185] Network
mapper tool is constantly being developed and refined by the computer science
community. Firstly it started as Linux utility, but later expanding to the other
platforms such as Solaris, Windows, and IRIX.[186] Among the IT community,
NMAP utility for Linux is the most popular today and closely followed by
operating system Windows.[187]

There is no surprise that network mapper is great tool when it comes to the
hacking. You should keep in mind that computer network is filled with the great
number of hosts and services and network mapping is a great way to discover
them all.[188] Some of the features that network mapper provides are port
scanning, determining operating system, scriptable interaction with the hosts
and detection of the version meaning interrogating network services. Network
mapper is used when it comes to the generating traffic to the target, finding any
vulnerabilities, auditing security of your computer and analyzing open ports
and preparing for auditing.

Now we should see how to setup network mapper scanning. It may sound
terrifying, but it is quite easy to do, and often NMAP can be installed just by
doing one command.[189] As I said, NMAP[190] c[191]ould work on many
different platforms[192] provided with both source code compilation and
installation methods.

➢ The first logical step for you is to check if you already have
network mapper installed. Many platforms already have NMAP tool
installed such as Linux and BSD. To find out if you already have NMAP,
you should open terminal window and execute command NMAP, and if
NMAP[193] [194]already exists, you will see that in the output. On the
other hand, if you[195] don't have NMAP installed you will see error
message. In any case, you should consider having the latest version of
ne[196]twork mapper and upgrading it.

NMAP is running from shell prompt. This is letting users to quickly execute the
commands without wandering around bunch of configuration scripts and option
fields. It may be intimidating for the beginners the fact that NMAP tools have a
great number of command-line options even though some of them[197][198]
are ignored by many users such as commands for debugging. Interpreting and
executing any outcome will be easy once you figure out how the command-line
works and how to pick among command-line options,[199]
[200][201]
➢ In case you don't have NMAP already installed, you should
download one from the internet. Nmap.Org is right place for
downloading hence it is official source for downloading. You can
download from the Nmap.Org both source codes and binaries. Source
codes will come in the shape of compressed tar files and binaries are
available for many platforms including Linux and Windows.

➢ After you downloaded source codes and binaries from the


Nmap.Org,[202] you may be intimidated by the verifying the integrity of
the maps downloaded. Many of the popular packages of the maps such as
OpenSSH, Libpcap or Fragrouter may be easily infected with the great
number of malicious trojans. The Same thing can happen to the software
distribution sites such as[203] SourceForge and Free Software
Foundation. You should be careful not to download infected files.
➢ When it comes to the verifying NMAP tools, you should
consult the PGP signatures that come[204] [205]together with the NMAP
version you downloaded. When you download NMAP, you will get both
PGP signatures and cryptographic hashes. You can find both in the
NMAP signatures directory.[206] The most secure way of verification of
the NMAP is PSG[207] [208]signatures which came with the tool. Of
course, you will need NMAP special signing key because NMAP
versions are signed with these special keys. In order to get one visit on
of the popular key servers. Once you get the special signing key, you
will[209] import it through the command,[210] and you are only doing
this once. By doing this, you are verifying all of your future releases.
[211]

It is easy when it comes to the verification with the proper signature key, and it
takes single command. Besides signature keys, there are other options for
verifying the NMAP like MD5 and SHA1 hashes if you are more into casual
validation.[212] [213]But be careful, hashes from third party sites may easily
be infected and corrupted.[214] [215]Once you verify NMAP, you can build
the network of the host s[216]and servers from the source code.
Chapter 5: Which Tools The Hackers Use To Crack
Passwords

You already know who is a hacker. Hackers are using their knowledge and
abilities to break into the system, to access the information and modify and
create something completely new. Now [217]i[218]t is time to see which tools
the hackers use in order to break into system and to crack passwords.[219] The
first and most important thing is[220] [221][222]as I mentioned before is
operating system Linux which will give you complete power when it comes to
using hacking tools of any kind[223].
There are many different types of tools for hacking, depending on the purpose
and knowledge of the users. Keep in mind what type of the hacking and for
which purpose you are going to do. Depending on your personal interest you
may need tools for firewalls, intrusion detection systems, root kit detectors,
packet crafting tools, wireless hacking or vulnerability exploitation tools. All
of these tools come bundled with Linux, so I recommend Linux appropriate
toolbox.[224][225][226][227]
I already mentioned network mapper as a very useful hacking tool for
discovering and mapping network hosts. When it comes to the cracking
password, there is a gr[228][229]eat number of tools and software of great
importance for the hackers.

There are many ways of cracking password depending on the tool used.

Most common ways include cracking passwords:

● with the help of brute forcing


● by using dictionary attacks cracking encrypted passwords
● with the hashes cracking windows passwords
● by analyzing wireless packets cracking of WEP or WPA
passwords
● by identifying different kinds of injections and scripts and
discovering hidden scripts and resources.

Here is the list of cracking password tools I would recommend.

1. Aircrack-ng:
Aircrack-ng is really powerful cracking tool which includes analysis tool,
detectors, and WPA crackers. Among these utilities, it also includes a great
number of a[230][231][232][233]nalysis tools for wireless LAN.[234] It is
working for cracking passwords with a wireless network interface. The
wireless network interface has the controller which drivers support raw mode
of monitoring and can take up a great traffic. The most important thing is that
this tool is completely free to download and can work on any platforms
including OSX, OpenBSD, and Linux.[235] This tool is perfect for cracking
password due to its work in the field of the WiFi security. This tool focuses on
the monitoring and capturing packets and exporting it to files which will be
processed by the third party tools.

2. Crowbar

This is the second great tool for cracking password used by many hackers.
Crowbar is one of the most powerful brute force cracking tools. When you are
using Crowbar, you have opportunity to be in the control of things submitted to
web servers. Crowbar is not identifying positive responses, but it is comparing
content of the responses with the baseline. Crowbar is completely free for
downloading and works only with Linux operating system. Crowbar is
powerful tool when it comes to the supporting role and is used during
penetration tests.

3. John The Ripper

It is s the most popular password cracking tool. It is really powerful and highly
effective when it comes to the cracking, and that is why John The Ripper is the
part of the huge family of hacking tools Rapid7.[236]In the field of the
cryptographic system, hackers are trying to find any vulnerabilities in the
security network. Cracking password means recovering password from the
data previously stored by the computer system or network. On[237]e of the
most popular ways of cracking a password is known as brute-force attack in
which computer simply [238]guesses and hash the passwords. If you want to
be real professional in the hacking world, you should get to know more about
cryptographic science. John The Ripper can be downloaded for free online,
and there is also pro version which you can buy. For cracking[239] a
password[240], this commercial version will be enough providing you great
performance and speed. Originally John The Ripper was developed only for
Unix-like operating systems, but today it can work on different platforms. This
tool is the best option when it comes to the only cracking passwords.

4. Medusa

I can't discuss hacking tools and not to mention another great hacking tool
Medusa. [241]Medusa is also brute force tool providing users with excellent
performance. The biggest advantage of this tools is thread-based testing
allowing you to fight against multiple hosts and users. Medusa is developed in
modular design, with great features like flexible user input and it is completely
free to download. Medusa is running on Linux and MAC OS X operating
systems. This tool can perform attacks with great speed against a large number
of protocols such as HTTP, telnet, and databases.[242][243][244][245]
Besides these tools for cracking a password[246], I warmly recommend[247]
RainbowCrack, SolarWinds and THC Hydra.
Chapter 6: TOR And The DarkNet

I already mentioned TOR and some of its features which are very powerful
software when it comes to the staying anonymous while hacking and being
online. TOR is software that enables users anonymous communication by
directing traffic on the internet through worldwide and free networks which are
consisting of more thousands of relays all over the world. TOR is concealing
your location from anyone online including all kinds of network surveillance
and analysis of network traffic. By using TOR, you are making it harder for the
internet activity to be traced back to you while you are online. You are
preventing from being traced and hiding all of your instant messages, online
posts and any visit to the web sites. TOR is originally developed in order to
protect personal information, to give more freedom to the users and protect
them while being online.

TOR is developed by encryption of the communication stack, nested like layers


of the onion. It is working by encrypting a huge number of files including IP
addresses multiple times and sending it to the virtual circuit. After the
encryption is done and the innermost part of the encryption is sent to the final
destination without revealing and knowing the source of the IP address. This is
possible due to routing in the communication, and the IP address is more
concealing by the hop in the TOR circuit. This method eliminates any way of
communication peers being traced back to the user. Since network surveillance
relies upon determining and discovering users destination and source, by using
TOR software you will prevent revealing your identity and location to the
network surveillance and be free from traffic analysis.
Beside Tor software the other important compound when it comes to the
hacking world is DarkNet. DarkNet is special type of network, overlay
networking allowing its users to access it only with special software and
configuration. To enter into DarkNet network, you will also need specific
authorization.[248] [249][250]DarkNet network is usually using non-standards
protocols of communication and specific ports for accessing. There are two
types of DarkNet networks. First[251][252] one is friend –to-friend and
privacy networks. A friend-to-friend network is usually used for file sharing,
and TOR is the second one used as strictly privacy network.[253]
[254][255][256]
You shouldn't mix DarkNet with the deep web. The deep web is the term
referring to the all hidden parts of the internet which can't be accessed by any
search engine such as Google and Yahoo. Some of the experts believe that
content of the deep web is much bigger than the surface web. In fact, the deep
web doesn’t contain anything sinister but contain large databases and libraries
which can be accessed only by members. Some of the search engines of deep
web are [257]FreeNet and TorSearch. DarkNet is just small part of the much
bigger is known as for anonymous internet.

When you are surfing through DarkNet, both web surfers and publishers are
completely anonymous. You will achieve anonymous communication using
TOR software. When you are connected to the regular internet network, your
computer accesses host server of the site you are visiting, but with the TOR
software that link is broken. Your communication will be registered on the
network, but TOR will prevent transport mediums from knowing who is doing
communication. TOR as a part of DarkNet utility is perfect for anonymous
communication and online freedom, running on most operating systems.
The DarkNet was originally developed for the military and government, and
today they are mostly using the benefits of the[258] DarkNet. Regular internet
connection and network can easily discover your location, and this is the main
reason for using[259] DarkNet. It is also popular among journalists,
politicians, activists and revolutionaries. Accessing the hidden contents of the
internet is really easy. Like [260]I said before, installing TOR browser will let
you enter the[261] DarkNet. Besides Tor, you can install The[262]FreeNet
project for accessing hidden contents on the internet and allows you in creating
private networks, unlike TOR.[263][264] There is another privacy network
I2P which stands for the invisible internet project.

For the absolute anonymity, you should use TOR or any other privacy network
together with VPN and nobody will be able to see your online activities. There
is no wonder why these software for privacy are really popular today. You are
never too protected. You should always keep in mind that all of the search
engines you are using are tracking and remembering all of your activities while
being connected to the network. Surfing through the DarkNet with TOR
software you are making great steps in staying anonymous and protecting your
personal information.
Chapter 7: How You Can Use Multiple Tools To Gather
Information With Wireless Hacking

While cracking wireless networks, hackers are attacking and defeating devices
responsible for security of the network. WLANs is wireless local-area
network known as WiFi. WLANs are extremely vulnerable due to the security
holes. Wireless hacking is direct attract and intrusion, and there are two main
problems when it comes to the wireless security. The first problem is due to
the weak configuration and secondly is due to weak encryption.

You should keep in mind that hacking attack is hard job, step by step
procedure. Hackers are using many techniques and strategies in order to get
full access. You will need to know many combinations and methods in order to
break into the security through security holes. Every wireless network is
potential hole as well as wired network. Real hackers must rely on their
knowledge in computer science, physical skills, social engineering and any
other work that involves interaction between people.
When it comes to the wireless hacking, there are plenty of options available.
Here is the list of options:
1. Aircrack: It is not only one of the most powerful tools; it is also one of
the most popular ones for wireless hacking. Aircrack is developed for
using the best algorithms in order to recover passwords by discovering
and tracking down packets. Once the packet is captured Aircrack will try
to recover the password. In order to attack with greater speed, it
implements standar[265]d FMS attack with better optimization. There
are great online video tutorials how to use Aircrack tool, and it is
running on the Linux operating system. If you are using Aircrack on the
Linux, it will require more knowledge of Linux.[266]

2. Airsnort: It is another great and powerful tool for wireless hacking


besides Aircrack. Airsnort is a powerful tool used for decrypting any
WEP wireless network encryption. The best thing is that Airsnort is
completely free to download and is running both on Linux and Windows
operating systems. Airsnort works in the way of monitoring computing
keys and transmissions when it has enough packets previously received.
Due to its simple use, this tool is perfect for beginners.[267]

3. Kismet: It is another great tool used by a great number of people for


wireless hacking. This one is the wireless network sniffer. Kismet is
working with any wireless card and supports rfmon mode as well.
Kismet is working by collecting and receiving packets passively and
identifying hidden networks. You can download it for free, and it is
available for many platforms including Linux, OSX, and BSD.[268]
[269]
4. NetStumbler: It is wireless hacking tool used worldwide by a huge
number of people. NetStumbler is running only on the Windows
operating system and can be downloaded for free. There is also mini
version of NetStumbler available called MiniStumbler. This tool is
mainly developed for war driving and discovering unauthorized access
points. There is great disadvantage when it comes to this tool[270]. It
can easily detect by the most intrusion systems which are available
today. Besides this, the tool is working poorly running on the[271]64bit
Windows operating system. NetStumbler is working by actively
collecting useful information from the network.
5. inSSIDer: It is one great and popular wireless scanner for Windows
operating system. This tool was originally free to download but became
premium, so you will have to pay in order to get inSSIDer tool. Among
many tasks that this tool can perform the most important are finding open
wireless access points and saving logs from by the GPS.

6. WireShark: It is really powerful tool used as network analyzer. With


WireShark, you will be able to see what is happening in your personal
network. With this tool, you can easily live capture and analyze any
packets. You can check a large number of data fast and at micro-mode.
[272][273] It is working on many platforms including Solaris, Windows,
FreeBSD, Linux and many other. In order to use WireShark, you have to
be familiar with network protocols.[274]

7. coWPAtty: It is a perfect tool when it comes to the automated dictionary


attacking. It is running only on the Linux operating system. With the
command line interface containing a word lists with the passwords for
executing the attack. This tool is perfect for the beginners, but
disadvantage is that tool is slow in the process. Dictionary is used for
cracking passwords, cracking the each word that is contained in the
dictionary.

8. Airjack: It is wireless cracking tool with wide range of people using it.
Airjack is running as packet injection tool, hence the name Airjack. This
tool is making network go down by injecting packets.

Other than the tools, I mentioned here, and I also recommend you other tools
such as WepAttack, OmniPeek, and[275] CloudCracker.
Chapter 8: How To Keep Yourself Safe From Being
Hacked

In this last chapter, we should discuss how to stay safe and not get hacked.
[276] Hackers can break into your personal computer network if you are not
careful. They can steal your personal information. You should be careful when
it comes to your digital life and take some precautions before going online and
compromising yourself to the world. You should keep in mind that professional
hackers can have bad purposes, can steal your bank accounts, your personal
emails, and social media accounts as well. Keeping yourself from being
hacked is of great importance for safe and protected digital life.[277]

➢ Be Careful about what you Share Online

First and the most important thing is to be careful what you share online.
Posting online info which is usually asked as security questions are not good
idea. All of this information can be used by hackers to break into your personal
accounts. Hackers are able to steal millions of password and personal files,
causing blackouts. These tips are of great importance for not letting that happen
to you.[278]

➢ Setting Strong and Unique Passwords

You should always use strong and unique password. By adding extra level of
protection known as two-factor authentication, you are making yourself more
protected. By enabling two-factor, you are going to need something more
besides password to log into your account. Often it is numerical code which is
sent to your cellphone.
➢ Download a Password Manager Tool

Before going online, I recommend you to download a password manager tool,


which is going to save all of your passwords. I recommend you to download
Dashlane or 1Password.

➢ Use LittleSnitch

I previously mentioned you should use virtual private network that will prevent
intruders from entering into your personal network by routing the internet
traffic. Another great software for staying safe while being connected to the
network is LittleSnitch which monitors all of your outgoing connections. It will
alert you whenever computer is trying to send files to the unknown server. Your
laptop should be using full disk encryption, if not you should turn it on.

➢ Don’t Underestimate the Importance of Antivirus


Programs

You should keep in mind the importance of antivirus programs. And yes, it is
true that antivirus are basically full of security holes, but still having an
antivirus program installed is a good idea for staying protected from[279]
trojans. Besides using antiviruses, I recommend using simple security plugins
such a s[280]ad blockers.

➢ Stop Using Flash

If you are using flash, you should know that flash is the most insecure software
with a great number of security holes perfect for hackers. [281]
[282]
➢ Backup Your Files Regularly

Finally, yet importantly,[283] the last recommendation is to back up your files


regularly. You should back up your files usually when you are disconnected
from the network. You should use external hard disk in case you get ransom
ware.

You should never underestimate potential danger and threat. Hackers are
always lurking new victims, take these precautions for staying safe and
protected while being online. These tips can be life changing when it comes to
the digital life and online freedom.
Conclusion

Here we are at the end of the road. We discussed basics when it comes to the
hacking with step by step guides. I think now you are ready to do some real
hacking job. Now you are familiar with [284]tools of great importance for
hacking, using Linux Terminal is no foreign to you, you are able to crack some
serious wireless network[285] [286][287]connections and be protected while
wandering through the internet. Like I said before you should keep in mind that
hacker job is going to take many sacrifices and it will cost you many sleepless
nights. I don't want to discourage you, and you just need to be prepared in
every possible way.[288]

Learning and expanding your limits is the most essential when it comes to the
hacking. Knowledge will get you on the right path and secure you successful
job. Now you have considerable amount of knowledge in hacking to start with
real cracking and hacking. You know there is enormous amount of knowledge
out there on the computers, and there is no possible way for single person to
access it all and learn everything. You will eventually figure out in which field
of computer science are you interested the most. Maybe you are mostly
interested in software development or computer security, in both cases, you
will need to know basics in order to improve your skills and upgrade your
knowledge.[289]

Hacking is knowing what is going on inside the network and computer and
understanding all of the processes happening inside the devices. [290]By
knowing what is going on inside the computer and breaking into the system,
you will be able to modify information you accessed and create something
completely new. By accessing and breaking into huge databases and libraries,
you will have all of the information you need. You will have the real power in
your hands. And for the end, you should keep in mind that only ethical and
moral hacking is for good purposes. You just need to dedicate your work
towards ethical purposes.

In order to get the most out of this book we have included a FREE BONUS on
the next page. This will help increase your understanding of Hacking and
overall computer programming.
Free Bonus!

Programing can be hard but it doesn’t have to be! Take this


free PDF guide to understand some of the basics of
programming

Download the free guide:

Download Now

[1]Deleted:o
[2]Inserted: o
[3]Inserted: ,
[4]Inserted: ,
[5]Inserted: ,
[6]Inserted: the
[7]Inserted: a
[8]Inserted: n a
[9]Inserted: s
[10]Inserted: is
[11]Deleted:are
[12]Inserted: ,
[13]Inserted: a
[14]Inserted: the
[15]Inserted: a
[16]Deleted:U
[17]Inserted: ,
[18]Inserted: By u
[19]Inserted: ,
[20]Inserted: ,
[21]Inserted: the
[22]Deleted:the most
[23]Inserted: an
[24]Inserted: a
[25]Inserted: ,
[26]Inserted: ing
[27]Inserted: ,
[28]Inserted: F
[29]Inserted: .
[30]Deleted:,
[31]Deleted:f
[32]Deleted:,
[33]Inserted: ;
[34]Inserted: ,
[35]Inserted: an
[36]Inserted: ,
[37]Inserted: ,
[38]Inserted: the
[39]Deleted:ing
[40]Inserted: e
[41]Inserted: ,
[42]Deleted:is
[43]Inserted: s
[44]Inserted: are
[45]Inserted: ,
[46]Inserted: ,
[47]Deleted:,
[48]Inserted: ,
[49]Inserted: is
[50]Inserted: ,
[51]Deleted:are
[52]Inserted: ,
[53]Inserted: ,
[54]Deleted:,
[55]Inserted: ;
[56]Deleted:,
[57]Inserted: ,
[58]Inserted: ,
[59]Deleted:,
[60]Inserted: ,
[61]Deleted:,
[62]Inserted: ;
[63]Inserted: ,
[64]Inserted: ,
[65]Inserted: L
[66]Deleted:l
[67]Inserted: ,
[68]Deleted:is
[69]Inserted: is
[70]Inserted: ,
[71]Inserted: an
[72]Deleted:the most
[73]Inserted: L
[74]Deleted:l
[75]Inserted: ,
[76]Deleted:about
[77]Inserted: ing
[78]Deleted:s
[79]Deleted:M
[80]Inserted: The m
[81]Inserted: ,
[82]Inserted: ,
[83]Deleted: with
[84]Inserted: ,
[85]Inserted: and
[86]Deleted:ich
[87]Inserted: o
[88]Inserted: ,
[89]Deleted:about
[90]Inserted: ,
[91]Inserted: ,
[92]Inserted: ,
[93]Deleted:B
[94]Inserted: The b
[95]Inserted: , a
[96]Inserted: a
[97]Deleted:the
[98]Inserted: a
[99]Inserted: The p
[100]Inserted: ,
[101]Deleted:P
[102]Inserted: ,
[103]Inserted: ,
[104]Inserted: ,
[105]Inserted: ,
[106]Inserted: ,
[107]Deleted:o
[108]Inserted: s
[109]Inserted: h
[110]Inserted: wi
[111]Inserted: ,
[112]Inserted: ,
[113]Deleted:in
[114]Deleted:for
[115]Inserted: as well
[116]Inserted: ,
[117]Inserted: ;
[118]Deleted:,
[119]Deleted:the
[120]Inserted: that
[121]Inserted: ,
[122]Inserted: ,
[123]Inserted: ,
[124]Deleted:The most
[125]Inserted: An
[126]Deleted:ab
[127]Deleted:ut
[128]Inserted: f
[129]Inserted: the
[130]Inserted: ,
[131]Deleted:s
[132]Inserted: c
[133]Deleted:S
[134]Inserted: The s
[135]Inserted: k
[136]Deleted:s
[137]Deleted:V
[138]Inserted: The v
[139]Inserted: ,
[140]Inserted: the
[141]Inserted: ,
[142]Inserted: ,
[143]Inserted: a
[144]Deleted:n
[145]Inserted: ,
[146]Inserted: t
[147]Deleted:from
[148]Inserted: -
[149]Inserted: a
[150]Inserted: a
[151]Inserted: by
[152]Inserted: ,
[153]Deleted: and
[154]Inserted: ,
[155]Deleted:s
[156]Deleted:to
[157]Deleted: the
[158]Inserted: ,
[159]Deleted:n
[160]Inserted: r
[161]Inserted: f
[162]Inserted: i
[163]Deleted:o
[164]Inserted: s
[165]Inserted: ,
[166]Inserted: ,
[167]Inserted: ed
[168]Inserted: ,
[169]Inserted: ,
[170]Deleted:P
[171]Inserted: The p
[172]Deleted:the
[173]Inserted: ,
[174]Deleted:S
[175]Inserted: The s
[176]Inserted: ,
[177]Inserted: ,
[178]Deleted:,
[179]Deleted:about
[180]Inserted: ;
[181]Deleted:C
[182]Inserted: ,
[183]Inserted: A c
[184]Inserted: ,
[185]Inserted: ,
[186]Inserted: ,
[187]Inserted: ,
[188]Inserted: a
[189]Inserted: ,
[190]Inserted: ,
[191]Deleted:an
[192]Inserted: ould
[193]Inserted: ,
[194]Inserted: ,
[195]Inserted: ,
[196]Inserted: ,
[197]Deleted:s
[198]Inserted: ve
[199]Deleted:O
[200]Deleted:interpreting and executing any outcome will be easy.
[201]Inserted: Interpreting and executing any outcome will be easy o
[202]Inserted: ,
[203]Inserted: The
[204]Deleted:s
[205]Inserted: ,
[206]Inserted: ,
[207]Deleted:are
[208]Inserted: is
[209]Inserted: ,
[210]Inserted: ,
[211]Inserted: ,
[212]Inserted: ,
[213]Inserted: ,
[214]Deleted:o
[215]Inserted: o
[216]Inserted: ,
[217]Deleted:s
[218]Deleted:r
[219]Inserted: t
[220]Inserted: The f
[221]Deleted:F
[222]Deleted:like
[223]Inserted: as
[224]Deleted:n
[225]Inserted: ,
[226]Inserted: th
[227]Inserted: w
[228]Inserted: a
[229]Inserted: ,
[230]Inserted: s
[231]Inserted: also
[232]Inserted: ,
[233]Deleted:lso
[234]Inserted: s
[235]Inserted: ,
[236]Inserted: ,
[237]Inserted: ,
[238]Deleted:-
[239]Inserted: ,
[240]Inserted: a
[241]Deleted:about
[242]Deleted:http
[243]Inserted: ,
[244]Inserted: HTTP
[245]Inserted: a
[246]Inserted: a
[247]Inserted: ,
[248]Deleted: also
[249]Inserted: also
[250]Inserted: ,
[251]Deleted:f
[252]Inserted: F
[253]Inserted: the
[254]Inserted: ,
[255]Inserted: A f
[256]Deleted:F
[257]Deleted:,
[258]Inserted: ,
[259]Inserted: ,
[260]Deleted:i
[261]Inserted: I
[262]Inserted: ,
[263]Inserted: ,
[264]Inserted: in
[265]Inserted: ,
[266]Inserted: ,
[267]Inserted: ,
[268]Inserted: ,
[269]Inserted: ,
[270]Deleted:,
[271]Inserted: ,
[272]Inserted: a
[273]Inserted: ,
[274]Inserted: ,
[275]Inserted: ,
[276]Inserted: ,
[277]Inserted: ,
[278]Deleted: a
[279]Inserted: a
[280]Inserted: ,
[281]Inserted: a
[282]Inserted: ,
[283]Inserted: ,
[284]Deleted:about
[285]Inserted: for hacking
[286]Deleted:for hacking
[287]Deleted: a
[288]Inserted: and
[289]Inserted: ,
[290]Deleted:really

You might also like