Skip to main content

Commands used in Dockefile - Part4

  Docker is an opensource tool used for virtualization and deliver software in the form of packages called Containers. It is one of the most important tools used in networking domain.  Dockerfile  is a template for building the image which contains commands needed to package the software. In this post, I am going to explain the commands ADD & COPY used in  Dockerfile .   ADD Command:   ADD command is used to copy files, directories or files from remote URLS to destination path in the image. The source paths can contain wildcards.   If the destination has relative path, it is relative to the Working directory of the image. Note that source path is always relative to the Docker build context.   ADD command will not support authentication. So, if there are any protected files to be added in  Dockerfile  building, use other tools like curl or  wget   Dockerfile  copying Single & Multiple files, directory using ADD inst...

Network Automation - Validation of IPV4 Address

In this post, I am going to teach you on how to validate the IPV4 address which is from “Practical Network Automation book”. There are two ways
  1. Building own logic
  2. Using the Library
Building own Logic:
First, let us see the validation of the IPV4 address using own logic. Generally, we know that IPV4 has four octets separated by dots. That means the IPV4 address has 3 dots and four octets separated by these dots and they are in the range of 0-255. So, we have to validate these two conditions in order to validate IPV4 address. Below is the script for this functionality.

def ip_validate(ip_address):
    #Check for the presence of four octets
    if(ip_addr.count(".") != 3):
        return False
    octets = ip_addr.split(".")
    #Check the range of each octet in the given input
    for each_octet in octets:
        try:
            if(int(each_octet) < 0 or int(each_octet) > 255):
                return False
        except:
            return False
    return True

#Take IP Address and pass it to function to validate
ip_addr = input("Enter an IP Address: ").strip() #Eliminate Extra spaces
ip_addr_flag = ip_validate(ip_addr)
#Based on the valiadation result from Validation function, Print message
if(ip_addr_flag):
    print("Correct IP Address")
else:
    print("IncorrectIP Address")
 Using the Socket Library:
There is an inbuilt socket library that can be used to validate the IPV4 address. If the IPV4 address is valid, it can be converted successfully using the inet_aton function of the socket library. Otherwise, it throws an exception stating that the IPV4 address is not valid. Below is the script for this functionality.

import socket
#Take IP Address and pass it to function to validate
ip_addr = input("Enter an IP Address: ").strip() #Eliminate Extra spaces
try:
    #Convert Dotted decimal representation to Binary format
    ip_addr_con = socket.inet_aton(ip_addr)
    print("IP Address is Valid")
except socket.error:
    print("Invalid IP Address")

Comments

Popular posts from this blog

Notes on IPv4, IPv6 and MAC representations

  In companies related to networking domain, “ Explain IPv4, IPv6 and MAC ” is one of the common questions asked in technical interview. This post provides overview of these concepts. IP: IP is the protocol used in Networking layer. It is responsible for the delivering packets from source to destination based on the identifier known as IP address of the device. There are two popular ways of representing the devices in the network. They are: IPv4  (Internet  Protocol version 4) IPv6 (Internet Protocol version6) IPv4:   This version of IP uses 32-bit addresses to identify the device on the network.  Therefore,  the total number of addresses possible with IPv4 is 2 32 . These  32-bit  addresses are divided into 4 octets (batch of 8 bits) with each octet represented in decimal numbers and octets are separated by dot. In IPv4 the loopback address of a device is  127.0.0.1 . IPv4 supports unicasting, broadcasting and multicasting. To map IPv4 addre...

Types of Tunnels in Computer Networking

Tunneling is a mechanism or protocol to ensure secure transmission of data between two networks. Through tunneling, private networks can communicate or send information to  a  public network like the Internet using the process of encapsulation. Even though they are private data packets, they appear as public packets and tunneling helps these packets to be unnoticed to  a  public network. Tunneling is also  known  a s   Port Forwarding .   Types of Tunnels:   There are several types of tunnels. Some of them are explained in this article.    Microsoft VPN (PPTP)   CIPE VPN   Open VPN   SSL / TLS VPN   GRE tunnel   IPsec tunnel   Before going deep into these tunnels, let us understand the VPN and it s  purpose.   Virtual Private  Network  ( VPN):   VPN is the technology in  the  networking industry which is based on the tunneling c...

Introduction to Docker and Containers - Overview, Installation, Image and Container creation

Docker is an open source software used to develop and deliver the software in  the  form of packages known as Containers. Software used for hosting containers is known as Docker Engine. Docker is written in the Go programming language. Containers are isolated from each other. Each container has its own libraries, configuration files and there are mechanisms through containers  to  communicate with each other. These containers are created from images which can be modified or customized based on the need. All the containers share the host operating system and hence these are light-weight. An Image from which containers are created is nothing but a package of code, libraries, environment variables and configuration files. For knowing differences between docker containers and virtual machines, click  here . Here we learn how to install  D ocker, build an image, create containers using  the  image, clearing and viewing containers i...