 Okay, there we go Hello everyone I'm good to see you guys here for attending my sessions of Linux essentials and networking stuffs So it is going to start with a brief introduction about me what I am where I'm from what actually I do So I'm a Gotham Wurma doing software developer from Indore, India Currently I'm appointed as a mentor at Google Summer of Code under Liquid Galaxy organizations and Apart from this I'm doing a WinkStuff at ETH India fellowships That's for my past experience if we take a look into that I am a two-time contributor at Google Summer of Code Again under the Liquid Galaxy organizations and in parallel I also did an internship under the support of Bitcoin under the Eclure organizations and I have built somewhat around the monitoring tools for Ethereum node that this does Stop related to a monitoring and visualize the time-series metrics and with the help of Grafana and Prometheus Apart from this and developing stuffs. I have a bit experience of writing a technical content Like under the Geeks for Geeks organizations or company. I have like written up certain amount of articles that are related to tech terms like working Programming languages and stuff around this So at at at like at last I have a pretty good experience of working in tech industries around two to three years of experience like experience and And yeah, let's see what we are going to discuss in the sessions and How how we will gain the knowledge about the networking essentials and in the Linux. So let's get starts master in Linux essentials. So like Networking is a stuff which is we want to have in our system when we need to communicate with our network or another device Networking is essential if we want to perform a wireless connections over Over the sharing of data and stuff related to that Not just a but but the thing is that working is not limited to wireless connections We also need a networking stuff when we perform the networking via cables via modems via hub Like networking is essential if we wants to connect with the word Right, if we want to connect with any other computer, we need that working if you if you want to send our data to Our other stumps we need networking. So networking is essentials for for like in this world And in the session, we will see how we can perform the networking in Linux and what are their basics concepts of the networking's and and like we will also see some critical services that is that's comes under the networking and And after this we will see how it's like how we can manage that working stuff in Linux And at the end we will see some general problem that generally occurs when we perform on it for the stuff and Linux so let's start So like before getting deep dive into our managing of networking It is it is what if we have a brief introduction about like what networking is or like like like what is IP address What is subnet type? What is DNS? What is DHCV? This is somewhat a service related to our networking So if we will first take a look into the services and then like we will move further on first We will clear up with the fundamentals and then we will take a look deep dive into our next next store So the first time they can So IP address is nothing but a unique numerical identifier that is assigned to an every device Connected to one network and that uses the internet protocol for communication, right? And the thing is IP address enables device to communicate with each other and to access the resources on hope like over the internet and and then IP address consists of Six as you can see that and this we have Notations for IPv6 Like which is the four so there's six versions of internet protocols If we talk about the IPv4 like version four addresses and this is these are basically a 32-bit number and Represented as a four decimal numbers are predicted by DOS as we can see this in this example and for the IP address IPv6 addresses there is that like Numbers are are like usually represented in hexadecimal notations and we can see the examples here We have a like two example that completed completely represent IPv4 and IPv6 and so that's all about the IP address we are Like mainly use these two types of IP addresses that is IPv4 and IPv6 We have discussed this form and like we have discussed the format of IPv4 and IPv6 So in IPv4 we are limited to like around 3.5 billion addresses But in IPv6 we have a huge huge like huge Range or limit of IP addresses. So we came up with the solution of IPv6 and At the end I will say that IP address is nothing but an internet protocol that help our device or note to identify their Identity uniquely over the internet or a network For the basic communications between them. So this is all about IP addresses. Let's get Let's get into more about the subnetting So here subnetting is a process of dividing a large network Into a smaller subnet or we can see that subnets this is typically done to to like improve the networking efficiency and like allowing the security by better control over the network traffic and Like it is also used to minimizing the impact of network failures or attacks because Because the main main big networks are divided into a subnetworks In the example you can see that we have the home network that has an IP address Which is range of 192.168.0.1 to 192.168.0.254 right with the subnet mask of 255.255.255.0 This means that the first three octet of IP address that is 192.168.0 represent the network portions by the last octet is represent the host portion that is 1 2 to 54 and And the thing is subnettings allows us to like further devise a network into a smaller subnets by the sending the subnet mask and In this example, we can see that we devise our home network into a four subnet mask by dividing the range of host portion as you can see that here in the example we clearly divided from 1 to 62 and 65 to 126.63 host 63 and 62 host So that this is all about a subnetting. Subnetting is one of the major like fundamentals of networking because we usually Needs to devise like divide our big network into a subpartus by handling with the big network and it also minimized the issue of getting attacked by any Needs equal to creatures. So it is good to know the what is actually subnetting is So let's move ahead with some network interfaces so Network interfaces is an hardware or a software component that That that enables a computer or user or another device to connect to a network It is as the name suggested that it provides the interface between the computer operating systems and physical network connection and a network interface can be a physical component like Network interface card or like any wireless adapters and it can be a virtual component also such as a software divine network interfaces that we usually see in the Docker type things and If we talk about the physical network interfaces are basically installed inside of a computer and or or a device and Connected a network wire ethernet cable so this is a physical And we say the physical network interfaces While on the other hand we see the types of network interfaces that connect the wirelessly We can say that virtual network interfaces or or or like created by a software and Are used to connect virtual machines to a network this in like the thing is this in like interfaces are created and managed by the hyper visual and Which is the software layer that enables multiple virtual machines to run a single physical machines If you like you know about the hyper vision if you know a bit about how virtual machines actually works and How how how they perform the communication between each of them. So hyper vision is set between the between like act as an as an communication manager and Yeah, this is all about network interfaces Like nowadays we have literally wide varieties of interfaces and we can't even take a look all of them so here you can see some pictures of Basic network interfaces like Ethernet Wi-Fi Bluetooth and Docker and the Docker we like the dockers is like most of us are usually used to docker for Managing or like deploying our applications So we we know about how how networking interfaces are actually quite in Docker and that's for Wi-Fi and we are using it from from our channels So we know that how our Wi-Fi provides our our facility to to like interact with another networks and Yeah, this is all about the network interfaces So the thing is now I want to see the available network X network interfaces and Linux So how we can see that so far like for for like Seeing the available networking interfaces in the next we have a wide variety of tools available in the market or Or like also it it came in to be installed by default But one of them is called a fan CLI and I'm CLI stands is a Like a command line duty or stands for the network management on like It it it helped us to manage the network interfaces in a efficient manner Like in this snapshot We can see that we are using the command and I'm CLI device status that have a various columns like device Which types of network interfaces it is it is connected disconnected or unmanaged states We also have connections at the end and it it likes we have the computer couples or the correlations between between like in the case like in the table and we can easily see what it is about The network interfaces in the like with the help of this command all you need is to run and I'm CLI device status You will get information about it As you can see that I am using the ENP zero S3, which is a type of Ethernet and it is a kind it isn't like wireless acquired elections so somebody like you will get information about this and Yeah, that's all about the network interfaces Now like we have the brief introduction about network fundamentals like what is subnetting what as IP address? What is network interfaces? So, yeah, like the thing is we are a bit familiar about what the Basics fundamentals of networking. So now let's take a look into a critical services that is provided Like we usually use in the networking and and we usually use in any in Linux also Okay So DHCP DHCP is nothing but a dynamic host configuration protocol And it stands for the as I said that it's it's called like like a dynamic host It is a network protocol that is used to automatically assign IP addresses and other network is Other network citizen settings to the device on our networks The thing is when a device is connected to a network that uses that DHCP It sends a request for an IP address and other network set is it that is the settings Like some like this is a simple thing whenever we our device is connected to a network that That uses the DHCP protocol It sends out and a request for assigning the IP address and the network settings than a DHCP server network That responds to this request by assigning available IP address and the other network settings to a device This this works simple as it is edit as it seems our our device make a request for for Assigning an IP address settings and IP address to a DHCP server and DHCP server will respond to this request by assigning available IP available IP address from a shared pool and other network settings to the devices The DHCP server You like uses the pool of available IP address and another settings and which can like which it can assign to devices as they connected to it Don't in that works as as I said this This enables a device to automatically configure with So like the user not need to perform any Configuration they just need to connect a device that device will make a request to DHCP server And the HCP server will respond to a device with the assigned IP address and like and that IP address will be available and With the other network settings like some like some like math and Okay, so now the thing is What if I wants to see the light working on DHCP in the next? We haven't various tools for foreseeing the life working of DHCP in Linux, but majorly we have Like we like we usually use the two tools that is one is wire shark and another is to see we don't Wire shark isn't like opens a software that enables a user to capture the packets over the internet This this tools can easily help you do modify like to capture the DHCP protocol like DHCP protocol DHCP protocol DHCP protocol packets and we can easily make us some filter over it and then easily see the packets on the dashboard of wire shark and another another method of like seeing the DHCP protocol is We use the TCP dump command if CP dump month is also command line utility that Widely used for capturing the packets that is moving over the networks all you need to just think like I did like All you need to just type the interfaces that as you can see that in this command We are running this command as a pseudo privilege as soon as you can be done That's like an eye. I've got eyes next for the interface that is ETS zero and the port number Here I'm using a port number 67 and 68 because the ACP uses this protocol like this ports for communications and for sending the packets and this and like this the ACP uses this 67 and 68 port number for for the packet conversion for packet communications So this is all about the ACP now Let's see how the ACP actually work like how they science request how the ACP Responds to that request and then finally assigned the data settings to it So yeah, like in this in this picture, you can see that in the left side We have the Linux client on the right side. We have the DHCP server and the firstly when like whenever our client is connected to the network they They they they broadcast the DHCP discovered message and the DHCP finally Receive it and then DHCP server sends the DHCP offer Broadcast message again to DHCP client and and again the HP if it be request that they can I mean our next slide But it would make a DHCP request to a DHCP server and then finally So I assigned the IP address along with some reference settings and at the end we have that knowledge Acknowledge the message from the DHCP server So, yeah, that's this is all about the communications between DHCP clients Next slide. So, yeah Another critical service DNS Most of us we already know about DNS because it is the most popular Popular like services that we used and in our daily life while we use of email While we use web browser while you visit sites and I think so, let's understand what this DNS is So DNS stands for the domain and systems. It is a system that translates the human domains like www.example.com or like www.world.com into the IP address that machines can understand That is we discussed that IP address that we discussed in our previous slide. That is somewhat looks like 192.168.29.146.880 so this is What the machine understand? Machine doesn't understand what is the domain machine don't understand what is www.example.com The only thing machine understand is the IP address and that may be an IPv4 and IPv6. It doesn't matter And the thing is the DNS system is a distributed database that is managed by a global network of a DHCP server Like whenever the user enters a domain into a web browser or another application the DNS system search for corresponding IP address and the return its address to the user device and The process of resolving a domain names to an IP address involves several steps as at first the user sends user device sends DNS query to a local DNS server and if DNS server has a requested information in its cache then it will definitely return the IP address to the user device. If the information is available in the cache, they will respond to the user request immediately But the thing is what if the information is not available in the cache If information is not available in that local DNS server cache, it forwards the request to an upstream DNS server Now the process continue until the information is found and returned to the user device And the DNS is used in the wide range of applications including email web browsing online gaming local server for file transfer without DNS user would need to remember the IP address of all websites And it is literally next to impossible for us for understanding or like for reviving the IP address of all the machines And it will literally create problem for us. So DNS is the most widely a service we usually use in web activities and email in web browser and And let's see how the working of DNS with the help of this example As you can see that in this this browser suppose amra, I want to visit www.example.com and wants to get my information about the file I will first make a request with a DNS server and suppose that the DNS server have the corresponding IP address for www.example.com in its cache It will immediately return the IP address for it as you can see that here we have 12.45.56.67 That is the IP address over with the example.com server response. So when we visit this IP address the web server respond us with the help with this Data or our information So this is all about the DNS working. I hope like you are like you guys are getting a Pretty good information about DNS working in DHCP working network interfaces and Some water stuff related to our network research later on we will see the How minus the network settings. I think that we have the brief introduction about networking What networking is what like what we usually do in networking? This is just a smaller or like a small parts of networking all the networking is literally big The more we get into it the more we will discover it Yeah, this this is all about the networking networking. This is so big We can't cover all this all the networking stuff in the one sessions We need a lot of station for covering Covering the all the networking stops. So let's see how to manage the networking settings Yeah, so in this in this like like from like from this slides from this current slide We will see the limits commands only for managing the networking stops and We will see some command lines too Or that we usually need to use while managing the networking services in limits and Yeah, that starts so if conflict This is the most used Command I have ever used when when searching for the IP address of my systems or any Or any network interfaces that that is connected to my systems So as you can see that I have one pick high point A This is the commands look simple and return a simply all interfaces that is currently available over our systems And it returns information about whether it is down or up All we need to just use a high point a flag like this Like this flag And with the help of ip config we can perform several tasks also like to activating or deactivating the network interfaces And we can also assign IP address like a particular IP address to interfaces by running this command As as in the second command you can see that I am assigning This 190 like 195.157.54.6 IP address to ptl 0 Interface with the subnet which is like the net mask of 255.255.255.0 So when the other this command I will like I will be able to assign this IP address to the particular network interfaces And for the rest of two commands And one is for the activations and one is for the Deactivation or extra to known on network interfaces And we can like all we need to do is like sudo. I can't pick up The interface name it may be etn0. It may be some more Docker and any other Network interfaces that's not a matter And for deactivating we just need to do a vice versa. We didn't up We like we did also the if config down etn0 So yeah, this like here in the screen we have examples how if config command looks or like render the information about the network interfaces as you can see that We have here like information like this up We have The broadcast that is running multi-casting But the like iNet number is ipv4 now IP address and this is ipv version 6 IP address This is the broadcast IP address And this is the name of network interfaces So this is this is the information that is actually written by the iNet config command And with the help of this we can we can identify the types of network interfaces that is connected to our lennet systems Yeah So yeah, here we have the another tool that is eth2 it is also Also another command line utility Which which which is used to like manage the internet Like network interfaces over the Or we just we have here we can see that there are three We take different ways of using this command first commands are like eth2 interfaces, which like which which like just out all the informations about the interfaces like what is the Interface name what is the status is like is it up or down The speed of internet connections The duplex mode with half power flex full group duplex and other supportive features So This like this up to command you can see that one is for the speed and another is for duplex With the help of this we can we can like we can set the duplex mode Whether we want to work full duplex half of blacks or as Like with the help of this tool we can also set the speed for an effort interface So I guess this is a pretty like pretty good tools we can use for For like setting up the levels stuffs around the networking So let's see the example, okay, and this example you can see that i'm getting the information about uh Interfaces that is sample in p0 s3. So as you can see that we this is uh Like auto negation is yes is like this is the speed is thousand mps But not actually a thousand mps because actually this is too much like as this I connected a wire This is showing just because of this because this is a wire network But if I take a look over the wire that it will be it means or like a town Because it is actually impossible as you can see that the port is to set the pair cable and uh And yeah, this like you will get this this was some kind of information about Uh about the network interfaces And it's like in this we can also see that the duplex mode is full Okay, so here we have uh the another command line tool that is root So root is a limits command line utility That allows us to view or modify the network routing routing table So routing table is nothing but a table which is used uh by the operating system to determine in The path that network packets take to reach the destination Suppose, uh, there is a sender a and there is a sender receiver b So if sender space and some message or packets to receive a b Then routing table will contain the information about the path or the way that uh, uh The packets that they uh, let's take from uh sender a to receiver b On or in between a route that is taken by a packet to reach the destination So routing table contain the information about uh about the route that uh that like that like that is taken by the Packet and based on the description of ip address and available network interfaces So let's see how actually a routing table or route commands use and looks likes Yeah and like here you can see that how the routing tables looks likes and And how about the how we root the like how we use the root command with the help of root command We can also define uh, like we can also define a route for traveling the packets We can like we can define it we can define it manually also So in the first uh command or first screen shot, you can see that we are simply seeing the Routing table and in this we have the various columns including the destination the gateway gen marks Black metrics reference use and ii ii ii is nothing but a network interface so like with the like the Like one of the important things I personally think about the route table is that it provides a entry or exit point Of networks, right? So with the if if suppose if our systems get in trouble and if attacker attacks our node Over the internet networks or over the networks and and we want to see the entry and exit point of Of attacker so with the help of routing table We can easily see the entry and exit point and and and like and with the help of pseudo privilege We can delete the entry and exit point of Of attacker so this like performance activity will prevent our node from being attacked by any attacker so in this in like in the below command you can see that I have added the uh IP address and in the path that is that means to be taken for Duri's the destinations and And the like in the above command I have run the pseudo with the pseudo privilege which command add And then if we take a look at the route route table you can see that we have added here routing And like similarly and with the first of add we can also delete the table All we need to just mention the like pseudo a root delete then the information about the Uh The root or or like way we want to delete And then again this snapshot you can see that we don't have any entry of 192.168.1 So yeah, this is how routing table work So the main aim of showing this Routy route or routing command line utility is you this you to provide how we can how we can see the Root path or that is taken by our our package to the destination. This is the one thing But with the help of routing table we can perform or like resolve lots of problems Suppose if our sender sends the message but but receiver is not able to receive it So we can use the routing table to identify what path it actually takes to these destinations and Is there any problem in in like in in in that particular way or Or the way or or the path they have taken so with the help of root command we can easily see that And also Prevent us from any attacker because with the help of this root command we can see the entry and exit root of the attacker So let's move forward and see our troubleshooting the network issues we we usually encounter when performing a network email and Linux Let's develop Pose your phone that's an error. We are troubling finding that state Most of us encounter with this information that we are not able to find the information This may occur because of server not found. So what is down or server is not able to respond to a request or like many other many other problems So, yeah, pink Pink is a so much cool command. I have ever seen So pink is the command that is used to identify that there is in communication is up between between the between two Forced or like between sender or receiver or not. Suppose the Google who will example. Let's take an example world if Let's understand the pink example for them with Very low level Suppose my internet connection is cut And I'm trying to reach the world.com by a web browser But the thing I encountered is Google is not able to provide you service Like the server is unavailable as you can see that in this previous setup So now let's open a command line to and just type pink world.com This command will set me a request or like the like pink Pink the world.com and check whether the Google server is responding to its request or not If the request is not responding it will say that sex server out of Like temporary fairy it name is always like world.com is not able to convert this into an IP address because because of unable to Like we don't have a network access as we have studied the information about the DNS So this problem occurs because of DNS Like our our world.com is not able to get the IP address of it. It's like where it is running So this problem occurs But when we connect our system with the internet and then again run the pink world.com command We can see that we are receiving some packets from Google That is 64 by 64 by 64 by it means that our system is able to communicate with Google and getting the response from the Google server or like they are having like we are receiving the package from the Google Now we can if we again really run Or like to revisit the website which we want to visit or we will be able to visit So pink command is can be used to identify the problem that is like If the communication is up between the between the receiver or sender or a host or Or or are like a like host or a user as in this case we are the user and Google is host So we check like we simply run the pink or like ping over.com Come on to check whether we are getting the response from the Google or not the another command that is dick dick stands for domain information Grover so dick command is like used to get an information about the particular uh particular domain or particular particular like the particular domain or or a particular server It's perform a dns lockup and this is the answer that is deleted from the purely server name right and Like it is a part of dns it is packet that is installed installed with a point in server And it is usually installed by default And this information returns information about the server as you can see that we we bind it We bind the google.com with the 8.8.8 IP address And here we can see that we have found the one server. There is a global option cmd and And the server name is this It is n here is the IP address that like over with google.com is available And Yeah, we can use the dick command to get information about about the domain or server we want to get So this is also a command we can use to find the general information about the systems or sorry That domain name that is google.com In our case Yeah, okay, so as we move forward In our sessions we have some No command that is based on command So as a means of this place routes a command in linux is actually prints the prints the route that the packet is taken to reach the host, right? As as we see in the routing table, we have information about the path that is taken by a System to read destinations, but in this we specify the destination as you can see that in our example we have like I've mentioned that there is root google.com And And and like the commands Command and like cmd command will do is print the route that packets takes to reach the host This is like a command which is useful when like when you want to know the root about When you want to information about the route and about the hopes that the package takes and in the We can detect how the root command is used to reach the Google.com which is like which is present over the IP address of 142.251.42.46 Yes, you can see that in the second line and Like from the local machines and it also reads about all the details about the hopes that we visited in bitwell in between to reach these destinations And as you can see that in the first in the first column corresponding to hope hope counts The the second column represent the address of that hopes and after that you can see that three space separated times in the milliseconds and And the trace routes command sends three packets to the hope and each of times referred to the time taken by the packets to reach the hopes So, yeah, this is all about the trace route. We can use this command to to like to to check the What uh, root Takes to reach the destinations or google.com Yeah Let's move forward with tcp thumb command and we have the end of this session So as you can see that in earlier in the dhcp Like while we are talking about the dhcp We get to encounter about a tcp dumps command which is used to capture the packet that is moving around the Of like which is moving around the network over some addresses along with the port number so this Uh tcp dump command is used to capture the packet that is running over particular address particular port particular Uh particular Interfaces like in this that like in the snapshot again Like you can see that we are we are capturing the packets that is all the packet It is available over the e and p zero s three network interfaces and you can see that we have Like this command render the information about Um on the packet that is moving over this Interfaces this pack this like this commands is usually used when we want to check whether the center center sends the message Or not or like whether whether like whether like the receiver received the packets on the different or like Or listening to our wrong port like with the help of this tcp dump one we can check Like over which port Center sends the the message and over which ports receiver receive the message If centers are sending the message to a wrong port or not But the help of this command we can check it we can check it we can easily check it with the help of this commands so Yeah At the end of this is all about my presentations We are encounter with also information in the sessions and and get a brief info about How we perform the networking in the linux and we also get to know about the critical service that is provided when Provided in linux like dncp dnx server and we have also taken a look at At subnetting we we have taken a look at dns. We have taken a look at ip addressing We also have taken a look at network interfaces and we are also encounter with some of great commands like the root trace root if config tcp dump And etc, etc I hope you guys like my sessions and we are like I hope you guys like my sessions and we And we discuss agree a really great stuff around the networking if you guys having any any like queries or any Any feedback like any valuable feedback for me just reach out to be in the state But your code is available on your screen You can just need to scan it with your phone and just get like problem message or LinkedIn or send a request We will get together if The time suits for me. Yeah, this that's all about me. I hope you like my sessions. Thank you so much. Thank you