Professional Documents
Culture Documents
Exp# 5C ARP Client/Server: CS2307 - Network Lab Socket Programming
Exp# 5C ARP Client/Server: CS2307 - Network Lab Socket Programming
Exp# 5C ARP Client/Server: CS2307 - Network Lab Socket Programming
Exp# 5C
Socket Programming
ARP Client/Server
Aim
To know the physical address of a host when its logical address is known using ARP
protocol.
Algorithm
Target/Server
1.
2.
3.
4.
5.
6.
Client
1.
2.
3.
4.
5.
6.
Create a socket.
Send IP address to the target machine
Receive target's response
If it is a MAC address then display it and go to step 6
Display "Host not found"
Stop
Result
Thus using ARP protoocl MAC address is obtained.
http://cseannauniv.blogspot.com
Vijai Anand
Socket Programming
Program
//ARP Server -- arpserver.java
import java.io.*;
import java.net.*;
class arpserver
{
public static void main(String args[])throws IOException
{
try
{
ServerSocket soc = new ServerSocket(2500);
System.out.println("Server started");
Socket client = null;
client = soc.accept();
String str;
PrintStream ps = new
PrintStream(client.getOutputStream());
BufferedReader br = new BufferedReader(new
InputStreamReader(client.getInputStream()));
Runtime r = Runtime.getRuntime();
Process p = r.exec("ifconfig eth0");
BufferedReader pin=new BufferedReader(new
InputStreamReader(p.getInputStream()));
String haddr = "";
String ipaddr = br.readLine();
int flag = 0;
while((str = pin.readLine())!=null)
{
System.out.println(str);
if((str.indexOf("HWaddr")) != -1)
{
int tlen = str.length();
int hlen = tlen - 19;
haddr = str.substring(hlen,tlen);
}
else if ((str.indexOf(ipaddr)) != -1)
{
flag = 1;
}
}
if (flag == 1)
ps.println(haddr);
ps.close();
br.close();
pin.close();
client.close();
http://cseannauniv.blogspot.com
Vijai Anand
Socket Programming
soc.close();
}
catch(IOException io)
{
System.err.println("Exception : " + io.toString());
}
}
}
http://cseannauniv.blogspot.com
Vijai Anand
Socket Programming
Output
Server
$ javac arpserver.java
$ java arpserver
Server started
eth0
Client
$ javac arpclient.java
$ java arpclient
Enter the IP address : 172.16.6.21
Physical Address B8:AC:6F:1B:AB:06
http://cseannauniv.blogspot.com
Vijai Anand