0% found this document useful (0 votes)
7 views

Program

The document contains multiple Java programs demonstrating various networking concepts, including file downloading, client-server communication, DNS resolution, and ARP requests. Each program is accompanied by its output, showcasing how data is transmitted and received over sockets and datagrams. Additionally, there is a Python program for packet capturing using Scapy.

Uploaded by

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

Program

The document contains multiple Java programs demonstrating various networking concepts, including file downloading, client-server communication, DNS resolution, and ARP requests. Each program is accompanied by its output, showcasing how data is transmitted and received over sockets and datagrams. Additionally, there is a Python program for packet capturing using Scapy.

Uploaded by

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

PROGRAM :

import java.io.*;

import java.net.URL;

public class Download {

public static void main(String[] args) throws Exception {

try {

String fileName = "digital_image_processing.jpg";

String website = "http://tutorialspoint.com/java_dip/images/" +


fileName;

System.out.println("Downloading File From: " + website);

URL url = new URL(website);

InputStream inputStream = url.openStream();

OutputStream outputStream = new FileOutputStream(fileName);

byte[] buffer = new byte[2048];

int length;

while ((length = inputStream.read(buffer)) != -1) {

System.out.println("Buffer Read of length: " + length);

outputStream.write(buffer, 0, length);

inputStream.close();

outputStream.close();

} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());

}}}

OUTPUT :

D:\XEON\Lab>javac Download.java

D:\XEON\Lab>java Download

Downloading File From:


http://tutorialspoint.com/java_dip/images/digital_image_processing.jpg

Buffer Read of length: 2048

Buffer Read of length: 2048

Buffer Read of length: 2048

Buffer Read of length: 2048

Buffer Read of length: 2048

Buffer Read of length: 1097

Buffer Read of length: 2048

Buffer Read of length: 2047

Buffer Read of length: 2048

The downloaded file (Stored in the current working directory)


Program :

Server.java

import java.io.*;

import java.net.*;

public class Server {

public static final int PORT = 4000;

public static void main(String[] args) {

ServerSocket sersock = null;

Socket sock = null;

try {

sersock = new ServerSocket(PORT);

System.out.println("Server Started: " + sersock);

while (true) {

sock = sersock.accept();

System.out.println("Client Connected: " + sock);

DataInputStream ins = new


DataInputStream(sock.getInputStream());

System.out.println(ins.readLine());

PrintStream ios = new PrintStream(sock.getOutputStream());

ios.println("Hello from server");

ios.close();
sock.close();

} catch (SocketException se) {

System.out.println("Server Socket problem: " + se.getMessage());

} catch (Exception e) {

System.out.println("Couldn't start: " + e.getMessage());

} finally {

try {

if (sersock != null) {

sersock.close();

} catch (IOException ie) {

System.out.println("Close Error: " + ie.getMessage());

Client.java

import java.io.*;

import java.net.*;

class Client {
public static void main(String[] args) {

Socket sock = null;

DataInputStream dis = null;

PrintStream ps = null;

System.out.println("Trying to connect...");

try {

sock = new Socket(InetAddress.getLocalHost(), Server.PORT);

ps = new PrintStream(sock.getOutputStream());

ps.println("Hi from client");

DataInputStream is = new
DataInputStream(sock.getInputStream());

System.out.println(is.readLine());

} catch (SocketException e) {

System.out.println("SocketException: " + e);

} catch (IOException e) {

System.out.println("IOException: " + e);

} finally {

try {

if (sock != null) {

sock.close();

} catch (IOException e) {
System.out.println("Close Error: " + e.getMessage());

OUTPUT :

In server window:

D:\XEON\Lab>javac Server.java

D:\XEON\Lab>java Server

Server Started
:ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=4000

] Client Connected
:Socket[addr=/192.168.1.18,port=1815,localport=4000]

Hi from client

Connection from : /192.168.1.18

In client window:

D:\XEON\Lab>javac client.java

D:\XEON\Lab>java client

Trying to connect

Hello from server


PROGRAM :

tcpchatserver.java

import java.io.*;

import java.net.*;

class tcpchatserver {

public static void main(String args[]) throws Exception {

PrintWriter toClient;

BufferedReader fromUser, fromClient;

try {

ServerSocket Srv = new ServerSocket(4000);

System.out.print("\nServer started\n");

Socket Clt = Srv.accept();

System.out.println("Client connected");

toClient = new PrintWriter(new BufferedWriter(new


OutputStreamWriter(Clt.getOutputStream())), true);

fromClient = new BufferedReader(new


InputStreamReader(Clt.getInputStream()));

fromUser = new BufferedReader(new


InputStreamReader(System.in));

String CltMsg, SrvMsg;

while (true) {

CltMsg = fromClient.readLine();

if (CltMsg.equals("end"))
break;

else {

System.out.println("Server: " + CltMsg);

System.out.print("Message to Client: ");

SrvMsg = fromUser.readLine();

toClient.println(SrvMsg);

System.out.println("\nClient Disconnected");

fromClient.close();

toClient.close();

fromUser.close();

Clt.close();

Srv.close();

} catch (Exception E) {

System.out.println(E.getMessage());

tcpchatclient.java

import java.io.*;

import java.net.*;
class tcpchatclient {

public static void main(String args[]) throws Exception {

Socket Clt;

PrintWriter toServer;

BufferedReader fromUser, fromServer;

try {

Clt = new Socket(InetAddress.getLocalHost(), 4000);

toServer = new PrintWriter(new BufferedWriter(new


OutputStreamWriter(Clt.getOutputStream())), true);

fromServer = new BufferedReader(new


InputStreamReader(Clt.getInputStream()));

fromUser = new BufferedReader(new


InputStreamReader(System.in));

String CltMsg, SrvMsg;

System.out.println("Type \"end\" to Quit");

while (true) {

System.out.print("Message to Server: ");

CltMsg = fromUser.readLine();

toServer.println(CltMsg);

if (CltMsg.equals("end"))

break;

SrvMsg = fromServer.readLine();
System.out.println("Client: " + SrvMsg);

Clt.close();

} catch (Exception E) {

System.out.println(E.getMessage());

OUTPUT :

In server window:

D:\XEON\Lab>javac tcpchatserver.java

D:\XEON\Lab>java tcpchatserver

Server started

Client connected

Server : hai

Message to Client : hello

Client Disconnected

In client window:

D:\XEON\Lab>javac tcpchatclient.java

D:\XEON\Lab>java

tcpchatclient Type "end" to Quit


Message to Server : hai

Client : hello

Message to Server : end


PROGRAM :

dnsclient.java

import java.io.*;

import java.net.*;

public class dnsclient {

public static void main(String args[]) throws IOException {

BufferedReader br = new BufferedReader(new


InputStreamReader(System.in));

DatagramSocket clientsocket = new DatagramSocket();

InetAddress ipaddress;

if (args.length == 0)

ipaddress = InetAddress.getLocalHost();

else

ipaddress = InetAddress.getByName(args[0]);

byte[] senddata;

byte[] receivedata = new byte[1024];

int portaddr = 8080;

System.out.print("Enter the hostname: ");

String sentence = br.readLine();

senddata = sentence.getBytes();

DatagramPacket pack = new DatagramPacket(senddata,


senddata.length, ipaddress, portaddr);

clientsocket.send(pack);
DatagramPacket recvpack = new DatagramPacket(receivedata,
receivedata.length);

clientsocket.receive(recvpack);

String modified = new String(recvpack.getData(), 0,


recvpack.getLength());

System.out.println("IP Address: " + modified);

clientsocket.close();

dnsserver.java

import java.io.*;

import java.net.*;

public class dnsserver {

private static int indexOf(String[] array, String str) {

str = str.trim();

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

if (array[i].equals(str))

return i;

return -1;

}
public static void main(String arg[]) throws IOException {

String[] hosts = {"yahoo.com", "gmail.com", "cricinfo.com",


"facebook.com"};

String[] ip = {"68.180.206.184", "209.85.148.19", "80.168.92.140",


"69.63.189.16"};

System.out.println("Press Ctrl + C to Quit");

DatagramSocket serversocket = new DatagramSocket(8080);

while (true) {

byte[] receivedata = new byte[1024];

DatagramPacket recvpack = new DatagramPacket(receivedata,


receivedata.length);

serversocket.receive(recvpack);

String sen = new String(recvpack.getData(), 0,


recvpack.getLength());

InetAddress ipaddress = recvpack.getAddress();

int port = recvpack.getPort();

String capsent;

System.out.println("Request for host: " + sen);

if (indexOf(hosts, sen) != -1)

capsent = ip[indexOf(hosts, sen)];

else

capsent = "Host Not Found";


byte[] senddata = capsent.getBytes();

DatagramPacket pack = new DatagramPacket(senddata,


senddata.length, ipaddress, port);

serversocket.send(pack);

OUTPUT :

In server window

D:\XEON\Lab>javac dnsserver.java

D:\XEON\Lab>java dnsserver

Press Ctrl + C to Quit

Request for host yahoo.com

In client window

D:\XEON\Lab>javac dnsclient.java

D:\XEON\Lab>java dnsclient

Enter the hostname : yahoo.com

IP Address: 68.180.206.184
PROGRAM :

import sys

from scapy.all import *

# Define the packet capturing function

def packet_handler(packet):

print(packet.show())

# Capture packets on the network interface

sniff(iface='eth0', prn=packet_handler)

OUTPUT :

###[ Ethernet ]###


dst = 00:11:22:33:44:55
src = 66:77:88:99:00:11
type = IPv4 ###[ IP ]###
version = 4
ihl = 5
tos = 0x0
len = 1500
id = 52786
flags = DF
frag = 0 ttl = 128
proto= tcp chksum= 0xe877
src = 192.168.1.10
dst = 216.58.194.78
\options \ ###[ TCP ]###
sport = 54321
dport= http
seq = 3665840854
ack = 2542707921
dataofs = 5
reserved = 0
flags = FA
window= 8760
chksum= 0x9d6c
urgptr= 0
options = [('MSS', 1460), ('SAckOK', ''), ('Timestamp', (12576855,
2413)), ('NOP', None), ('WScale', 7)] ###[ Raw ]###
load = ''
PROGRAM :

Clientarp.java

import java.io.*;

import java.net.*;

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", 139);

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.writeBytes(str1 + '\n');

String str = din.readLine();

System.out.println("The Physical Address is: " + str);

clsct.close();

} catch (Exception e) {

System.out.println(e);

}
}

Serverarp.java

import java.io.*;

import java.net.*;

class Serverarp {

public static void main(String args[]) {

try {

ServerSocket obj = new ServerSocket(139);

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

while (true) {

Socket obj1 = obj.accept();

DataInputStream din = new


DataInputStream(obj1.getInputStream());

DataOutputStream dout = new


DataOutputStream(obj1.getOutputStream());

String str = din.readLine();

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.writeBytes(mac[i] + '\n');
found = true;

break;

if (!found) {

dout.writeBytes("IP Not Found\n");

obj1.close(); // Close the client socket after response

} catch (Exception e) {

System.out.println(e);

Output :

D:\XEON\Lab>java Serverarp

D:\XEON\Lab>java Clientarp

Enter the Logical address (IP) : 165.165.80.80

The Physical Address is : 6A:08: AA: C2


PROGRAM :

Clientrarp.java

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;

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());


System.out.println("The Logical Address is: " + s.trim());

client.close();

} catch (Exception e) {

System.out.println(e);

Serverrarp.java

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 on port 1309...");

while (true) {

byte[] receiveByte = new byte[1204];

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[] ip = {"10.0.3.186"};

String[] mac = {"D4:3D:7E:12:A3:D9"};

boolean found = false;

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

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

byte[] 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";

byte[] sendByte = notFoundMessage.getBytes();

DatagramPacket sender = new DatagramPacket(sendByte,


sendByte.length, addr, port);

server.send(sender);

} catch (Exception e) {
System.out.println(e);

You might also like