Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
3 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
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 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
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