0% found this document useful (0 votes)
21 views7 pages

Ex - No:6 (A) Write A Code Simulating Arp Protocols-P.Ganesan - 9034

Network

Uploaded by

wexof69617
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views7 pages

Ex - No:6 (A) Write A Code Simulating Arp Protocols-P.Ganesan - 9034

Network

Uploaded by

wexof69617
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

EX.NO:6(a) WRITE A CODE SIMULATING ARP PROTOCOLS-P.

GANESAN -9034

CLIENT ARP PROGRAM:


import java.io.*;
import java.net.*;
import java.util.*;
class Clientarp {
public static void main(String args[]) {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
Socket clsct = new Socket("127.0.0.1", 1100);
DataInputStream din = new DataInputStream(clsct.getInputStream());
DataOutputStream dout = new DataOutputStream(clsct.getOutputStream());

System.out.println("Enter the Logical address (IP):");


String str1 = in.readLine();

dout.writeUTF(str1);
String str = din.readUTF();
System.out.println("The Physical Address is: " + str);
clsct.close();
} catch (Exception e) {
System.out.println("Error: " + e);
}
}
}
SERVER ARP PROGRAM:

import java.io.*;

import java.net.*;

class Serverarp {

public static void main(String args[]) {

try (ServerSocket serverSocket = new ServerSocket(1100)) {

System.out.println("Server is listening on port 1100");

while (true) {

try (Socket clientSocket = serverSocket.accept();

DataInputStream din = new DataInputStream(clientSocket.getInputStream());

DataOutputStream dout = new DataOutputStream(clientSocket.getOutputStream())) {

String str = din.readUTF();

String[] ip = {"165.165.80.80", "165.165.79.1"};

String[] mac = {"6A:08:AA:C2", "8A:BC:E3:FA"};

boolean found = false;

for (int i = 0; i < ip.length; i++) {

if (str.equals(ip[i])) {

dout.writeUTF(mac[i]); // Use writeUTF to send the response

found = true;

break;

if (!found) {

dout.writeUTF("MAC address not found for the given IP.");

} catch (IOException e) {

System.out.println("Client connection error: " + e);


}

} catch (IOException e) {

System.out.println("Server error: " + e);

OUTPUT:
EX.NO:6(b) WRITE A CODE SIMULATING RARP PROTOCOLS-C.BHUVANESWARI-9035
CLIENT RARP PROGRAM:
import java.io.*;
import java.net.*;

public class clientrarp {


public static void main(String args[]) {
try {
DatagramSocket client = new DatagramSocket();
InetAddress addr = InetAddress.getByName("127.0.0.1");
byte[] sendByte = new byte[1024];
byte[] receiveByte = new byte[1024];

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));


System.out.println("Enter the Physical Address: ");
String str = in.readLine();
sendByte = str.getBytes();

DatagramPacket sender = new DatagramPacket(sendByte, sendByte.length, addr, 1309);


client.send(sender);

DatagramPacket receiver = new DatagramPacket(receiveByte, receiveByte.length);


client.receive(receiver);

String s = new String(receiver.getData(), 0, receiver.getLength());


System.out.println("The Logical Address is: " + s.trim());
client.close();
} catch (Exception e) {
System.out.println("Error: " + e);
}
}
}
SERVER RARP PROGRAM:
import java.io.*;
import java.net.*;

public class serverrarp {


public static void main(String args[]) {
try {
DatagramSocket server = new DatagramSocket(1309);
System.out.println("Server is running and waiting for requests...");

while (true) {
byte[] sendByte = new byte[1024];
byte[] receiveByte = new byte[1024];

DatagramPacket receiver = new DatagramPacket(receiveByte, receiveByte.length);


server.receive(receiver);

String str = new String(receiver.getData(), 0, receiver.getLength());


String s = str.trim();
InetAddress addr = receiver.getAddress();
int port = receiver.getPort();
String[] ip = {"10.0.3.186"};
String[] mac = {"D4:3D:7E:12:A3:D9"};

boolean found = false;


for (int i = 0; i < mac.length; i++) {
if (s.equals(mac[i])) {
sendByte = ip[i].getBytes();
DatagramPacket sender = new DatagramPacket(sendByte, sendByte.length, addr,
port);
server.send(sender);
found = true;
break;
}
}
if (!found) {
String notFoundMessage = "MAC address not found.";
sendByte = notFoundMessage.getBytes();
DatagramPacket sender = new DatagramPacket(sendByte, sendByte.length, addr, port);
server.send(sender);
}
}
} catch (Exception e) {
System.out.println("Error: " + e);
}
}
}
OUTPUT:

You might also like