Lec10 Overview Of World Wide Web (Arif Butt @ PUCIT)


This session is an overview of the working of the world wide web, , a repository of web pages distributed all over the world on different devices. It starts with a brief description, differences and uses of three types of web documents (static, dynamic and active). Then Hyper Text Transfer Protocol is discussed in detail which is said to be the vehicle used to carry these web pages from one machine to other. The session also talk about the overall architecture, using which most web applications are build, particularly specifying different available web servers, web clients, server side and the client side programming languages. Finally the Linux tool curl(1) is used to dig out details of the contents of HTTP request and response messages.

Lec11 Apache Web Server HTTP (Arif Butt @ PUCIT)


This session is a continuation of previous session, in which we talked about overview of WWW as well as HTTP. This session will start with the concept of web hosting. We will install and configure Apache web server on Ubuntu Server machine, create static web pages and access them using a browser from our client Kali machine. We will then install php on Ubuntu server machine and create a simple dynamic web page and access it using a browser from our client Kali machine. The concept of shared hosting is also discussed and implemented using Linux a2ensite(1) and a2dissite(1) commands. Finally, the security flaw in http is discussed and practically shown using wireshark.

Lec12 Apache Web Server HTTPS (Arif Butt @ PUCIT)


This session is a continuation of previous session, in which at the end we talked about the security flaw in HTTP, while using Apache web server. In this session, we are going to extend HTTP to HTTPS i.e., HTTP over SSL/TLS to achieve data confidentiality (using encryption), data integrity (using hashing and digital signatures) and client/server authentication (using digital certificates). This is implemented using Linux a2enmod and a2dismod commands to enable ssl module in apache web server.

Lec13 MySQL Server (Arif Butt @ PUCIT)


This session deals with installation, configuration and usage of MySQL server on a Ubuntu Server machine and MySQL client on a Kali Linux machine. First of all, a bit of user management is done, i.e., creating, deleting users and granting/revoking privileges to them. Then a remote login is made from client machine Kali to perform various database management operations including creating, modifying and deleting databases and tables. Different constraints like not null, unique, primary key, foreign key, default, check and index are discussed. Scripts are used to run various SQL statements. Finally, different queries are run on a database to make the students understand the concepts of different SQL operators, functions, joins, sub-queries, views, transactions, triggers and events.

Lec14 Designing and Deploying Web App using LAMP (Arif Butt @ PUCIT)


This session is the concluding session of previous four sessions. It covers the installation and configuration of all the required software packages for LAMP architecture. A web application is developed using MySQL to create a database and PHP is used as a server side language to access/update the records in that database. A user accesses the web app to display records from the database as well as update the records using procedural API of MYSQLi. Finally different form validation techniques are discussed. (www.arifbutt.me)

Lec15 NFS Server (Arif Butt @ PUCIT)


This session deals with installing, configuring and using UNIX Network File Server. A shared directory hierarchy is created on Ubuntu Server machine which is accessed from client machines running Kali Linux and Windows10. Concept of mounting a file system is discussed using mount

Lec16 NTP Server (Arif Butt @ PUCIT)


This session gives an overview of how time is managed on Linux systems. It differentiates between the hardware timer and kernel Timer. It then discusses about installing and configuring your own time server on Ubuntu server machine. The client machines which are a Linux Kali and a Windows10 machine then synchronises their clocks with the NTP server running on Ubuntu Server machine.

Lec17 Overview of Domain Name Server (Arif Butt @ PUCIT)


This session deals with Internet Domain Name System, a hierarchical decentralised naming service that runs on thousands of computers all around the globe and is responsible for mapping hostnames with their IP addresses and vice versa. All the related concepts and important related terms are described to make the stage right for the next session that will deal with installing ,configuring, and using BIND as a private network DNS server.

Lec18 Installing, Configuring & Using BIND as Private NW DNS Server (Arif Butt @ PUCIT)


This is a continuation of the previous session of Overview of DNS. In this session we will install, configure and use BIND as a private network DNS server(ns1.arif.edu.pk). The three client machines are Kali Linux, Windows10 and Winxp. The main configuration file of DNS named.conf is discussed to add trusted access control list of clients and to mention about recursive or iterative DNS queries. Forward and reverse zone files are created with quite a discussion of different types of DNS resource records. Finally the client side configurations are done on both Linux and Windows machines.