Saturday, 28 September 2019

Assignment : 3

SPPU CN-Practicals (TE-Comp)



Write a program in Java/Python to demonstrate sub netting and find the sub net masks.

We will require to classes 
1 . subnet
2 . subnetmask

Following are the JAVA codes for above two classes

1 . subnet class

import java.util.Scanner; import java.net.InetAddress; class subnet {
public static void main(String args[]) { Scanner sc= new Scanner(System.in); System.out.print("Enter the ip address="); String ip=sc.nextLine(); //----Split the Ip Address------- String split_ip[] = ip.split("\\."); //----- Converting the Ip Address to binary---- String split_bip[]= new String[4]; String bip = ""; for(int i=0;i<4;i++) { split_bip[i]=appendZeroes(Integer.toBinaryString(Integer.parseInt(split_ip[i]))); bip+=split_bip[i]; } System.out.println("The binary IpAddress is="+bip); //----- Finding the Subent mask----- System.out.println("Enter the number of address"); int n=sc.nextInt(); int bits=(int)Math.ceil(Math.log(n)/Math.log(2)); System.out.println("The number of bits required="+bits); int mask=32-bits; int total_address=(int)Math.pow(2,bits); System.out.println("Subnet mask is "+mask); //---- Finding the first and last address---- //---- First address Calculation-------- int fbip[]=new int[32]; for(int i=0;i<32;i++) { //Convert to the character 1,0 to integer 1,0 fbip[i]=(int)bip.charAt(i)-48; } for(int i=31;i>31-bits;i--) { //Get first address by anding the last bits with 0 fbip[i] &=0; } String fip[]={"","","",""}; for(int i=0;i<32;i++) { fip[i/8]=new String(fip[i/8]+fbip[i]); } int first_offset=0; int ipAddr[]=new int[4]; ; System.out.println("Group 1 \nThe First Address is:"); for(int i=0;i<4;i++) { System.out.print(ipAddr[i]=first_offset=Integer.parseInt(fip[i],2)); if(i!=3) System.out.print("."); } System.out.println(); //--- Last address Calculation---- int lbip[]=new int [32]; for(int i=0;i<32;i++) { // Convert the character 1,0 to integer 1,0 lbip[i]=(int)bip.charAt(i)-48; } for(int i=31;i>31-bits;i--) { // Get last address by oring with last bits with 1 lbip[i]|= 1; } String lip[]={"","","",""}; for(int i=0;i<32;i++) { lip[i/8]=new String(lip[i/8]+lbip[i]); } int ipLast[]=new int[4]; System.out.println("The Last Address is:"); for(int i=0;i<4;i++) { System.out.print(ipLast[i]=Integer.parseInt(lip[i],2)); if(i!=3) System.out.print("."); } System.out.println(); System.out.println("How many subnets do you want to form?"); int scount=sc.nextInt(); for(int j=1;j<scount;j++) { System.out.println(" GROUP "+ (j+1)+" FIRST ADDRESS:"); for(int i=0;i<4;i++) { if(i<3) { System.out.print(ipAddr[i]+"."); } else System.out.println(ipAddr[i]=ipAddr[i]+total_address); } System.out.println(" GROUP "+ (j+1)+" LAST ADDRESS:"); for(int i=0;i<4;i++) { if(i<3) { System.out.print(ipLast[i]+"."); } else System.out.println(ipLast[i]=ipLast[i]+total_address); } System.out.println(); } try { System.out.println("Enter the Ip address to ping="); Scanner s=new Scanner(System.in); String ip_add=s.nextLine(); InetAddress inet = InetAddress.getByName(ip_add); if(inet.isReachable(5000)) { System.out.println("The ip address is reachable"+ip_add); } else { System.out.println("The ip address is not reachable"+ip_add); } } catch( Exception e) { System.out.println("Exception:"+e.getMessage()); } } static String appendZeroes(String s) { String temp= new String("00000000"); return temp.substring(s.length())+ s; } }




////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


2 . subnetmask


import java.util.Scanner; public class subnetmask { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String ip = new String(); int mask=0,defaultmask=0; System.out.println("enter ip address"); ip = scan.nextLine(); System.out.println("enter mask"); mask = scan.nextInt(); String[] splitip = ip.split("\\."); System.out.println(splitip[0]+" "+splitip[1]+" "+splitip[2]+" "+splitip[3]+" "); int first = Integer.parseInt(splitip[0]); if(first>=0&&first<=127){ System.out.println("CLASS A"); defaultmask = 8; } else if(first>127&&first<=191){ System.out.println("CLASS B"); defaultmask=16; } else if(first>191&&first<=223){ System.out.println("CLASS C"); defaultmask=24; } else if(first>223){ System.out.println("CLASS D"); defaultmask=32; } String binip = new String(); String defmask = new String(); for(int i=0;i<4;i++){ binip = binip + appendZeroes(Integer.toBinaryString(Integer.parseInt(splitip[i]))); } System.out.println("IP in binary : "+binip); System.out.println("Default Mask : "+defaultmask); for(int i=0;i<32;i++){ if(i<mask){ defmask = defmask + "1"; } else{ defmask = defmask + "0"; } } System.out.println(defmask); String netid = new String(); for(int i=0;i<32;i++){ netid = netid + (Integer.parseInt(""+binip.charAt(i))&Integer.parseInt(""+defmask.charAt(i))); } int p=-1; System.out.println(netid); String[] net = new String[4]; String[] def = new String[4]; for(int i=0;i<32;i++){ if(i%8==0){ p++; net[p] = ""; def[p]=""; net[p] = net[p] + netid.charAt(i); def[p] = def[p] + defmask.charAt(i); } else{ net[p] = net[p] + netid.charAt(i); def[p] = def[p] + defmask.charAt(i); } } System.out.println("Given IP : "+ip); System.out.print("subnet mask :"); for(int i=0;i<4;i++){ System.out.print(Integer.parseInt(def[i],2)); if(i!=3) System.out.print("."); } System.out.println(); System.out.print("NetId : "); for(int i=0;i<4;i++){ System.out.print(Integer.parseInt(net[i],2)); if(i!=3) System.out.print("."); } } private static String appendZeroes(String binaryString) { // TODO Auto-generated method stub /*if(binaryString.length()<8){ for(int i=0;i<8-binaryString.length();i++){ binaryString = "0" + binaryString; } }*/ String temp = new String("00000000"); return temp.substring(binaryString.length())+ binaryString; } }


No comments:

Post a Comment

What Does Your Personality Say About the Type of Job You Should Have?

 Take the below Quiz which predicts right job for you !! Click on Start Button๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡ What Does Your Personality Say About the Type of Job Yo...