Вы находитесь на странице: 1из 68

NETWORK MONITORING

CHAPTER .1

INTRODUCTION
1.1 Overview:
Network is to connect two or more computers together with the ability to communicate
with each other .Networking is to link two or more computing devices together for the purpose
of sharing data. It provides design, programming, development and operational support for
LANs, WANs and other networks. A local area network (LAN) is a group of computers and
associated devices that share a common communications line or wireless link.
Network administration is an arduous task. The administrator's responsibilities often
involve many different aspects and may include such tasks as network design, management,
troubleshooting, backup and storage, documentation, security and virus prevention as well as
managing users.

Remote administration refers to method of controlling computer from a remote area.

Fig: 1.1-Pictorial Representation of remote administration

1
NETWORK MONITORING

It enables to remotely monitor or work on one or more network computers right from
our own workstation. We can view the remote computer's screen on our own monitor in a
window. All our mouse movements and keyboard signals are transferred directly to the remote
computer. We can work on the remote computer just as if it were right there in front of us.
Remote administrator outperforms all other remote control software in speed, usability and
features. With Remote administrator we can work with any remote computer so long as it is
connected to the Internet or your local area network.

1.2. Problem Definition:

In a company the manager has the responsibility to check all events going on in his
branch. He needs to administer various activities in that system. At times he needs to send
certain information to his subordinates or download or upload files to or from the remote
system.

1.2.1. Limitation of Existing System:

A system administrator cannot remotely communicate with any user. There is no way
to shutdown or restart all the systems from a single system, unless by attending each system.
The transfer of files from or to a remote system is tedious. The administrator might need to
explore the remote system or may need to check the current running applications. It is a
tedious job to monitor all the tasks running on remote systems in the network.

1.2.2. Proposed solution:

For the above mentioned problems are given in the modules below:

1. Remote File Transfer

2
NETWORK MONITORING

A Remote File Transfer contains information for transferring files to the remote
location. Remote file transfers are used to transfer files from the Server environment to a
Client that can be installed locally or remotely.

2. Remote Messaging

It is used for instant messaging systems, given they provide a text-based user chat
function. Chat happens in real time before your eyes.

3. Remote Desktop Sharing

Remote Desktop Sharing module provides the administrators to gain access to remote
Windows desktops in the network. Desktop Sharing is a server application that allows sharing
current session with a user on another machine, who can use a client to view or even control
the desktop.

4. Remote Services

Remote control module provides remote operation such as remote shutdown, remote
restart and remote logoff it request arrives from client. First it parses the request and provides
service to its corresponding client.

3
NETWORK MONITORING

CHAPTER .2

Literature survey

2.1. Introduction

Literature survey is a background work that is made personally. It is based on books


and academic publications. The topics of literature surveys are selected so that they support
the assignment. The main goal of a literature survey is to gather a basis for the practical work
and to show that the student is familiar with existing literature and research on the topic. It is
not smart to re-invent the wheel, i.e., one has to know what has already been done.

Literature survey is the documentation of a comprehensive review of the published and


unpublished work from secondary sources data in the areas of specific interest to the
researcher. The library is a rich storage base for secondary data and researchers used to spend
several weeks and sometimes months going through books, journals, newspapers, magazines,
conference proceedings, doctoral dissertations, master’s theses, government publications and
financial reports to find information on their research topic. With computerized databases now
readily available and accessible the literature search is much speedier and easier and can be
done without entering the portals of a library building.

The researcher could start the literature survey even as the information from the
unstructured and structured interviews is being gathered. Reviewing the literature on the topic
area at this time helps the researcher to focus further interviews more meaningfully on certain
aspects found to be important is the published studies even if these had not surfaced during the
earlier questioning. So the literature survey is important for gathering the secondary data for
the research which might be proved very helpful in the research. The literature survey can be
conducted for several reasons. The literature review can be in any area of the business.

4
NETWORK MONITORING

2.2. Feasibility Study

Feasibility study is an important phase in requirement engineering process. An estimate


is made of whether the identified users’ needs may be satisfied using current software
hardware technologies. The study will decide if proposed system will be cost effective and if it
can be developed given existing budgetary constraints. A feasibility study is conducted to
assist decision-makers in determining whether or not to implement a particular project or
program. The feasibility study is based on extensive research on both the current practices and
the proposed project/program. The feasibility study will contain extensive data related to
financial and operational impact and will include advantages and disadvantages of both the
current situation and the proposed plan.

For a successful feasibility study of system feasibility, the existing systems and
proposed system are studied carefully.

Monitoring Remote Jobs in a Grid System

When users submit jobs to a grid system, they desire to monitor the progress of the
jobs for a number of reasons. A small set of attributes about jobs that are of interest to users
are presented. Some grid systems have provided mechanisms for retrieving some of these
attributes, whereas others do not. Legion is used as the implementation platform for
demonstrating how these attributes can be retrieved.

NimBUS for Remote System Monitoring

The NimBUS Remote System Probe has provided a powerful solution for remotely
accessing and monitoring all of an organization’s Windows, Linux, and UNIX servers. With
the NimBUS Remote System Probe, no NimBUS software is installed on the servers to be
monitored. The NimBUS Remote System Probe utilized standard and secure server
management protocols such as WMI, SSH, and TELNET, to perform automated server

5
NETWORK MONITORING

discovery, monitoring, and performance trend reporting. The probe is installed as single or
multiple instances across a distributed environment for strategic server monitoring
deployments.

Remote Monitoring

Remote System Management has provided customers with the peace of mind that
comes with 24x7 monitoring of their key technology. It worked with its customers to
understand which components of their IT infrastructure are most vital to their business. It then
configured the monitoring software to be able to tell at a glance if a customer’s technology is
currently supporting the business. Within this monitoring software, it sets alert thresholds for
the components we are measuring. Additionally, it provides reports to its customers that reflect
measures. We call this service Remote Monitoring.

EF System Monitor 4.10

A comprehensive tool which provided with a permanent record of information like


memory space, hard disk usage, date, time, user name, etc. about all the computers running on
your network.

* When you run the EF System Monitor under Windows NT, Windows 2000 or XP, it can be
used for the advanced services provided by these Windows platforms, like process and thread
surveillance, advanced I/O port monitoring, CPU times, etc.

* The EF System Monitor can not only show you the data from your local computer, but can
do much more: With the EF System monitor server, it can collect and display the data from
remote computers such as a TCP/IP network.

Virtual Network Computing (VNC)

6
NETWORK MONITORING

In computing, Virtual Network Computing (VNC) is a graphical desktop sharing


system which uses the RFB protocol to remotely control another computer. It transmits the
keyboard and mouse events from one computer to another, relaying the graphical screen
updates back in the other direction, over a network.

VNC is platform-independent — a VNC viewer on any operating system usually


connects to a VNC server on any other operating system. There are clients and servers for
almost all GUI operating systems and for Java. Multiple clients may connect to a VNC server
at the same time. Popular uses for this technology include remote technical support and
accessing files on one's work computer from one's home computer, or vice versa.

A VNC system consists of a client, a server, and a communication protocol.

 The VNC server is the program on the machine that shares its screen.

 The VNC client (or viewer) is the program that watches and interacts with the server.

 The VNC protocol (RFB) is very simple, based on one graphic primitive from server to
client ("Put a rectangle of pixel data at the specified X,Y position") and event messages
from client to server. The server sends small rectangles of the frame buffer to the
client. In its simplest form, the VNC protocol can use a lot of bandwidth, so various
methods have been devised to reduce the communication overhead.

NET Observe 2.98

NETObserve is a sleek, remote administration and monitoring solution for home and
business environments. NETObserve allows you to remotely connect to a PC (inside or
outside a network) and moderate, administrate, and monitor the machine's activity.
NETObserve's remote administration features include file system browsing, file transferring,
registry key editing, startup process moderating, favorite place viewing, open port and
connection records, real-time access and moderating of windows, processes, desktop, and
7
NETWORK MONITORING

more. NETObserve also offers a plethora of remote real-time monitoring features, such as
recording chats and instant messages, websites, keystrokes, printed documents, documents
viewed and accessed, screen shots, webcam activity, and more.

8
NETWORK MONITORING

Remote Desktop Inspector 1.1.0

This software product lets to supervise desktop of the remote computer and meant for
those who want to know what other people do. It is useful and very powerful tool for
employers who want to control their employees; for the parents who usually spend more time
at work and have no another way to verify what are their children doing. It helps when remote
customer wants to show his/her desktop to you but do not want to give you full control on
his/her computer (like another remote desktop solutions will).

Remote Desktop Inspector allows you to monitor unlimited number of remote


desktops. While creating new connection to another desktop, you may choose one of two
possible mode of image refreshing - automatically and by request from user. Auto refresh
mode allows you to specify delay between image renewals.

At any time you can save snap-shot of the current remote desktop screen as file in
BMP format. You can make video from a set of images of another desktop.

Viewing of remote computer desktop can be password protected. Therefore no one will
be able to access to monitoring information without your acceptance.

9
NETWORK MONITORING

CHAPTER .3

REQUIREMENT ANALYSIS AND SPECIFICATION

3.1. Requirement Analysis

Requirement Analysis is a software engineering task that brings the gap between
system level software allocation and software design. It provides the system engineer to
specify function and performance, indicate software’s interface with the other system elements
and establish that software must meet.

The basic aim of this stage is to obtain a clear picture of the needs and requirements of
the end-user. Analysis involves the interaction between the clients and the analysis. During
analysis, it is essential that a complete and constraint set of specifications emerge for the
system. It is essential to ensure that the final specifications are consistent.

3.2. System Requirement Specification

Software Requirement Specification (SRS) is the starting point of the software


developing activity. As system grew more complex it becomes evident that the goal of the
entire system cannot be easily comprehended. Hence, the need for the requirement phase
arose. The software project is initiated by the client sides. The SRS is the means of translating
the ideas of the minds of clients (the input) into a formal document (the output of the
requirement phase).

3.2.1. Requirement Specification

Software Requirements Specification plays an important role in creating quality


software solutions. A specification is basically a representation process. Requirements are
represented in a manner that ultimately leads to successful software implementation.

10
NETWORK MONITORING

The software requirement specification is produced at the culmination of the analysis


task. The function and performance allocated to the software as a part of system engineering
are refined by establishing a complete information description, a detailed functional behavioral
description, and indication of performance requirements and design constraints, appropriate
validation criteria and other data pertinent to requirements.

The purpose of the Software Requirement Specification is to reduce the


communication gap between the clients and the developers. A good SRS should satisfy all the
parties involved in the system.

3.2.2. Functional Requirements

Functional requirements define the internal workings of the software: that is, the
calculations, technical details, data manipulation and processing and other specific
functionality, the core of the requirement is the description of the required behavior, which
must be a clear and readable description of the required behavior. This behavior may come
from organizational or business rules, or it may be discovered through elicitation sessions with
users, stakeholders, and other experts within the organization.

A typical functional requirement will contain a unique name and number, a brief
summary and a rationale. This information is used to help the reader understand why the
requirement is needed, and to track the requirement through the development of the system.

Our project shall be:

 Responsible for establishing connection with remote pc’s.

 Responsible for Controlling & communicating between the Administrator and


the peers.

 Responsible for managing the tasks running in the remote pc’s.

11
NETWORK MONITORING

 Provides facility for controlling the remote pc.

The modules responsible for providing all these services are:

Remote Desktop Capture: This functionality enables the server or the administrator to
capture and control the remote client.

Remote Messaging: This task enables the server and the Remote Client to exchange messages
in real time.

Remote Services: This functionality enables the server to shutdown, restart or log off the
Remote Client if he detects any illegal operation performed by client.

Remote File Transfer: This task enables the Server and the Client to upload or download files
across the network.

3.2.3. Non Functional Requirements:

Typical non-functional requirements are reliability, scalability, and cost. Non-


functional requirements are often called the ilities of a system. Other terms for non-functional
requirements are "constraints", "quality attributes" and "quality of service requirements" .

 All the forms & modules shall allow maximum readability to the end user.

 Supports Reusability & Maintainability

 It is extendible, more features can be added.

3.3. System Feasibility

12
NETWORK MONITORING

Feasibility study is a test of system proposal according to its workability, impact on the
organization, ability to meet the user needs and effective use of resources. It focuses on three
major areas:

Operational Feasibility: What are the user’s needs and how does a developer system

meet them?

Technical feasibility: What resources are available for the given developer system?

Is the problem worth solving?

Economic Feasibility: What are likely impacts of the developer system on the organization?

3.3.1. Operational Feasibility

Remote system Administration provides authentication of server for desktop sharing so


it has a better security. The IP address is taken dynamically, so there is no need to maintain a
database. Remote System Administration meets almost all the needs so it is up to the needs of
the users.

Since the system meets the needs of users, provide security to systems, administrating
facilities, and the proposed system would be acceptable by the user and is operationally
feasible.

3.3.2. Technical feasibility

13
NETWORK MONITORING

Since it has been decided to use Java technology (JDK 1.5) as a programming language
it needs to install it. And system mainly programmed using API's of Java. There will not be
any cost involved in making network as almost all the companies have their own LAN.

Even though the technical requirements for the software development are needed, once
the code is generated and compiled, the executable code of the project is sufficient to run the
application. And hence the proposed system us technically feasible.

3.3.3 Economical Feasibility

Economical feasibility is used for evaluating the effectiveness of a candidate system.


The procedure is to determine the cost and benefits/savings that are expected from a candidate
system and compare with costs. All the required facilities to be used are initially may be
costly, but when put to use it proves to be much more economical than the existing system or
one which is purchased from market. Regarding the maintenance the system is programmed in
such a way that it is easy to maintain and bring out any changes as when required. The
proposed system is cost effective when compared with the cost of buying a new system which
maintains all the requirements as specified in the problem statement.

3.4. System Configuration

System configuration provides the information to the user as to what the specification
the system belongs to. This would provide a great deal of information to the system user and
others involved in the interaction with the system.

Software Requirements

1 JAVA SWINGS

2 JDK 1.5

3 OPERATING SYSTEM: WINDOWS XP


14
NETWORK MONITORING

Hardware Requirements

1 PROCESSOR : PENTIUM 4

2 HARD DISK : 80 GB

3 RAM : 256 MB

CHAPTER .4

SYSTEM DESIGN

4.1. Software Design Process

Software design is a description of the structure of the software to be implemented. It


provides the understanding and procedural details necessary for implementing the system
recommended in the feasibility study. Software design is starting with what is needed; design
takes us how to satisfy the needs.

Designer does not arrive at a finished design immediately but develops the design
interactively through a number of different versions. The design process involves adding
formality and details as in a stepwise manner, with constant backtracking to correct earlier
design.

15
NETWORK MONITORING

The design activities is divided into two, system design and detailed design. System
design aims to identify the modules that should be in the system, the specification of the
modules and how they interact with each other to produce the required result. At the end of
system design all the major data structures, file formats, output formats and major modules in
the system and their specification are decided.

During detail design the internal logic of each of the modules is specified in system
design is decided. During this phase further details of the data structure and the algorithm
design of each of the module is specified.

4.2. High-level design

The purpose of the High level Design (HLD) Document is to add the necessary detail
to the current project description to represent a suitable model for coding. The document is
also intended to help detect contradictions prior to coding, and can be used as a reference
manual for how the modules interact at a higher level.

Data flow models are the intuitive way of showing how data is processed by the
system. At analysis level. At analysis level they should be used to model the way in which data
is processed in the existing system. The notations used in these models represents functional
processing, data stores and data movements between functions. Data flow models are used to
show how data flows through a sequence of processing steps. The data is transformed at each
step before moving on to the next stage. These processing steps or transformation are program
function when data flow diagrams used to document a software design.

High level software design, also called software architecture is the first step to analyze
and consider all requirements for a software and attempt to define a structure which is able to
fulfill them. For this also the non-functional requirements have to be considered, such as
scalability, portability and maintainability. This first design step has to be more or less
independent of a programming language. This is not always 100% possible, but a good high
16
NETWORK MONITORING

level design can be further refined into a low level design, which then describes the
implementation in any desired programming language.

This phase deals with design of the overall functioning of the proposed system and
finalizes the input and output formats. The administrator and the project team must present the
documents of functional specification in a language that can be understood.

4.3. Detailed Design

The low level design document for a project should provide a complete and detailed
specification of the design for the software that will be developed in the project, including the
classes, member and non-member functions, and associations between classes that are
involved. By the end of the Low Level Design stage, the code should be "all but written".

More importantly, each project's low level design document should provide a narrative
describing (and comments in your declaration and definition files should point out) how the
high level design is mapped into its detailed low-level design, which is just a step away from
the implementation itself. This should be an English description of how you converted the
technical diagrams (and text descriptions) found in your high level design into appropriate
class and function declarations in your low level design. You should be especially careful to
explain how the class roles and their methods were combined in your low level design, and
any changes that you decided to make in combining and refining them.

This phase produce a detail design of the software modules based on the high-level
design. The specification for the various software modules of the system will be written at this
time.

4.4. Input Design

17
NETWORK MONITORING

Input design is a process of converting the user-originated inputs to computer based


format. Input design makes data entry easier, logical and free from errors. Input screen should
be provided with provision to select values or data rather than to enter values thus minimizing
errors.

4.5. Output design

Output design decides how to distribute the output to the intended recipients. It
determines the information to be presented and select the output medium and arrange the
presentation in the acceptable format.

Data Flow Diagram of Client Side

Remote Client

18
NETWORK MONITORING

Chat

Communication
Server
With File Transfer

Server

Fig-4.1: DFD of Client side tasks.

Data Flow Diagram of Server Side

19

Server
NETWORK MONITORING

Ssk

Desktop

Sharing

File

Transfer

Chat
Communication
Remote Shutdown
with client
Client Remote
Restart
Services

Log off

Fig-4.2: DFD of Server-side tasks

20
NETWORK MONITORING

Data Flow Diagram of Remote Desktop Capture

Informs about desktop share

Request for password

Server authenticated-desktop shared

Starts controlling the client


Server Client

Fig-4.3: DFD for desktop capture

When the administrator selects desktop sharing option, the client as a response requests
for the password. This procedure is provided for the authentication of administrator. If the
provided password is correct, then the administrator is authenticated. The administrator is
provided with three chances of entering the correct password. If he gets it wrong on all three
chances, then this application is terminated. If the server is authenticated, he can gain access to
the remote desktop.

21
NETWORK MONITORING

Data Flow Diagram of Remote services

Shut down

Restart
Server Client

Log off

Fig 4.4: DFD of Remote services

The remote service task provides server with the power to shut down, restart or log off
the remote client. This service will be useful when client is performing an illegal operation
(unauthorized access), so the server can perform the log off operation immediately to put an
end to it. It forces all the applications to be terminated successfully.

The remote services task performs the required task of shutting down, rebooting or
logging off the remote computer from the administrator’s system. The server calls the file of

22
NETWORK MONITORING

the specific remote service to be executed. It invokes the particular file in the client-side &
executes it.

Data Flow Diagram of Remote Messaging

Client chat Server chat

Module Module

Fig-4.5: DFD of Remote Messaging

Firstly, a server is set up to listen at a given port. The server waits and does nothing until a
client attempts to connect that port. If everything goes fine, the connection is successful and
both the server and client have an instance of the Socket class. From each instance of this
class, an input stream and an output stream can be obtained, and all communication is done via
these streams.

 Server Side

 Created custom User Object Class, which will have the client details like
username, IP address of client & server.

23
NETWORK MONITORING

 When the Chat Server runs, it opens the Server Socket at port 4110 and listen
for client to connect. If the client connects the server, it will open a separate
thread to service. So, when the client send "CLOSE" command, it will close the
thread also.

 Client Side

 When the Chat Client runs, it will open a socket and connect to ChatServer.
Once it’s get connected, the chat client will keep the socket connection and
communicate with server whenever the user commands it.

 Another important thing in the client module is the USER INTERFACE.


The basic idea of creating message canvas is bit simple logic. Whenever users
enter the message, it will store in vector.

Data Flow Diagram of Remote File Transfer

24
NETWORK MONITORING

Download file
Download file
Server
Client
Kernel Kernel
Upload Upload
file file

Fig-4.6: DFD of Remote File Transfer

File transfer is a generic term for referring to the act of transmitting files over a
computer network. Provides file transfer operation from server to the requested client. It
contains information for transferring files. The file needed to be transferred is selected using
the file chooser. The file is then split into blocks of 64kb each. These blocks are transferred to
the client. This file is saved in the folder specified by the client.

In active mode, the FTP client opens a dynamic port, sends the FTP server the dynamic
port number on which it is listening over the control stream and waits for a connection from
the FTP server. When the FTP server initiates the data connection to the FTP client it binds the
source port to port 21 on the FTP server. In order to use active mode, the client sends a PORT
command, with the IP and port as argument

25
NETWORK MONITORING

CHAPTER .5

IMPLEMENTATION

5.1. CONNECTION

26
NETWORK MONITORING

A socket is one endpoint of a two-way communication link between two programs


running on the network. A socket is bound to a port number so that the TCP layer can identify
the application that data is destined to be sent.

The connection between a server and a client is done through the sockets. A socket is a
software endpoint that establishes bidirectional communication between a server program and
one or more client programs. The socket associates the server program with a specific
hardware port on the machine where it runs so any client program anywhere in the network
with a socket associated with that same port can communicate with the server program.

Client program

Server Port

Program […]

Client Program

Fig-5.1: Server Client connection using Sockets

A server program typically provides resources to a network of client programs. Client


programs send requests to the server program, and the server program responds to the request.

A server runs on a specific computer and has a socket that is bound to a specific port
number. The server just waits, listening to the socket for a client to make a connection request.

27
NETWORK MONITORING

On the client-side: The client knows the hostname of the machine on which the server
is running and the port number on which the server is listening. To make a connection request,
the client tries to rendezvous with the server on the server's machine and port. The client also
needs to identify itself to the server so it binds to a local port number that it will use during
this connection. This is usually assigned by the system.

Fig: 5.2 Client -Server connection using ports

If everything goes well, the server accepts the connection. Upon acceptance, the server
gets a new socket bound to the same local port and also has its remote endpoint set to the
address and port of the client. It needs a new socket so that it can continue to listen to the
original socket for
connection requests
while tending to the
needs of the
connected client.

Fig 5.3 Server-Client connection using ports

On the client side, if the connection is accepted, a socket is successfully created and the
client can use the socket to communicate with the server.

The client and server can now communicate by writing to or reading from their
sockets. An endpoint is a combination of an IP address and a port number. Every TCP

28
NETWORK MONITORING

connection can be uniquely identified by its two endpoints. That way you can have multiple
connections between your host and the server.

The java.net package in the Java platform provides a class, Socket, that implements
one side of a two-way connection between your Java program and another program on the
network. The Socket class sits on top of a platform-dependent implementation, hiding the
details of any particular system from your Java program. By using the java.net.Socket class
instead of relying on native code, your Java programs can communicate over the network in a
Platform-independent fashion. Additionally, java.net includes the Server Socket class, which
implements a socket that servers can use to listen for and accept connections to clients. This
lesson shows you how to use the Socket and Server Socket classes.

The connection of the remote system to the server is done using the J-Lan
Communicator(jlanc in short).Jlanc is a small application that facilitates communication
between different hosts on the same local area network. It does not require a central server and
uses very little bandwidth by taking advantage of a lightweight protocol.jlanc relies in
broadcasting features of UDP packets in order to provide a “connection oriented”-like
environment without the need of a central server.jlanc is interesting for small organizations
that share the same LAN environment. It doesn't need internet connection and you'll get most
of the features of a conventional instant messaging application without the need of setup a
dedicated server.

List of features for jlanc:

• Configurable bind and broadcast address.

• Listens on port 4110 to let any user bind to this port.

User Interface

29
NETWORK MONITORING

We have used the java Swings for generation of front end. Swing is described as a set
of customizable graphical components whose look-and-feel (L&F) can be dictated at runtime.
In reality, however, Swing is much more than this. Swing is the next-generation GUI toolkit
that Sun Microsystems created to enable enterprise development in Java. We can easily extend
or modify these components to control their appearance and behavior.

Swing provides many features for writing large-scale applications in Java. Here is an overview
of some of the more popular features.

1. Pluggable Look-and-Feels: One of the most exciting aspects of the Swing classes is the
ability to dictate the L&F of each of the components, even resetting the L&F at runtime.
Swing allows the user to switch L&Fs at runtime without having to close the application. This
way, a user can experiment to see which L&F is best for her with instantaneous feedback.

2 Lightweight Components: Most Swing components are lightweight. In the purest


sense, this means the components are not dependent on native peers to render themselves.
Instead, they use simplified graphics primitives to paint themselves on the screen and can even
allow portions to be transparent. Almost all of the Swing components are lightweight; only a
few top-level containers are not. This design allows programmers to draw (and redraw) the
L&F of their application at runtime, instead of tying it to the L&F of the host operating
system. In addition, the design of the Swing components supports easy modification of
component behavior.

Some potential uses:

• Use the Swing components as they are to build your own enterprise applications.

• Create your own Swing components—or extend those that already exist.

• Override or create a new L&F for one or more of the Swing components.

30
NETWORK MONITORING

1. Buttons

Buttons are simple UI components used to generate events when the user presses them.
Swing buttons can display icons, text, or both. The JButton class provides the functionality of
a push button. JButton allows an icon, a string, or both to be associated with the push button.
Some of its constructors are shown here:

JButton(Icon i)

JButton(String s)

JButton(String s, Icon i)

Here, s and i are the string and icon used for the button.

2. Labels

Swing labels are instances of the JLabel class, which extends JComponent.It, can display text.

Label (String s)

3. Text Field

The Swing text field is encapsulated by the JTextComponent class, which extends

JComponent. It provides functionality that is common to Swing text components. One

of its subclasses is JTextField, which allows you to edit one line of text. Some of its

constructors are shown here:

JTextField( )

JTextField(int cols)

31
NETWORK MONITORING

JTextField (String s, int cols)

JTextField (String s)

Here, s is the string to be presented, and cols is the number of columns in the text field.

4. Scroll Panes

A scroll pane is a component that presents a rectangular area in which a component

may be viewed. Horizontal and/or vertical scroll bars may be provided if necessary.

Scroll panes are implemented in Swing by the JScrollPane class, which extends

JComponent. Its constructor is shown here:

JScrollPane(int vsb, int hsb)

Here, vsb and hsb are int constants that define when vertical and horizontal scroll bars
for this scroll pane are shown. These constants are defined by the ScrollPaneConstants
interface.

5. Text Area

The JTextArea class displays multiple lines of text in a single font and style. Its default
behavior is not to wrap lines of text, but line-wrapping can be enabled on word or character
boundaries.Constructors :

1. Public JTextArea ( ) -Create a default text area.

2. Public (int rows, int columns) -Create a text area with the specified number of rows and
columns.

6. Menu bar

32
NETWORK MONITORING

Swing's JMenuBar class supersedes the AWT MenuBar class. This class creates a
horizontal menu bar component with zero or more menus attached to it. JMenuBar uses the
Default Single Selection Model as its data model because the user can raise, or activate, only
one of its menus at a given time. Once the mouse pointer leaves that menu, the class removes
the menu from the screen (or cancels it, in Swing lingo), and all menus again become eligible
to be raised.

The ActionListener Interface

This interface defines the actionPerformed ( ) method that is invoked when an action

event occurs. Its general form is shown here: void actionPerformed(ActionEvent ae)

5.2. REMOTE MESSAGING

In order to initiate a TCP session, a server and a client are required. Firstly, a server is
set up to listen at a given port. The server waits and does nothing until a client attempts to
connect that port. If everything goes fine, the connection is successful and both the server and
client have an instance of the Socket class.

From each instance of this class, an input stream and an output stream can be obtained,
and all communication is done via these streams.

Features:

1) Transfer Smiley’s with Text

2) Functions like refresh, clear, close.

3) Great Look and Feel with Customized Color

Server Side Module

33
NETWORK MONITORING

• Created custom User Object Class, which will have the client details like username, IP
address of client & server.

• When the Chat Server runs, it opens the Server Socket at port 4110 and listen for client
to connect. If the client connects the server, it will open a separate thread to service. So, when
the client send "CLOSE" command, it will close the thread also.

Client Side Module

• When the Chat Client runs, it will open a socket and connect to Chat Server. Once it’s
get connected, the chat client will keep the socket connection and communicate with server
whenever the user commands it.

• Another important thing in the client module is the USER INTERFACE.

• The basic idea of creating message canvas is bit simple logic.. Whenever users enter
the message, it will store in vector.

5.3. DESKTOP SHARING

Desktop sharing is a common name for technologies and products that allow remote
access and remote collaboration on a person's computer desktop through a graphical Terminal
emulator. Anyplace Control displays remote computer desktops in separate "Remote Screen"
windows. The Remote Screen window is the primary interface for interacting with a remote
computer. In this window, you can control a remote desktop with your mouse.

Desktop Sharing doesn’t require you to start a new X session - it can share the current
session. This makes it very useful when you want someone to help you perform a task.

The remote desktop sharing in our project works on the control mode i.e. you will be
having the capability to control the remote desktop which is captured. Provides access-remote
Windows desktops in the network.
34
NETWORK MONITORING

We use the WinPcap application to capture packets from the remote system. WinPcap
is the industry-standard tool for link-layer network access in Windows environments: it allows
applications to capture and transmit network packets bypassing the protocol stack, and has
additional useful features, including kernel-level packet filtering, a network statistics engine
and support for remote packet capture.

WinPcap consists of a driver that extends the operating system to provide low-level
network access, and a library that is used to easily access the low-level network layers. Server
application allows sharing current session with a user on another machine.

 The desktop sharing task is done using the java packages.

 Then the desktop sharing button is clicked on a new thread is created, which
invokes the rundesk() function

 The rundesk invokes the Robo package configuration file whose function is to
retrieve the desktop components of the remote system, one of them is the
dimensions of the screen which is retrieved by getScreenSize();

 The client desktop will be displayed on the server, in the dimensions specified
by the server and the screen will be repainted every millisecond done by the
function screenCanvas.repaint().

5.4. REMOTE FILE TRANSFER

For the remote file transfer, we use the file transfer protocol. In computing, File
transfer is a generic term for referring to the act of transmitting files over a computer network.
While the term "file transfer" is often linked to the File Transfer Protocol (FTP), there are
numerous ways to transfer files over a network. Servers which provide a file transfer service
are often called file servers. In computing the File Transfer Protocol (FTP) is a network
protocol used to transfer data from one computer to another through a network.FTP is a file
35
NETWORK MONITORING

transfer protocol for transfer of files over network to manipulate files on another computer on
that network regardless of which operating systems are involved.

In active mode, the FTP client opens a dynamic port (49152–65535), sends the FTP
server the dynamic port number on which it is listening over the control stream and waits for a
connection from the FTP server. When the FTP server initiates the data connection to the FTP
client it binds the source port to port 20 on the FTP server. In order to use active mode, the
client sends a PORT command, with the IP and port as argument. The format for the IP and
port is "h1,h2,h3,h4,p1,p2". Each field is a decimal representation of 8 bits of the host IP,
followed by the chosen data port.

 The file needed to be transferred is selected using the JfileChooser.

 The file is then split into blocks of 64kb each.

 These blocks are transferred to the client.

 This file is saved in the folder specified by the client.

The JFileChooser component gives users a way to choose files and directories that they
want to work with in the system. The component presents users with a dialog from which they
can select one or more files and directories. Included with the JFileChooser component are a
set of methods for showing a modal version of the dialog. Modal means that the methods don't
return until the user selects something. These methods are showOpenDialog and showDialog.
These methods control what text appears on the approval button (that is, what the user selects
when he or she is finished with the dialog). There are also built-in methods for the common
options Open and Cancel. The displayed file chooser dialog is appropriate for the current look
and feel setting. This means that the dialog typically looks like the native file dialog for the
user's platform, or the cross-platform Metal look and feel if none is specifically set.

36
NETWORK MONITORING

The user selects something in the dialog and clicks the Open or cancel button (or
double-clicks the selection). The show methods then return a status, indicating whether the
approval button was selected or the user closed the dialog without selecting anything (that is,
the user clicked the Cancel button or the window adornment for closing). Possible return states
are indicated by the class constants CANCEL_OPTION, APPROVE_OPTION, or
ERROR_OPTION.

5.5. REMOTE SERVICES

If you work on multiple machines in a distributed environment, shutting down or


rebooting remote machines can be a hassle. Rather than logging on to pc anywhere, it would
be nice to handle this task with a simple mouse click. RemoteServices allows administrator to
remotely (over their network) shut down, restart or switch to log off mode any Windows /
2000/XP system.

The remote services task performs the required task of shutting down, rebooting or
logging off the remote computer from the administrator’s system. The server calls the file of
the specific remote service to be executed. It invokes the particular file in the client-side &
executes it.

CHAPTER .6

SYSTEM TESTING

Software testing is a critical element of software quality assurance and represents the
ultimate review of specifications, design and coding. Testing is the exposure of the system to
trial input to see whether it produces correct output. During testing the program to be tested is
executed with a set of test cases and the output of the program for the test cases is evaluated to
determine if the program is performing as expected. Error refers to the discrepancy between

37
NETWORK MONITORING

the actual outputs. The test data is mechanism different from the program itself that can be
used to check correctness of the output of the program for the cases.

Testing is the major quality measure employed during the software engineering
development. Its basic function is to detect error in the software. Testing is necessary for the
proper functioning of the system.

6.1. TESTING PHASES

Software testing phases include the following:

• Test activities are determined and test data selected.

• The test is conducted and test results are compared with the expected results.

Testing has to be done at four levels:

6.1.1. Unit Testing

Unit testing focuses verification effort on the smallest unit of the software, design
the module. Here, using the detail design as a guide, important control paths are
tested to uncover errors within the boundary of the module. Unit testing is always
white - box oriented, and the step can be conducted in parallel for multiple modules.

6.1.2. Integration Testing

Integration testing is a systematic technique for constructing the program structure


while at the same time conducting tests to uncover errors, associated with interfacing. The
objective is to take the unit tested modules and build program structure that has been directed
by the design.

38
NETWORK MONITORING

6.1.3. Validation Testing

Validation testing demonstrates the traces the requirements of the software. This can be
achieved through a series of black box tests.

6.1.4. System Testing

System testing is actually a series of different tests whose primary purpose is to fully
exercise the computer - based system. Although each test has a different purpose, all works
should verify that all system elements have been properly integrated and perform allocated
functions. The various tests include recovery testing, stress testing, and perform testing.

6.2. TESTING METHODS

6.2.1. WHITE BOX TESTING

It is a test case design method that uses the control structures of the procedural design
to derive test cases. Using this testing a software engineer can derive the following test cases:

 Exercise all the logical decisions on either true or false sides.

 Execute all loops at their boundaries and within their operational


boundaries.

 Exercise the internal data structures to assure their validity.

6.2.2. BLACK BOX TESTING

It is a test case design method used on the functional requirements of the software. It
will help a software engineer to derive sets of input conditions that will exercise all the

39
NETWORK MONITORING

functional requirements of the program. Black Box testing attempts to find errors in the
following categories:

 Incorrect or missing functions.

 Interface errors.

 Errors in data structures.

 Performance errors.

Testing Process: The basic testing process consists of 4 basic steps. They are,

 Plan for the tests: The procedure of tests should be


planned appropriately.

 Prepare for tests: The steps needed for a test to be


performed are pre-planned.

 Execute the tests: The test cases are executed.

 Report the results: The outcome is reported.

Unit testing - first we write the code for each module in the project and each module is tested
separately. In each module the error is identified and corrected

40
NETWORK MONITORING

1. CONNECTION

Input Specification Expected Output Actual Output

192.168.1.11 Connection established Successfully

(LAN Connected) connected

192.168. .1 Invalid IP address Connection

not successful

192.168.1.10 Invalid IP address Connection

(LAN not connected) not successful

2. REMOTE MESSAGING

Input specification Expected output Actual output


Send/receive Perform the desired operation Messages are exchanged

text messages

Text messages with Perform the desired operation Messages are exchanged

Face icons

Save, Clear, Perform the respective Output as expected

41
NETWORK MONITORING

Refresh, Close operation

3. REMOTE SERVICES

Input specification Expected output Actual output


Log of Perform the desired operation Remote system is logged of

Restart Perform the desired operation Remote system

is restarted

Shut down Perform the desired operation Remote system is

shut down

4. DESKTOP SHARING

42
NETWORK MONITORING

Input specification Expected output Actual output


Enter correct password Desktop sharing Remote desktop

Possible is shared and can be


controlled

Password is Desktop sharing not As expected

incorrect possible

Incorrect password Desktop sharing not This module

entered thrice possible Exits.

5. FILE TRANSFER

Input specification Expected output Actual output


.
Send text file and Perform the desired File sent to the client
operation
bitmap file

Integration testing
43
NETWORK MONITORING

Integration Testing is the systematic technique for constructing program structure,


while conducting test to recover errors associated with interfacing. The problem in interfacing
data can be lost across and interface; one module can have an inadvertent, adverse affect on
another sub functions when combines may not produce the expected

Integration of all the modules

Description: Receives the Output of the function from a remote system in the server.

Input Specification Expected Output Actual Output

Select the type of function Output of the Output as expected


to be performed i.e. corresponding function on
desktop sharing, remote the server.
chat, file transfer, remote
services, etc.

CHAPTER .7

SNAPSHOTS

44
NETWORK MONITORING

Fig-7.1: Server side connection window.

45
NETWORK MONITORING

Fig-7.2: Client connected.

46
NETWORK MONITORING

Fig-7.3: Client-side Chat Window.

47
NETWORK MONITORING

Fig-7.4: Server-side Chat window.

48
NETWORK MONITORING

49
NETWORK MONITORING

Fig-7.5: Browse window for file transfer.

50
NETWORK MONITORING

Fig-7.6: Server after the file is transferred.

51
NETWORK MONITORING

52
NETWORK MONITORING

Fig7.7: Server-side Desktop share asking for Authentication.

53
NETWORK MONITORING

Fig-7.8: Server when the Client Desktop is shared.

54
NETWORK MONITORING

Fig 7.9: Server when desktop is shared, and server can access the client.

55
NETWORK MONITORING

56
NETWORK MONITORING

Fig-7.10: Exception generated when the client exits.

57
NETWORK MONITORING

Fig-7.11: Exception generated when the Connection is not successful.

58
NETWORK MONITORING

Fig-7.12: Server when the client exits.

59
NETWORK MONITORING

CHAPTER .8

USER’S MANUAL

Install JDK 1.5 (Java Development Kit) version.


Install WinPcap_0_3 beta driver.
Set the environment variables for JDK.

Set the environment variables for Client and Server jar files.

60
NETWORK MONITORING

In the server folder, run the RemoteServer.java file or compile the java file RemoteServer using
the command prompt.

In the Client folder, run the RemoteClient.java file or compile the java file Remote Client using
the command prompt.

Enter the IP address of Server and click on the Start button in the RemoteClient system.

Enter the IP address of Client and click on the Connect button in the Server system.

61
NETWORK MONITORING

Desktop Sharing: Now the Server can perform any of the following functions:

Click on the Desktop Sharing button on the Server side.

The following dialog box requesting for the password, in order to authenticate the Server.

 Chat:
Click on the Chat button on both Server and Client Side.

The chat window will appear on both sides.

The real time text exchange can take place.

62
NETWORK MONITORING

The following operations can be implemented:

1. Network: In this the refresh and close operations can be performed.

2. Buffer: In this menu Save, and Clear operations may be performed.

 File Transfer:
Click on the Browse button in order to navigate the file system and select the desired file and then
click Open button.

63
NETWORK MONITORING

Click on the Transfer button for the transfer to take place.

The file will be saved in the Server folder in the drive specified by the client.

 Remote Services:

The remote service provides the server with the power to perform the following tasks:

• Shut down

• Restart

• Log off

These tasks may be performed by clicking n the respective buttons given on the Server side.

64
NETWORK MONITORING

CHAPTER .9

CONCLUSION

Remote System Administration is one of the best tools in the market for remote
administration purposes. Remote administration refers to method of controlling computer from
a remote area. It enables to remotely work on one or more network computers right from our
own workstation. We can view the remote computer's screen on our own monitor in a window.
All our mouse movements and keyboard signals are transferred directly to the remote
computer. We can work on the remote computer just as if it were right there in front of us.
Remote administrator outperforms many of the other remote control software in speed,
usability and features. This enables a network administrator to work on any computer in the
local area network (Intranet). We can be able to remotely control the server without the aid of
a third party product.

Our project comprises of all the tools needed to administer the remote system.
Administrator can oversee all the systems connected to the network. Fast, secure, comfortable
to use & platform independent. The salient features of this system are- User friendly interface
for the administrator to login with security features so that only the person with password can
login for Desktop share. Administrator can oversee the system in which the server is running.

65
NETWORK MONITORING

He can control, manage and access the remote system directly from his own system. He can
launch a chat with other system.

FUTURE ENHANCEMENTS:

Remote Installation: This module provide remote software installation to its requested client,
it gets the client request and transfer the required installation files and run the exe file through
network. Remote installation reduces installation time by providing remote services.

Private Chat: This module enables you to chat privately with someone during your
meeting even sharing your desktop.

66
NETWORK MONITORING

BIBLIOGRAPHY

[1] P. Ziewer et al., Transparent TeleTeaching. ASCILITE 2002, Auckland, NZ, December

2002

[2] M. Hasan et al., Multicast Application Sharing Tool for the Access Grid Toolkit. UK e-

Science All Hands Meeting, Nottingham, UK, 2005.

[3] G. Camarillo et al., the Binary Floor Control Protocol (BFCP). RFC 4582, IETF,

November 2006.

[4] H. Schulzrinne et al., RTP: A Transport Protocol for Real-Time Applications. RFC 3550,

IETF, July 2003.

67
NETWORK MONITORING

68

Вам также может понравиться