Lec 37 Logical Instructions (Arif Butt @ PUCIT)

A recap of x86-64 register set and the programming toolchain. Summary of major categories of x86-64 instructions. A practical demo on the use of and, or, not, xor, and test instructions. A discussion on how the flags are affected after these logical instructions.

Email: arif@pucit.edu.pk

Web: https://www.arifbutt.me/

Sample Codes/Resources: https://bitbucket.org/arifpucit/coal-repo/src/

Lec 38 Bit Shifting Instructions (Arif Butt @ PUCIT)

A recap of x86-64 register set and the programming toolchain. Summary of major categories of x86-64 instructions. A practical demo on the use of and, or, not, xor, and test instructions. A discussion on how the flags are affected after these logical instructions.

Email: arif@pucit.edu.pk

Web: https://www.arifbutt.me/

Sample Codes/Resources: https://bitbucket.org/arifpucit/coal-repo/src/

Lec 39 Control Instructions – I (Arif Butt @ PUCIT)

A discussion on control of the flow of execution of a program and how to change it. Description of unconditional jump instruction with a demonstration of example programs. Discussion on signed and unsigned conditional jump instructions with a demonstration of sample x86-64 assembly programs. Translating C/C++ if…else code to x86 assembly code.

Email: arif@pucit.edu.pk

Web: https://www.arifbutt.me/

Sample Codes/Resources: https://bitbucket.org/arifpucit/coal-repo/src/

Lec 40 Control Instructions – II (Arif Butt @ PUCIT)

 

A Recap of the previous session. Translating high-level repetition structure (for, while, ….) to its corresponding x86 assembly code using conditional jump instructions as well as using x86 loop instructions.

Email: arif@pucit.edu.pk

Web: https://www.arifbutt.me/

Sample Codes/Resources: https://bitbucket.org/arifpucit/coal-repo/src/

Lec01 Overview of TCP IP (Arif Butt @ PUCIT)


This is the first session on the course “Inter-networking with Linux”. This session gives an overview of the TCP/IP stack, the working of different layers and the addresses used on each. This session gives specific emphasis on the Internet Layer addresses, the class-full addresses, and the classless internet domain routing. It also describes the importance of private addresses and briefly touches upon the concepts of sub-netting and super-netting. The concepts used in this session are very important for all the upcoming lectures…

Lec02 Static TCPIP Configurations (Arif Butt @ PUCIT)


This session will cover setting up of the lab environment for the rest of the sessions, using three machines. One running Ubuntu server, and other two running Kali Linux and Windows XP. It will cover making a network of these machines by assigning them TCP/IP parameters statically using shell commands temporarily and then by writing these TCP/IP parameters in the configuration files. Finally will ping these files using ip addresses and names to confirm connectivity.

Lec03 DHCP Server (Arif Butt @ PUCIT)


This session is a continuation of previous session of setting up the Lab environment. It will cover understanding and configuring the DHCP server on a home router. It will also cover as how to install, configure and use DHCP server on Ubuntu Server machine, and using the system daemon to manage various services. The underlying details of how a DHCP server actually works are also covered.

Lec04 Telnet Server Arif Butt @ PUCIT


This session covers installing, configuring and using telnet server (on a Ubuntu Server machine). It is also shown as how we can run telnet service under xinetd (extended internet daemon). The telnet server is accessed using telnet client running on a Linux client as well as a Windows client. It also covers how telnet communication is unsecure and proves this using wireshark (a packet sniffer that capture NW packets in real time and display them in human readable format).

Lec05 Hands on Cryptography – Part I (Arif Butt @ PUCIT)


This session deals with some important cryptographic terms that are required to fully understand some of our future sessions that cover cryptographic network protocols like ssh, ftps and https. The major terms discussed are encoding, hashing and symmetric encryption. The famous Linux tool openssl is used for calculating different hashes. Two uses of hashing are also discussed, i.e., storing passwords and ensuring data integrity. Finally, a practical hands-on example is used to understand symmetric encryption on a Linux terminal.