0% found this document useful (0 votes)
66 views95 pages

VPN Vimal

This document is a major project report submitted to fulfill the requirements for a Bachelor of Computer Application degree. It describes a project to develop a virtual private network using Java. The project was submitted by Vimal Kumar to their project guide, Punit Kumar Sharma. It includes an acknowledgement, certificate, index, and introduction discussing the evolution of VPN technology and key aspects of implementing a secure VPN such as data authentication, integrity, accountability, and confidentiality.

Uploaded by

Shivraj Cyber
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)
66 views95 pages

VPN Vimal

This document is a major project report submitted to fulfill the requirements for a Bachelor of Computer Application degree. It describes a project to develop a virtual private network using Java. The project was submitted by Vimal Kumar to their project guide, Punit Kumar Sharma. It includes an acknowledgement, certificate, index, and introduction discussing the evolution of VPN technology and key aspects of implementing a secure VPN such as data authentication, integrity, accountability, and confidentiality.

Uploaded by

Shivraj Cyber
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/ 95

A MAJOR PROJECT REPORT

ON
“VIRTUAL PRIVATE NETWORK BY JAVA”
SUBMITTED IN THE PARTIAL FULFILLMENT OF THE REQUIREMENTS

FOR THE AWARD OF THE DEGREE

OF

BACHELOR OF COMPUTER APPLICATION

CHAUDHARY CHARAN SINGH UNIVERSITY, MEERUT

Session (2018-2021)

SUBMITTED TO SUBMITTED BY

Mr. PUNIT KUMAR SHARMA VIMAL KUMAR


Assistant Professor 180942106180
FIT, MEERUT BCA V SEM

1
A MAJOR PROJECT REPORT
ON
“VIRTUAL PRIVATE NETWORK BY JAVA”

SUBMITTED IN THE PARTIAL FULFILLMENT OF THE

REQUIREMENTS

FOR THE AWARD OF THE DEGREE

OF

BACHELOR OF COMPUTER APPLICATION

CHAUDHARY CHARAN SINGH UNIVERSITY, MEERUT

Session (2018-2021)

SUBMITTED TO SUBMITTED BY

Mr. PUNIT KUMAR SHARMA VIMAL KUMAR


Assistant Professor 180942106180
FIT, MEERUT BCA V SEM

1
ACKNOWLEDGEMENT
The satisfaction that accompanies successful completion of any work would be incomplete

without the mention of the people who made it possible.

Primarily, I would like to thank my faculty members for giving me the opportunity to fulfill

my aspiration. With deep sense and regards, I am obliged to Mr. PUNIT KUMAR

SHARMA , Project Guide and project coordinator, as he had a direct influence, some way, in

my motivation and gratefulness for being part of the responsible project guide of the institute.

I am very thankful to him for his valuable guidance and remarkable patience in guiding my

work to its fulfillment.

I wish to thank my parents for their constant encouragement which is like snow, so after

when it falls and longer when it falls and longer when it dwells upon, the deeper it sinks in

mind.

I will be failing in my mission if I do not thank other people who directly or indirectly helped

me in the successful completion of this project.

So, my heart full thanks to all friends maiSnly who supported and encouraged me in

preparing this project report as best as possible.

VIMAL
BCA VITH SEM
ROLL NO. 180942106180

2
CERTIFICATE

This is to be certify that this Project Report entitled “VIRTUAL PRIVATE NETWORK”

which is submitted by VIMAL KUMAR (180942106180), in the partial fulfillment, for the

award of degree of Bachelor of Computer Application in Department of Computer

Application, of FORTE INSTITUTE OF TECHNOLOGY, Meerut, affiliated to

CHAUDHARY CHARAN SINGH UNIVERSITY, MEERUT (U.P.); is carried out by

him/her under my supervision.

The matter embodied in this Project Work has not been submitted earlier for award of any

degree or diploma in any university/institution to the best of our knowledge and belief.

(Mr. Punit Kumar Sharma) (Mr. Rajiv Kumar) (Mrs. Shweta Batra)
Project Guide Head of the Department Director

Date: __/__/____

3
INDEX
S.NO CHAPTER PAGE

1. INTRODUCTION………………………… 5-8

2. PROJECT FORMULATION…………….... 9-12

3. REQUIREMENT ANALYSIS……………… 14

4. SYSTEM ANALYSIS………………………. 15-18

4. SOFTWARE DESCRIPTION………………. 19-38

5. SYSTEM DESIGN AND DEVEOPLMENT.. 39-45

6. SYSTEM TESTING………………………. 46-48

7. CODING…………………………………... 49-85

8. SCREEN SHOTS…………………………. 86-91

9. CONCLUSION…………………………… 92-93

10. REFRENCES……………………………... 94

4
Introduction

5
Virtual Private Network (VPN)

The “Virtual Private Network (VPN)” has emerged as one of the leading technologies

at present and has attracted the attention of many organizations looking to both expand their

networking capabilities and reduce their costs.

This paper deals with the upcoming technology, VPN - Virtual Private Network

which has proved itself to be lot reliable in transferring data between remote places via a

secured network thus paving way for Data Security

The VPN has the ability of providing connection between the user (client) & the

server of the organization not within the workplace itself but from home too with the data

being transferred & received in a highly secured way. For example Telecommuters and those

who travel often might find VPNs to be a more convenient way to stay "plugged in" to the

corporate Intranet.

This paper deals with the ideas of implementing a VPN connection featuring the

general working of the whole process, protocols involved, basic concepts of VPN,

establishing the tunneling mechanism, the methods of data encryption and decryption along

with the discussion on enhancement models.

This project throws light on the concept behind in establishing the VPN connection

taking into consideration the Key Aspects of VPN namely,

 Data Authentication

 Data Integrity

 Data Accountability and

 Data Confidentiality

Each stage explains of the ways in which these get invoked. Hitherto the Architecture

of the same along with its types has been discussed. The role of the various Protocols namely

6
PPTP, L2TP and IPSEC are clearly explained citing a “Transport Mode” configuration of

IPSEC on a Windows 2000 server. We have also discussed the configuration of Routers

giving a sample program for the same.

A VPN supports at least three different modes of use:

 Remote access client connections

 LAN-to-LAN internetworking

 Controlled access within an Intranet

We have also discussed about providing Certification, Authentication. A certificate

authority (CA) is a third-party organization that verifies the information or identity of

computers on a network, and issues digital certificates of authenticity.

Digital certificates are used in a network security system to guarantee that the two

parties exchanging information are really who they claim to be. A certificate authority keeps

a complete list of all certificates it has ever issued and information on their status: valid,

expired, or revoked.

Evolution of vpn :

Previously people found it very difficulty to transfer information from one place to

another namely in the case of a WAN where there was every single possibility of the data

being hacked midway between the two terminals. Further this security measure involved a

great deal of money if we were to use a long distance leased line , both these factors standing

as major barriers to data transfer in WAN.

Alternatively the VPN came into existence making use of the concept of using a

public network say for example the ISDN invoking some new technology and by providing

greater security. The factors by which VPN provides low cost are

 By eliminating the need for expensive long-distance leased lines. With VPNs

the organization needs only a relatively short dedicated connection to the

7
service provider. This could be a local broadband connection such as DSL

service.

 Another way VPN reduce costs is by lessening the need for long-distance

telephone charges for remote access. Recall that to provide remote access

service, VPN clients need only call into the nearest service provider’s access

point. In some case this may require a long distance call, but in many cases a

local call will suffice.

A more subtle way that VPNs may lower costs is through offloading of the support

burden. With VPNs, the service provider rather than the organization must support dial-up

access for example. Service providers can in theory charge much less for their support than it

costs a company internally because the public provider’s cost is shared amongst potentially

thousands of customers.

8
1.2 Project formulation

1.2.1 Objective of the project:

The “Virtual Private Network (VPN)” has emerged as one of the leading technologies

at present and has attracted the attention of many organizations looking to both expand their

networking capabilities and reduce their costs.

The VPN has the ability of providing connection between the user (client) & the

server of the organization not within the workplace itself but even from home too with the

data being transferred & received in a highly secured way. For example Telecommuters and

those who travel often might find VPNs to be a more convenient way to stay "plugged in" to

the corporate Intranet.

This paper deals with the ideas of implementing a VPN connection featuring the

general working of the whole process, protocols involved, basic concepts of VPN,

establishing the tunneling mechanism, the methods of data encryption and decryption along

with the discussion on enhancement models citing block diagrams and flow charts at apt

places.

1.2.2 Key aspects - VPN:

The construction & successful execution of VPN involves certain key points that have

got to be remembered throughout the process. These stand as pillars to make the VPN the

“Technology most wanted” at present. They include Data Integrity: 1. the condition existing

when data is unchanged from its source and has not been accidentally or maliciously

modified, altered, or destroyed. 2. The condition in which data are identically maintained

during any operation, such as transfer, storage, and retrieval. 3. The preservation of data for

their intended use. 4. Relative to specified operations, the a priori expectation of data quality.

9
 Data Authentication: A process used to verify data integrity, e.g., verification that

data received are identical to data sent, or verification that a program is not infected by a

virus.

 Data Confidentiality: is a set of services used to protect data against unauthorized

disclosure. It comprises the content confidentiality and message flow confidentiality

services.

Content confidentiality prevents the disclosure of the plain text content of a

message to any party other than the intended recipient(s). It is provided on a per-message

basis using an asymmetric or symmetric encryption technique. The encrypted content is

unintelligible to any MTA handling the message.

If the originator chooses an asymmetric algorithm, the recipient's public key is used to

encrypt the message content. The recipient uses its private key to decrypt the content. If an

asymmetric encryption algorithm is used, the message can only be addressed to a single

recipient (i.e., the recipient whose private key is paired with the public key used to perform

the encryption).

If the originator chooses a symmetric algorithm, delivery to multiple recipients is

possible. The originator encrypts the content using a symmetric encryption key. This key may

be distributed to each message recipient by placing the key in the encrypted-data of the

message token for that recipient. The key may also be distributed by some other means (e.g.,

by prior agreement).

The message originator can encrypt the content using any symmetric or asymmetric

algorithm understood by both the originator and the recipient. All information relevant to the

10
algorithm, such as the algorithm's object identifier and any input parameters, can be conveyed

in the message envelope or the signed-data of the message token.

Message flow confidentiality allows the message originator to conceal the flow of a

message through the MHS, protecting against information that may be derived from its

observation. This service counters the threats of traffic analysis and loss of anonymity of the

communicating parties. It is provided by a technique called double enveloping.

 Data Accountability: 1. The property that ensures that the actions of an

individual or an institution may be traced uniquely to that individual or institution. 2.

In information systems (IS), the process of tracing IS activities to a responsible

source. 3. In communication security, the principle that an individual is entrusted to

safeguard and control equipment, keying material, and information and is answerable

to proper authority for the loss or misuse of that equipment or information.

1.2.3 MODULAR DESCRIPTION

The Centralised Management System consists of a login screen and 3 modules

There are basically 3 modules

 Administration module

 Marketing module

 Training module

Administration module exists for

 Office details

 Staff details

Office details

 Enquiry

11
 Student Registration

 Course and Fees Details

 Salary details

Staff Details

 Staff attendance

Marketing module exists for

 Adding Clients

 Client list

 Placement details

Training Details exists for

 Course details

 Project training

Course Details consists of

 J2EE Training

 Call center Training

 Software Testing

 Networking

Project Training consists of :- List of projects

12
PROJECT

DEVELOPMENT

13
2.1. Requirement analysis

2.1.1. Software specification

Operating System : windows’2k

Front end : java servlet, html 4.0, Apache Tomcat server

Back end : Ms Access

Server : Java Web Server 2.0

2.1.2. Hardware specification

CPU type : Pentium iii

Memory : 128 MB RAM

Hard disk : 20 GB hdd

Key board : 110 keys

2.1.3. Drive summary

14
Floppy Drive : 1.44 MB fdd

CDROM : 52 X

Monitor : 15”color monitor

2.2 System analysis

2.2.1 Feasibility study

The main objective of the feasibility study is to test the technical and

economic feasibility of developing a computer system. The proposed system must be

evaluated from a technical, social and economic feasibility of developing a computer system.

The proposed system must be evaluated from a technical viewpoint. Then they must be tested

for economic feasibility.

2.2.1.1 Assessing technical feasibility

The technical feasibility of the project is assessed as the server is solely

responsible for the client privileges. Also the clients receives their status in the organization.

Any client in the network can access the server but only the users in the server maintenance.

2.2.1.2 Assessing social feasibility

Certificate are transferred confidentially through the IP Tunnel. If the user is

certified he can access the modules other than that is forbidden to him.Cost minimization and

effictive dataflow rate than exsisting system make this system more efficient.

15
2.2.2 Existing system

The management reports of the company that are highly confidential have to

be transmitted from branch office to head Office. This can be done by

 The Leased line Connection.

This type of connection is highly secure. The data transferred can be of large

quantity. It is also reliable as the connection established is for that particular organization and

hence most suitable but considering the cost involved is so high that the need for alter nature

is a must.

 Dialup connection

In this case, there must be a connection, established every time it is required

by the organization. Hence even though it is cost effective . There is no assurance that a

connection is established when required and the amount of data that can transferred is less

switch on router user mode prompt.

 Frame Relay

In this case the bandwidth is divided among the mutually agreed organizations

by using statistical division multiplexing. The cost involved is less. But the bandwidth

divided among the organizations is not effectively used.

 Electronic Mail

In this case the company has to relay on the internet for the data transfer. The

information on the internet can be easily hacked by hackers and hence the information should

be transferred in a secure channel and also keep the cost in mind.

16
2.2.3 Proposed System

The need of using a VPN is to provide the service of internet in a highly secure way.

This process a router, ATM switch and internet to connect too or more LAN or WAN

network lopologies located at various sites.

In order to establish this we have built our own software. This software is

divided into two the Server side or the Head Office program and the Client side or the Branch

Office program. The Client comprises of the “Data Collecting Forms” and the Server side

comprises of the “Report Box” wherein the data sent get appended for each transaction.

2.2.4 Proposal:

We plan to implement an server that can receive requests for a bit stream transfer.

This bit stream will be encrypted using Encryption algorithm. When received by a client, the

bit stream will be decrypted using a public key and a private key pair. This decrypted

message will then be displayed on the screen. If successful, the message will be a random

fortune provided by the Server administrator who is running the server. This project serves

two purposes: First, it allows the programmers to explore more deeply the topic of data

encryption and securities. Second, it allows the programmers to see how clients and servers

interact in the network environment and how to specify the proper protocols.

2.2.5 Enhancement Models :

Scalability – This is one of the most important features that is in need. It refers to the

inclusion of new clients within the network. If this provision is not provided the whole of the

network may prove to be of little use in future when the organization is expanding.

17
Remote Back up Server – This extends its way out to creating a back up for every

single file created within the WAN automatically. An advanced version of this might be

creating a back up for every request from the client to the server( vice-versa) and the response

of the same to it. This proves to be of much help in cases of system crash down.

Remote Monitoring – This feature as the name suggests would monitor or keep track of

all the activities done by every single individual or client within the network. This helps in

avoiding the misuse of the systems providing additional security within the network.

Providing Certification - In order for the two (or more) LANs to interact with each

other we need to provide Certification. This certification may be either user level or the

server level or both so as to provide security. This has got to be done using Software

Providing Acknowledgement - In cases we maybe unsure if the data sent has reached

the correct destination and that too without any error in the transmission path. This maybe

over come by providing acknowledgement signals back to the front end once the data have

reached the destination . Our task here is to generate a code which shall verify if the data

have been received without any corruption and then generate an acknowledgement signal to

the other end.

18
2.3 Software Description

2.3.1 Overview Of Java Technology

History Of Java:

Java language was developed by James Gosling and his team at sun micro systems

and released formally in 1995. Its former name is oak. Java Development Kit 1.0 was

released in 1996. To popularize java and is freely available on Internet.

Overview Of Java:

Java is loosely based on C++ syntax, and is meant to be Object-Oriented Structure of

java is midway between an interpreted and a compiled language. Java programs are compiled

by the java compiler into Byte Codes which are secure and portable across different

platforms. These byte codes are essentially instructions encapsulated in single type, to what is

known as a java virtual machine (JVM) which resides in standard browser.

Jvm verifies these byte codes when downloaded by the browser for integrity. Jvm

available for almost all OS. JVM converts these byte codes into machine specific instructions

at runtime.

Features Of Java:

• Java is object-oriented language and supports encapsulation, inheritance,

polymorphism and dynamic binding, but does not support multiple

inheritance. Every thing in java is an object except some primitive data types.

19
• Java is portable architecture neutral that is java programs once compiled can

be executed on any machine that is enabled.

• JAVA is distributed in its approach and used for internet programming.

• Java is robust, secured, high performing and dynamic in nature.

• Java supports multithreading. There for different parts of the program can be

executed at the same time

Java And Internet:

Java is strongly associated with internet and known as internet programming

language. Internet users can use java to create applet programs and run them locally using

java enabled browser search as hot java. Applets can be downloaded from remote machine

via internet and run it on local machine.

Java and World Wide Web:

World Wide Web is an open ended information retrieval system designed to be used

in the distributed environment. This system contains web pages that provide both information

and controls. We can navigate to a new web page in any direction. This is made possible

worth HTML java was meant to be used in distributed environment such as internet. So java

could be easily incorporated into the web system and is capable of supporting animation

graphics, games and other special effect. The web has become more dynamic and interactive

with support of java. We can run a java program on remote machine over internet with the

support of web.

20
Java Environment:

Java environment includes a large no. of tools which are part of the system known as

java development kit (JDK) and hundreds of classes, methods, and interfaces grouped into

packages forms part of java standard library (JSL).

Java Architecture:

Java architecture provides a portable, robust, high performing environment for

development. Java provides portability by compiling the byte codes for the java virtual

machine which are then interpreted on each platform by the runtime environment. Java also

provides stringent compile and runtime checking and automatic memory management in

order to ensure solid code.

Java Virtual Machine:

When we compile the code, java compiler creates machine code (byte code) for a

hypothetical machine called java virtual machine (jvm). The jvm will execute the byte code

and overcomes the issue of portability. The code is written and compile for one machine and

interpreted all other machines. This machine is called java virtual machine.

About HTML:

HTML (hyper text markup language) is a language used to create hyper text

documents that have hyper links embedded in them. It consists of tags embedded in the text

of a document with HTML. We can build web pages or web document s. it is basically a

formatting language and not a programming language. The browser reading the document

interprets mark up tags to help format the document for subsequent display to a reader.

HTML is a language for describing structured documents. HTML is a platform independent.

WWW (World Wide Web) pages are written using HTML. HTML tags control in part the

representation of the WWW page when view with web browser. The browser interprets

21
HTML tags in the web document and displays it. Different browsers show data differently.

Examples of browsers used to be web pages include:

• Netscape

• Internet Explorer

Java DataBase Connectivity (JDBC)

Overview of New Features

Result set enhancements:

The JDBC 1.0 API provided result sets that had the ability to scroll in a forward

directionally. Scrollable result sets allow for more flexibility in the processing of results by

providing both forward and backward movement through their contents. In addition,

scrollable result sets allow for relative and absolute positioning. For example, it’s possible to

move to the fourth row in a scrollable result set directly, or to move directly to the third row

following the current row, provided the row exists. The JDBC API allows result sets to be

directly updatable, as well.

Advanced data types:

Increased support for storing persistent Java programming language objects (Java

objects) and a mapping for SQL99 data types such as binary large objects, and structured

types, has been added to the JDBC API. An application may also customize the map-ping of

SQL99 structured types into Java programming language classes.

Row sets:

As its name implies, a row set encapsulates a set of rows. A row set may or may not

maintain an open database connection. When a row set is ‘disconnected’ from its data source,

updates performed on the row set are propagated to the underlying database using an

optimistic concurrency control algorithm. Row sets add support to the JDBC API for the

22
JavaBeans component model. A row set object is a bean. A row set implementation may be

serializable. Row sets can be created at design time and used in conjunction with other

JavaBeans components in a visual builder tool to construct an application.

Creating a result set:

The example below illustrates creation of a result set that is forward-only and uses

read-only concurrency. No performance hints are given by the example, so the driver is free

to do whatever it thinks will result in the best performance. The transaction isolation level for

the connection is not specified, so the default transaction isolation level of the underlying

database is used for the result set that is created. Note that this code is just written using the

JDBC 1.0 API, and that it produces the same type of result set that would have been produced

by the JDBC 1.0 API.

Connectioncon=DriverManager.getConnection("jdbc:my_subprotocol:my_sub name");

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("SELECT emp_no, salary from employees")

2.3.2 INTRODUCTION TO J2EE

Today, more and more developers want to write distributed transactional

applications for the enterprise and leverage the speed, security, and reliability of server-side

technology. If you are already working in this area, you know that in today's fast-moving and

demanding world of ecommerce and information technology, enterprise applications have to

be designed, built, and produced for less money, faster, and with fewer resources than ever

before.

To reduce costs and fast-track enterprise application design and development,


TM
the Java 2 Platform, Enterprise Edition (J2EETM) technology provides a component-

based approach to the design, development, assembly, and deployment of enterprise

applications. The J2EE platform gives you a multitiered distributed application model, the
23
ability to reuse components, a unified security model, and flexible transaction control. Not

only can you deliver innovative customer solutions to market faster than ever, but your

platform-independent J2EE component-based solutions are not tied to the products and

APIs of any one vendor.

This tutorial takes an examples-based approach to describing the features and

functionalities available in J2EE SDK version 1.4. Whether you are a new or an

experienced enterprise developer, you should find the examples and accompanying text a

valuable and accessible knowledge base for creating your own enterprise solutions.

If you are new to J2EE applications development, this chapter is a good place to

start. Here you will learn the J2EE architecture, become acquainted with important terms

and concepts, and find out how to approach J2EE applications programming, assembly, and

deployment.

Distributed Multitiered Applications:

The J2EE platform uses a multitiered distributed application model. This means

that application logic is divided into components according to function, and the various

application components that make up a J2EE application are installed on different machines

depending on which tier in the multitiered J2EE environment the application component

belongs. Figure 1 shows two multitiered J2EE applications divided into the tiers described

in the bullet list below. The J2EE application parts shown in Figure 1 are presented in J2EE

Application Components.

• Client tier components run on the client machine

• Web tier components run on the J2EE server

24
• Business tier components run on the J2EE server

• Enterprise information system (EIS) tier software runs on the EIS server

While a J2EE application can consist of the three or four tiers shown in blow

Figure J2EE multitiered applications are generally considered to be three-tiered

applications because they are distributed over three different locations: client machines,

J2EE server machine, and the database or legacy machines at the back-end. Three-tiered

applications that run in this way extend the standard two-tiered client and server model by

placing a multithreaded application server between the client application and back-end

storage.

Multitiered Applications

25
J2EE Application Components:

J2EE applications are made up of components. A J2EE component is a self-

contained functional software unit that is assembled into a J2EE application with its related

classes and files and communicates with each other components. The J2EE specification

defines the following J2EE components:

• Application clients and applets are client components.

• Java Servlet and JavaServer PagesTM (JSPTM) technology components are web

components.

• Enterprise JavaBeansTM (EJBTM) components (enterprise beans) are business

components.

J2EE components are written in the Java programming language and compiled in the

same way as any Java programming language program. The difference when you work with

the J2EE platform, is J2EE components are assembled into a J2EE application, verified that

they are well-formed and in compliance with the J2EE specification, and deployed to

production where they are run and managed by the J2EE server.

Overview Of The System

The VPN has the ability of providing connection between the user(client) & the server

of the organization not within the workplace itself but even from home too with the data

being transferred & received in a highly secured way

2.3.3 VPN Architecture:

The diagram below illustrates a VPN remote access solution. A remote node (client)

wanting to log into the company VPN calls into the local server connected to the public

network. The VPN client establishes the connection to the VPN server maintained at the

26
company site. Once the connection has been established, the remote client can communicate

with the company network just as securely over the public network as if it resided on the

internal LAN itself.

A simple extension of the VPN remote access architecture shown above allows an

entire remote network (rather than a single remote client) to join the local network. Rather

27
than a client-server connection a server-server VPN connection joins two networks to form

an extended Intranet or extranet

2.3.4 VPN PROTOCOLS:

The implementation of VPN involves the use of three major protocols which aid in

fulfilling all the KeyAspects necessary for VPN discussed previously.

2.3.4.1 Point-to-Point Tunneling Protocol (PPTP):

PPTP is a protocol specification developed by several companies. People generally

associate PPTP with Microsoft because nearly all flavors of Windows include built-in support

for the protocol. The initial releases of PPTP for Windows by Microsoft contained security

features that some experts claimed were too weak for serious use. Microsoft continues to

improve its PPTP support, though.

PPTP's primary strength is its ability to support non-IP protocols. The primary

drawback of PPTP is its failure to choose a single standard for encryption and authentication.

Two products that both fully comply with the PPTP specification may be totally incompatible

with each other if they encrypt data differently, for example.

2.3.4.2 Layer Two Tunneling Protocol (L2TP):

The original competitor to PPTP in VPN solutions was L2F -- a protocol implemented

primarily in Cisco products. In an attempt to improve on L2F, the best features of it and

PPTP were combined to create new standard called L2TP. L2TP exists at the data link layer

(layer two) in the OSI model thus the origin of its name.

Like PPTP, L2TP supports non-IP clients. It also fails to define an encryption

standard. However, L2TP supports non-Internet based VPNs including frame relay, ATM,

and SONET.

28
2.3.5 SECURITY

2.3.5.1 Internet Protocol Security (IPsec)

IPsec is actually a collection of multiple related protocols. It can be used as a

complete VPN protocol solution, or it can used simply as the encryption scheme within L2TP

or PPTP. IPsec exists at the network layer (layer three) in OSI unlike the SSL and TLS which

exist only on the application layer and thereby provides security over the entire

communication link.

IPsec extends standard IP for the purpose of supporting more secure Internet-based

services (including, but not limited to, VPNs). IPsec specifically protects against "man in the

middle attacks" by hiding IP addresses that would otherwise appear on the wire.

The IPsec can work in either between two end systems namely the Client and the

Server or between two Routers . The former case is called the “Transport Mode” and the

latter the “Tunnel Mode”.

The Transport Mode enforces the IPsec policies for traffic between systems and

supports Windows 2000 security. This is the default mode for IPsec.

The Tunnel Mode enforces IPsec policies for all Internet traffic and supports legacy

operating systems predominantly. This supports point-to-point security and specifies tunnel

end point at both the Routers.

In order to explain the scenario of the IPsec we shall consider the communication

between two computers, the Transport Mode, shown below.

29
There are two types of providing authentication SHA – Secured Hash Algorithm and

MD5- Message Digest 5. But as in our case we deal with SHA.

NOTE:

We will be able to show how to enable the IPsec in a Windows 2000 Server or Client

having Microsoft Management Console (mmc) if we are given that option.

2.3.6 Working Process of VPN:

A remote employee wants to connect into the corporate network and access their

company’s internal web.

30
Step 1. The remote user dials into their local ISP and logs into the ISP’s network as usual.

Step 2. When connectivity to the corporate network is desired, the user initiates a tunnel

request to the destination Security server on the corporate network. The Security server

authenticates the user and creates the other end of tunnel.

Step 3. The user then sends data through the tunnel which encrypted by the VPN software

before being sent over the ISP connection.

31
Step 4. The destination Security server receives the encrypted data and decrypts. The

Security server then forwards the decrypted data packets onto the corporate network. Any

information sent back to the Remote user is also encrypted before being sent over the

Internet.

The figure below illustrates that VPN software can be used from any location through

any existing ISP’s dial-in service.

32
2.3.7 Certificate Authority:

A certificate authority (CA) is a third-party organization that verifies the information

or identity of computers on a network, and issues digital certificates of authenticity.

Certificate authorities usually have some kind of agreement with a financial institution which

provides the information used to confirm an individual's identity. Digital certificates are used

in a network security system to guarantee that the two parties exchanging information are

really who they claim to be.

Depending on how a network's security system is configured, the certificate can

include its owner's public key and name, the expiration date of the certificate, or other

information. There are many certificate authorities on the Internet, though VeriSign is the

best-known example.

A certification authority accepts requests for certificates and grants them once it

determines that the request is genuine. (There may also be the small matter of a fee.) It plays

the role of what is generally known as a 'trusted third party', certifying the identity of one

party to another.
33
A certificate authority keeps a complete list of all certificates it has ever issued and

information on their status: valid, expired, or revoked.

Any user should be able to request the status of any certificate a CA has issued. Any

user should also be able to look up a certificate by user name (or host name, for a server)

from a certificate authority.

Any organization can issue certificates, and it is frequently advantageous for

organizations to issue their own certificates for their own members of staff. In such an

instance, the company itself is the CA. In order for these certificates to be trusted by third

parties, the company will itself seek a certificate from another CA - who may in turn need to

have a certificate issued by another CA.

There are three main practical uses for digital certificates:

• to prove identity for purposes of electronic commerce

• to prove identity for purposes of access control

• to prove identity to prevent spoofing

2.3.7.1 Certificate Revocation List (CRL)

Digital Certificates occasionally need to be revoked before their specified expiry date. There

are many reasons, including:

• a woman marries and changes her surname

• a member of staff (with a company certified certificate) resigns or is fired

• the owner's public key is compromised

34
If any of these happen, the certificate can no longer be trusted. A CRL is the

mechanism by which people can be certain that a certificate is still valid. It is nothing more

than a list of digital certificate serial numbers stored in a special directory (probably an

LDAP directory), although it could contain additional information such as the reason for

revocation. If the serial number is in the list, the associated certificate has been revoked.

1.2.6.3.2 PKI

PKI stands for Public Key Infrastructure. It is the software used to manage and control the

large scale use of public key cryptography.

Public key cryptography uses a special mathematical relationship between two

numbers to provide a pair of encryption keys. One of these keys is used to encrypt a message

that can only be decrypted by the other related key. One is kept secret by the owner while the

other is made public.

2.3.8 Routers

Routers are devices that inter connect complex LAN’s and WAN’s that operate at

Layer 3 of OSI model. It employees logical addressing technique for routing data. The routers

can handle large networks. The information to reach the remote networks is maintained on

the routing table, based on which the routing decisions are made. The routing table can be

built using.

2.3.8.1 Static Routing

This is done by entering the CLI command line interface) manually creating

the various routes available.

2.3.8.2 Dynamic Routing

IGRP are some dynamic routing protocols.

35
RIP –The route is decided by taking into account the administrative distance

that is given in metric or *** count.

IGRP – The route is decided by the environment conditions like bandwidth, delay etc.

The VPN created would generally have the features such as

• Encryption

• Strong authentication

• Address translation for security

2.3.9 Router configuration:

This involves the analysis of all the client and servers so as to identify the various IP

addresses and then configure them into the router by means of # functions. This serves the

purpose of Data Accountability.

36
Figure shows a connection of two Routers showing the various IP addresses of all the

systems within the Network

Router connection in VPN

Let’s consider from the figure that we need to configure the Router. A within the

network. Here the configuration refers to the preparing of the Routing table which is very

essential in establishing Data Accountability.

2.3.10 SERVER PROCESS

The server is dedicated for the application and contains the entire list of clients. It

provides the clients the to access the modules only if they receive certificates.

37
Certification for Client

The certificate for accessing the application is provided to the client by examining the

status of the clients with respect to management. The users can access the modules in the

following manner.

Administrator - Admin Module

Marketing Manager - Marketing Module

Faculty - Training Module

The clients receive the certificate ID if they are authorized. Else the request will be rejected.

38
2.4 System Design And Development

2.4.1 DataBase Design

CERTIFICATE LOGIN

CLIENT LOGIN

39
ENQUIRY TABLE

CLIENT DETAILS

40
REGISTRATION

SALARY DETAILS

41
TRAINING

2.4.2 Data Flow Diagram:

Level 0: The client tries to invoke a remote server.

Request Router searches for

Client the exact network

Level 1: The request reaches the remote server through VPN

Sends the

Client Request Remote server is invoked


Router by the client and responds

to Client
Context Flow Diagram:

The software VPN establishes a


Client Server invoked
Guides the client to connection
invokes

server

42
Overall Module:

ADMIN LOGIN

MARKETING LOGIN
SERVER

TRAINING LOGIN

User Module

Client Server DB

Certificate

Login

Admin module

43
Admin login
Office
Staff details

Admin main
Enquiry

Attendance
Registration

Course details

Salary details

Marketing module:

Marketing login

Marketing main

Client details
Add client

Add placement Placement details

44
Training module

TRAINING LOGIN PROJECTS


LIST

J2EE
TRAINING MODULE BATCH

CALL
COURSE CENTER
DETAIL
S/W
TESTING

NETWORKING

45
2.5 System Testing:

Software testing is a critical element of software quality assurance and

represents the review of specification, design and code generation. Once the source code has

been generated the program should be executed before the customer gets it with the specific

intent of finding and removing all errors, tests must be conducted systematically and tests

must be signed using disciplined techniques.

Testing techniques provides systematic guidance for designing tests. To uncover the

errors in program in behavior function and performance. The following steps have to be

followed.

 Execute the internal logic of the software components.

 Execute the input and output domains of the program to uncover errors.

During testing the system is used experimentally to ensure that the software does not

fail, i.e. it will run according to the speciation and in the way the users expects. Preparation of

the data plays a vital role in the system testing. Different set of data are generated and the

system under study is tested using data. While testing using data errors are again uncovered

and corrected using different testing techniques.

Types of testing

The following are the different types of testing

 Unit Testing

 Integration Testing

 Validation Testing

 Output Testing

 User Acceptance Testing

46
2.5.1 Unit Testing

Unit testing focuses verification efforts on smallest unit of design and the

module. This is known as module testing. Each module is tested separately. Different

modules of the project such as remote desktop connecting, spy mode activity, client system

controls are tested separately. Each module, like remote desktop connecting is to be tested

as they were connected with their required clients. Similarly the spy mode activity module

and client system controls modules should be tested. Each and every function of every

module is tested and is found to be working satisfactorily as regard to the expected output

from the module.

2.5.2 Integration Testing

Integration testing is for the design and construction of the software

architecture. Data can be lost across the interfaces; one module may have an adverse effect

on other. Thus integration testing is a systematic testing for constructing tests to uncover

errors within the interface. Integration testing enables to decide whether the IP address has

been displayed and whether the desktop is connected. Again it checks for the remote client

for the proper continues signals. In this project all the modules are combined and the

program is tested as a whole.

2.5.3 Validation Testing

Validation testing is where requirements established as a part of software

requirements analysis is validated against the software that has been constructed. The

validation that has been identified such as project team and bug administration has been

tested. This test provides the final assurance that the software meets all functional,

behavioral and performance requirements. The errors, which are uncovered during

integration testing, are corrected during this phase.

2.5.4 Output testing

47
No system could be useful it does not produce the required output in the specific

format. The outputs generated or displayed by the system under consideration are tested

along the users about the format required by them. Output testing does not result in any

correction the system.

2.5.5 User Acceptance Testing

User acceptance of the system is the key factor of success. The system under

consideration is tested for user acceptance by constantly; keeping in touch with the

prospective system users at time of developing and making changes whatever required.

2.6 System implementation

The final and most important phase I the system life cycle is the implementation

of the new system. The term implementation has different meanings ranging from

connection of a basic application to a complete replacement includes all the activities that

take place to connect from old system to new. The new system may be totally replacing an

existing manual or automated system or it may be major modification to an existing system.

The method of implementation and time scale to be adopted are found out

initially. Next the system is properly tested and at the same time the users are trained in the

new produce. Proper implementation is essential to provide a reliable system to meet

organization requirements. Successful implementation may not guarantee improvement in

the organization using the new system but it will prevent improper installation. The

implementation involves the following formalities.

 Careful planning

 Investigation of the system

 Design the methods to achieve the changes

 Training the staff in the changed phase

 Evaluation of the change over method

48
2.7 SOURCE CODE

MAIN

<html>

<body bgcolor="pink">

<form method="post" action="secure.jsp">

<center>

<h3>VIRTUAL PRIVATE NETWORK </H3>

<BR>

<h2>Login Form</h2>

<br>

<table cellspacing="30">

<tr><td>Login</td><td><input type="text" name="user"></td></tr>

</td></tr>

<tr><td>Password</td><td><input type="password" name="pass"></td></tr>

<tr><td><input type="submit" value="Submit"></td><td><input type="reset" value="Reset"><tr>

</table>

</center>

</form>

</body>

</html>

CERTIFICATE

<%@page import="java.sql.*"%>

<%

String user=request.getParameter("user");

String pass=request.getParameter("pass");

String id;

System.out.println(pass);

49
Connection con=null;

PreparedStatement pr=null;

try

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:central");

pr=con.prepareStatement("select cid from cert where pwd=? and name=?");

pr.setString(1,pass);

pr.setString(2,user);

ResultSet rs=pr.executeQuery();

if(rs.next())

String cid = rs.getString(1);

System.out.println(cid);

%>

<jsp:forward page="id.jsp?id=<>" />

<%

System.out.println(rs.getString(1));

con.close();

catch(Exception ae)

out.println("Exception in Login form" +ae);

%>

</body>

</html>

50
CID

<html>

<head> cer </head>

<body>

CERTIFICATE

<% String id=request.getParameter("id");

System.out.println(id);

%>

<form method="get" action="login.html" >

<input type="text" value="<%= id %>" >

<input type="submit" value=" ok " >

</form>

</body>

</html>

LOGIN

<html>

<body bgcolor="Peachpuff">

<form method="post" action="reg.jsp">

<center>

<h3>CENTRALIZED MANAGEMENT SYSTEM </H3>

<BR>

<h2>Login Form</h2>

<br>

<table cellspacing="30">

51
<tr><td>Login</td><td><select name="login">

<option value="Administrator">Administrator</option>

<option value="Marketing">Marketing</option>

<option value="Faculty">Faculty</option>

</select></td></tr>

<tr><td>Password</td><td><input type="password" name="pass"></td></tr>

<tr><td><input type="submit" value="Submit"></td><td><input type="reset" value="Reset"><tr>

</table>

</center>

</body>

</html>

LOGIN.JSP

<%@page import="java.sql.*"%>

<%

String log=request.getParameter("login");

String pass=request.getParameter("pass");

Connection con=null;

PreparedStatement pr=null;

try

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:central");

pr=con.prepareStatement("select username from login1 where password=?");

pr.setString(1,pass);

ResultSet rs=pr.executeQuery();

rs.next();

System.out.println(rs.getString(1));

System.out.println(log);

String s1=rs.getString(1);

52
System.out.println("before");

if(s1.equals(log))

System.out.println("a");

%>

<jsp:forward page="Admin.html"/>

<%

else

System.out.println("b");

%>

<jsp:forward page="Marketing.html"/>

<%

con.close();

catch(Exception ae)

out.println("Exception in Login form" +ae);

%>

</body>

</html>

ADMIN

<html>

<body bgcolor="Peachpuff" link="blue" alink="black">

<input type=button name=b1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size=5><b>Office </b> </font>

<ul>

<font size=4>

53
<li><b><a href="Enquiry1.html">Enquiry form</a></b><br></li>

<br>

<li><b><a href="Registration1.html">Registration form</a></b><br></li>

<br>

<li><b><a href="Course1.html">Course and fees details</a></b><br></li>

<br>

<li><b><a href="Salary.html">Salary details</a></b><br></li>

</font>

</ul>

<br>

<input type=button name=b2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size=5><b>Staff </b> </font>

<ul>

<font size=4>

<li><b><a href="staffattendance.html">Attendance</a></b><br></li>

<br>

</font>

</ul>

</body>

</html>

REGISTRATION

<%@page import="java.sql.*"%>

<%

String log=request.getParameter("login");

String pass=request.getParameter("pass");

Connection con=null;

PreparedStatement pr=null;

</body>

</html>

REGISTRATION 1

54
<%@page import="java.sql.*"%>

<html>

<body bgcolor="Peachpuff">

<CENTER><B><h3> J2EE BATCH I STUDENT LIST </H3>

<H4>TIME 10.AM TO 12.PM </H4></B></CENTER>

<CENTER>

<table BORDER="1" cellpadding="10">

<tr><td>RegNo</td><td>Name</td><td>Course</td><tr>

<%

try

Connection con=null;

Statement stat=null;

ResultSet rs=null;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:central");

stat=con.createStatement();

rs=stat.executeQuery("select regno,name,coursename from registration where coursename='J2EE' and

batchtimings='10am to 12pm'");

while(rs.next())

%>

<tr><td><%=rs.getString(1)%></td>

<td><%=rs.getString(2)%></td>

<td><%=rs.getString(3)%></td></tr>

<%

catch(Exception e)

55
{

out.println("error");

%>

</table>

</body>

</html>

REGISTRATION 2

<%@page import="java.sql.*"%>

<html>

<body bgcolor="Peachpuff">

<CENTER><B><h3> J2EE BATCH II STUDENT LIST </H3>

<H4>TIME 12.PM TO 2.PM </H4></B></CENTER>

<CENTER>

<table BORDER="1" cellpadding="10">

<tr><td>RegNo</td><td>Name</td><td>Course</td><tr>

<%

</html>

REGISTRATION 3

<%@page import="java.sql.*"%>

<html>

<body bgcolor="Peachpuff">

<CENTER><B><h3> J2EE BATCH III STUDENT LIST </H3>

<H4>TIME 2.PM TO 4.PM </H4></B></CENTER>

<CENTER>

<table BORDER="1" cellpadding="10">

<tr><td>RegNo</td><td>Name</td><td>Course</td><tr>

<%

try

56
{

Connection con=null;

Statement stat=null;

ResultSet rs=null;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:central");

stat=con.createStatement();

rs=stat.executeQuery("select regno,name,coursename from registration where coursename='J2EE' and

batchtimings='2pm to 4pm'");

while(rs.next())

%>

<tr><td><%=rs.getString(1)%></td>

<td><%=rs.getString(2)%></td>

<td><%=rs.getString(3)%></td></tr>

<%

catch(Exception e)

out.println("error");

%>

</table>

</body>

</html>

REGISTRATION 4

<%@page import="java.sql.*"%>

<html>

<body bgcolor="Peachpuff">

57
<CENTER><B><h3> J2EE BATCH IV STUDENT LIST </H3>

<H4>TIME 4.PM TO 6.PM </H4></B></CENTER>

<CENTER>

</html>

REGISTRATION 5

<%@page import="java.sql.*"%>

<html>

<body bgcolor="Peachpuff">

<CENTER><B><h3> SOFTWARE TESTING BATCH I STUDENT LIST </H3>

<H4>TIME 10.AM TO 12.PM </H4></B></CENTER>

<CENTER>

<table BORDER="1" cellpadding="10">

<tr><td>RegNo</td><td>Name</td><td>Course</td><tr>

<%

try

Connection con=null;

Statement stat=null;

ResultSet rs=null;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:central");

stat=con.createStatement();

rs=stat.executeQuery("select regno,name,coursename from registration where coursename= 'Software

Testing' and batchtimings='10am to 12pm'");

while(rs.next())

%>

<tr><td><%=rs.getString(1)%></td>

<td><%=rs.getString(2)%></td>

58
<td><%=rs.getString(3)%></td></tr>

<%

catch(Exception e)

out.println("error");

%>

</table>

</body>

</html>

REGISTRATION 6

<%@page import="java.sql.*"%>

<html>

<body bgcolor="Peachpuff">

<CENTER><B><h3> SOFTWARE TESTING BATCH II STUDENT LIST </H3>

<H4>TIME 12.PM TO 2.PM </H4></B></CENTER>

<CENTER>

<table BORDER="1" cellpadding="10">

<tr><td>RegNo</td><td>Name</td><td>Course</td><tr>

<%

try

Connection con=null;

Statement stat=null;

ResultSet rs=null;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:central");

stat=con.createStatement();

59
rs=stat.executeQuery("select regno,name,coursename from registration where coursename='Software

Testing' and batchtimings='12pm to 2pm'");

while(rs.next())

%>

<tr><td><%=rs.getString(1)%></td>

<td><%=rs.getString(2)%></td>

<td><%=rs.getString(3)%></td></tr>

<%

catch(Exception e)

out.println("error");

%>

</table>

</body>

</html>

REGISTRATION 6

<%@page import="java.sql.*"%>

<html>

<body bgcolor="Peachpuff">

<CENTER><B><h3> SOFTWARE TESTING BATCH III STUDENT LIST </H3>

<H4>TIME 2.PM TO 4.PM </H4></B></CENTER>

<CENTER>

<table BORDER="1" cellpadding="10">

<tr><td>RegNo</td><td>Name</td><td>Course</td><tr>

<%

try

60
{

Connection con=null;

Statement stat=null;

ResultSet rs=null;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:central");

stat=con.createStatement();

rs=stat.executeQuery("select regno,name,coursename from registration where coursename='Software

Testing' and batchtimings='2pm to 4pm'");

while(rs.next())

%>

<tr><td><%=rs.getString(1)%></td>

<td><%=rs.getString(2)%></td>

<td><%=rs.getString(3)%></td></tr>

<%

catch(Exception e)

out.println("error");

%>

</table>

</body>

</html>

REGISTRATION 7

<%@page import="java.sql.*"%>

<html>

61
<body bgcolor="Peachpuff">

<CENTER><B><h3> SOFTWARE TESTING BATCH IV STUDENT LIST </H3>

<H4>TIME 4.PM TO 6.PM </H4></B></CENTER>

<CENTER>

<table BORDER="1" cellpadding="10">

<tr><td>RegNo</td><td>Name</td><td>Course</td><tr>

<%

try

Connection con=null;

Statement stat=null;

ResultSet rs=null;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:central");

stat=con.createStatement();

rs=stat.executeQuery("select regno,name,coursename from registration where coursename='Software

Testing' and batchtimings='4pm to 6pm'");

while(rs.next())

%>

<tr><td><%=rs.getString(1)%></td>

<td><%=rs.getString(2)%></td>

<td><%=rs.getString(3)%></td></tr>

<%

catch(Exception e)

out.println("error");

62
}

%>

ENQUIRY

<html>

<body bgcolor="Peachpuff">

<SCRIPT LANGUAGE="JavaScript">

function valid(form)

var field1=form.name;

var field2=form.address;

var field3=form.phone;

var field4=form.mphone;

var field5=form.email;

var field6=form.qualification;

var field7=form.regcourse;

var field8=form.timings;

var field9=form.reference;

name=field1.value;

address=field2.value;

phone=field3.value;

mphone=field4.value;

email=field5.value;

qualification=field6.value;

regcourse=field7.value;

timings=field8.value;

reference=field9.value;

alert("hai1");

if(name.length==0)

alert("Name cannot be blank");

63
field1.focus();

return false;

else if(address.length==0)

alert("Address cannot be blank");

field2.focus();

return false;

else if(phone.length==0)

alert("Phone cannot be blank");

field3.focus();

return false;

else if(mphone.length==0)

alert("MobilePhone cannot be blank");

field4.focus();

return false;

else if(email.length==0)

alert("email cannot be blank");

field5.focus();

return false;

else if(qualification.length==0)

alert("qualification cannot be blank");

64
field6.focus();

return false;

else if(regcourse.length==0)

alert("regcourse cannot be blank");

field7.focus();

return false;

else if(timings.length==0)

alert("timings cannot be blank");

field8.focus();

return false;

else if(reference.length==0)

alert("reference cannot be blank");

field9.focus();

return false;

</SCRIPT>

<form onsubmit="return valid(this)" method="post" action="DBEnquiry1.jsp">

<center>

<h2><center><u>Enquiry form</u></center></h2>

<table border=0>

<tr>

65
<td>

<table border=0>

<tr>

<td><h4>Name:</h4></td><td><input type=text name="name"></td>

<tr>

<tr>

<td><h4>Address:</h4></td><td><textareaname="address"rows=3cols=25></textarea></td>

<tr>

<tr>

<td><h4>Phone:</h4></td><td><input type=text name="phone"></td>

<tr>

<tr>

<td><h4>Mobile Phone:</h4></td><td><input type=text name="mphone"></td>

<tr>

<tr>

<td><h4>EMail:</h4></td><td><input type=text name="email"></td>

<tr>

</table>

</td>

<td valign=top>

<table border=0>

<tr>

<td><h4>Qualification:</h4></td><td><input type=text name="qualification"></td>

<tr>

<tr>

<td><h4>Course :</h4></td><td><select name="regcourse">

<option value="J2EE">J2EE</option>

<option value="Software Testing">Software Testing</option>

<option value="Call Center">Call Center</option>

<option value="Networking">Networking</option>

66
</select> </td>

<tr>

<tr>

<td> <h4>Timings:</h4></td><td><select name="timings">

<option value="10 AM to 12 AM">10 am to 12 am</option>

<option value="1 PM to 3 PM">1 pm to 3 pm</option>

<option value="3 PM to 5 PM">3 pm to 5 pm</option>

<option value="5 PM to 7 PM">5 pm to 7 pm</option>

</select></td>

<tr>

<tr>

<td><h4>Reference:</h4></td><td><input type=text name="reference"></td>

<tr>

</table>

</td>

</tr>

</table>

</center>

<p><center>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<inputtype="submit" value="Submit">&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;<inputtype="reset" value="Reset"></center></p>

</p>

</form>

</body>

</html>

STAFF ATTENDANCE

<html>

<body bgcolor="Peachpuff">

<SCRIPT LANGUAGE="JavaScript">

function valid(form)

67
{

var field1=form.number;

var field2=form.ename;

number=field1.value;

ename=field2.value;

if (number.length==0)

alert("enumber cannot be blank");

field1.focus();

return false;

else if(ename.length==0)

alert("ename cannot be blank");

field2.focus();

return false;

</SCRIPT>

<form onsubmit="return valid(this)" method="post" action="staffattend.jsp">

<body>

<center>

<br>

<br>

<h2>Staff Attendance Form</h2>

<br>

<br>

<tr>

<tr>

<tr>

68
<table>

<tr><td>Employee Number</td><td><input type="text" name="number" size=20></td></tr>

<tr>

<tr>

<tr>

<tr><td>Employee Name</td><td><input type="text" name="ename" size="20"></td></tr>

<tr><tr>

<tr>

<tr>

<tr>

<tr>

<tr>

</table>

<center>

<br>

<input type="submit" value="Register">&nbsp&nbsp&nbsp&nbsp&nbsp<input type="reset" value="Reset">

</center>

</form>

</body>

</html>

STAFF ATTENDANCE.JSP

<%@page import="java.util.*"%>

<jsp:useBean id="st" class="centre.staffattend"/>

<%

String empid=request.getParameter("number");

String name=request.getParameter("ename");

st.set(empid,name);

69
st.insert();

out.println("Inserted successfully");

%>

ADD CLIENT

<html>

<body bgcolor="Peachpuff">

<SCRIPT LANGUAGE="JavaScript">

function valid(form)

var field1=form.company;

var field2=form.address;

var field3=form.phone;

var field4=form.mail;

var field5=form.person;

company=field1.value;

address=field2.value;

phone=field3.value;

mail=field4.value;

person=field5.value;

if (company.length==0)

alert("Company cannot be blank");

field1.focus();

return false;

else if(address.length==0)

alert("Address cannot be blank");

field2.focus();

70
return false;

else if(phone.length==0)

alert("Phone cannot be blank");

field3.focus();

return false;

else if(mail.length==0)

alert("Mail cannot be blank");

field4.focus();

return false;

else if(person.length==0)

alert("Person cannot be blank");

field5.focus();

return false;

</SCRIPT>

<form onsubmit="return valid(this)" method="post" action="addclient.jsp">

<h2><center>Add Client</center></h2>

<center>

<table cellspacing="20">

<tr>

<td>Enter the Company Name</td>

<td><input type="text" name="company"></td>

</tr>

71
<tr>

<td>Enter the Address</td>

<td><input type="text" name="address"></td>

</tr>

<tr>

<td>Enter the Phone Number</td>

<td><input type="text" name="phone"></td>

</tr>

<tr>

<td>Enter the MailId</td>

<td><input type="text" name="mail"></td>

</tr>

<tr>

<td>Enter the Contact Person</td>

<td><input type="text" name="person"></td>

</tr>

<tr>

<td><input type="submit" value="submit"></td>

<td><input type="reset" value="reset"></td>

</tr>

</table>

</center>

</form>

</body>

</html>

ADD CLIENT.JSP

<%@page import="java.util.*"%>

<jsp:useBean id="val" class="centre.addclient"/>

<%

72
String company=request.getParameter("company");

String address=request.getParameter("address");

String phone=request.getParameter("phone");

String mail=request.getParameter("mail");

String person=request.getParameter("person");

val.set(company,address,phone,mail,person);

val.insert();

out.println("inserted successfully");

%>

CLIENT DETAILS.JSP

<%@page import="java.util.*"%>

<html>

<body bgcolor="Peachpuff">

<h2><center><u>Client Details</u></center></h2>

<form name=booksdet>

<center>

<table border=1 cellpadding=5>

<tr>

<td>Company</td>

<td>Address</td>

<td>Phone</td>

<td>MailID</td>

<td>Contact Person</td>

</tr>

<%

try

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

73
Connection con=DriverManager.getConnection("jdbc:odbc:central");

PreparedStatement pr=con.prepareStatement("select * from ClientDetails");

ResultSet rs=pr.executeQuery();

while(rs.next())

%>

<tr>

<td>

<%=rs.getString(1)%>

</td>

<td>

<%=rs.getString(2)%>

</td>

<td>

<%=rs.getString(3)%>

</td>

<td>

<%=rs.getString(4)%>

</td>

<td>

<%=rs.getString(5)%>

</td>

</tr>

<%

catch(Exception e)

out.println("error"+ e);

74
%>

</table>

</center>

</form>

</body>

</html>

ADD PLACEMENT

<%@page import="java.util.*"%>

<jsp:useBean id="val" class="centre.addplacement"/>

<%

String name=request.getParameter("name");

String placement=request.getParameter("placement");

String company=request.getParameter("company");

String person=request.getParameter("person");

String date=request.getParameter("date");

val.set(name,placement,company,person,date);

val.insert();

out.println("inserted successfully");

%>

COURSE DETAILS

<html>

<body bgcolor="Peachpuff">

<h2><b><center>Training offered in various fields</center></b></h2>

<form name=coursedet>

<center>

75
<table border=0>

<tr>

<td><h2><a href="J2EE.html">J2EE</a></h2></td>

</tr>

<tr>

<td><h2><a href="Callcenter.html">Call Center</a></h2></td>

</tr>

<tr>

<td><h2><a href="software.html">Software Testing</a></h2></td>

</tr>

<tr>

<td><h2><a href="Networking.html">Networking</a></h2></td>

</tr>

</table>

</center>

</form>

</body>

</html>

MARKETING

<html>

<body bgcolor="Peachpuff" link="blue" alink="black">

<input type=buttonname= b1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font

size=5><b>Marketing</b></font>

<ul>

<font size=4>

<li><b><a href="AddClient.html"> AddClient</a></b></li>

<li><b><a href="ClientDetails.jsp" target="main">ClientList</a></b></li>

<li><b><a href="Placement.html">Add Placement</a></b></li>

</font>

</ul>

76
</body>

</html>

PROJECT

<html>

<body bgcolor="Peachpuff" link="blue" alink="black">

<font size=5><b><u>Projects</u></font>

<form name=projectdet1>

<center>

<table border=0>

<tr>

<td><h2>FireWall and IDs</h2></td>

</tr>

<tr>

<td><h2>MultiThreaded System</h2></td>

</tr>

<tr>

<td><h2>Intranet Group Chat</h2></td>

</tr>

<tr>

<td><h2>Mailing System in Jsp</h2></td>

</tr>

<tr>

<td><h2>Voice Conferencing</h2></td>

</tr>

<tr>

<td><h2>IP Chaining & Tunnelling</h2></td>

</tr>

<tr>

<td><h2>Help Desk Management</h2></td>

</tr>

77
<tr>

<td><h2>Voice Over Internet Protocol</h2></td>

</tr>

</table>

</center>

</form>

</body>

</html>

J2E

<html>

<body bgcolor="Peachpuff">

<h1><center><u>J2EE Training</center></h1>

<h2><center><u>Batch Timings</u></center></h2>

<form name=batchdet>

<center>

<table border=1 cellpadding=5>

<tr>

<th><font size=5><center>Timing</center></font></th>

<th><font size=5><center>Batch No</center></font></th>

</tr>

<tr>

<td><font size=4><b><center>10:00AM to 12:00PM</center></b></font></td>

<td><font size=4><b><center><a href="register.jsp">Batch 1</a></center></b></font></td>

</tr>

<tr>

<td><font size=4><b><center>12:00PM to 2:00PM</center></b></font></td>

<td><font size=4><b><center><a href="register2.jsp">Batch 2</a></center></b></font></td>

</tr>

<tr>

<td><font size=4><b><center>2:00PM to 4:00PM</center></b></font></td>

78
<td><font size=4><b><center><a href="register3.jsp">Batch 3</a></center></b></font></td>

</tr>

<tr>

<td><font size=4><b><center>4:00PM to 6:00PM</center></b></font></td>

<td><font size=4><b><center><a href="register4.jsp">Batch 4</a></center></b></font></td>

</tr>

</table>

</center>

</form>

</body>

</html>

REGISTRATION-J2EE

<%@page import="java.sql.*"%>

<html>

<body bgcolor="Peachpuff">

<CENTER><B><h3> NET WORKING BATCH IV STUDENT LIST </H3>

<H4>TIME 4.PM TO 6.PM </H4></B></CENTER>

<CENTER>

<table BORDER="1" cellpadding="10">

<tr><td>RegNo</td><td>Name</td><td>Course</td><tr>

<%

try

Connection con=null;

Statement stat=null;

ResultSet rs=null;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:central");

stat=con.createStatement();

79
rs=stat.executeQuery("select regno,name,coursename from registration where

coursename='Networking' and batchtimings='4pm to 6pm'");

while(rs.next())

%>

<tr><td><%=rs.getString(1)%></td>

<td><%=rs.getString(2)%></td>

<td><%=rs.getString(3)%></td></tr>

<%

catch(Exception e)

out.println("error");

%>

</table>

</body>

</html>

ADD CLIENT.JAVA

package centre;

import java.util.*;

import java.sql.*;

import java.lang.*;

public class addclient

public Connection con=null;

80
public ResultSet rs=null;

public Statement st=null;

public String Company,Address,Phone,Mail,Person,Query;

public void set(String Company,String Address,String Phone,String Mail,String Person)

this.Company=Company;

this.Address=Address;

this.Phone=Phone;

this.Mail=Mail;

this.Person=Person;

try

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:central");

}catch(Exception e){}

public void insert()

try

Query="insert into ClientDetails values(' "+Company+" ',' "+Address+" ',' "+Phone+" ',' "+Mail+" ','

"+Person+" ')";

st=con.createStatement();

st.executeQuery(Query);

}catch(Exception e){}

81
SALARY.JAVA

package centre;

import java.util.*;

import java.sql.*;

import java.lang.*;

public class dbsalary

public Connection con=null;

public ResultSet rs=null;

public Statement st=null;

public String empno,empname,doj,pay,Query;

public void set(String empno,String empname,String doj,String pay)

this.empno=empno;

this.empname=empname;

this.doj=doj;

this.pay=pay;

try

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:central");

}catch(Exception e){}

82
public void insert()

try

Query="insert into salarydetails values(' "+empno+" ',' "+empname+" ',' "+doj+" ',' "+pay+" ')";

st=con.createStatement();

st.executeQuery(Query);

}catch(Exception e){}

DCOURSE.JAVA

package centre;

import java.util.*;

import java.sql.*;

import java.lang.*;

public class dbcourse

public Connection con=null;

public ResultSet rs=null;

public Statement st=null;

public String courseno,cname,amount,duration,Query;

public void set(String courseno,String cname,String amount,String duration)

83
this.courseno=courseno;

this.cname=cname;

this.amount=amount;

this.duration=duration;

try

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:central");

}catch(Exception e){}

public void insert()

try

Query="insert into coursedetails values(' "+courseno+" ',' "+cname+" ',' "+amount+" ',' "+duration+"

')";

st=con.createStatement();

st.executeQuery(Query);

}catch(Exception e){}

ADDPALCEMENT.JAVA

package centre;

import java.util.*;

import java.sql.*;

import java.lang.*;

84
public class addplacement

public Connection con=null;

try

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

public void insert()

try

Query="insert into PlacementDetails values(' "+name+" ',' "+placement+" ',' "+company+" ','

"+person+" ',' "+dop+" ')";

st=con.createStatement();

st.executeQuery(Query);

}catch(Exception e){}

85
2.8 Screen shot

OUTPUT

CLIENT LOGIN

86
ADMIN PAGE

ENQUIRY

87
REGISTRATION

COURSE DETAILS

88
SALARY

MARKETING

89
ADDCLIENT

PLACEMENT

90
J2EE TRAINING

PROJECTS

91
CONCLUSION

92
3. CONCLUSION

The “Virtual Private Network (VPN)” has emerged as one of the leading technologies

at present and has attracted the attention of many organizations looking to both expand their

networking capabilities and reduce their costs.

This paper deals with the upcoming technology, VPN - Virtual Private Network

which has proved itself to be lot reliable in transferring data between remote places via a

secured network thus paving way.

Data Security

The VPN has the ability of providing connection between the user (client) & the

server of the organization not within the workplace itself but from home too with the data

being transferred & received in a highly secured way.

Digital certificates are used in a network security system to guarantee that the two

parties exchanging information are really who they claim to be. A certificate authority keeps

a complete list of all certificates it has ever issued and information on their status: valid,

expired, or revoked.

93
REFERENCES

 An Introduction to HTML - J.Arnold

 Software Engineering - Richard Farley

 JAVA2 The Complete Reference - Herbert Schildt

 System analysis and design - Elias. M.Award

 Database System - Abraham

 Silberschartz, - Henry F.Korth and

S.Sudarshan

 Java Server Programing - Subraman Allamaraj

And Cedric Buest

 Mastering JavaScript - James Jaworski

 HTML 3.2 UNLEASED - John December

and Mark Ginsburg

 JAVA handbook - TATA InfoTech

Websites

 www.wikipedia.org

 www.internetwk.com

 www.bitpipe.com

 www.howstuffworks.com

 www.securitydogs.com

94

You might also like