Clientrarp.
java:
import java.io.*;
import java.net.*;
public class Clientrarp {
public sta c 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 (MAC):");
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());
System.out.println("The Logical Address is (IP): " + s.trim());
client.close();
} catch (Excep on e) {
System.out.println(e);
}
}
}
Serverrarp.java:
import java.io.*;
import java.net.*;
public class Serverrarp {
public sta c void main(String args[]) {
try {
DatagramSocket server = new DatagramSocket(1309);
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()).trim();
InetAddress addr = receiver.getAddress();
int port = receiver.getPort();
String mac[] = {"6A:08:AA:C2", "8A:BC:E3:FA"};
String ip[] = {"165.165.80.80", "165.165.79.1"};
for (int i = 0; i < mac.length; i++) {
if (str.equals(mac[i])) {
sendbyte = ip[i].getBytes();
DatagramPacket sender = new DatagramPacket(sendbyte, sendbyte.length, addr, port);
server.send(sender);
break;
}
}
break;
}
server.close();
} catch (Excep on e) {
System.out.println(e);
}
}
}