Project Report Dheena
Project Report Dheena
NETWORK
Project report submitted to Bharathiar University in partial fulfillment of the requirement for
the award of the Degree of Master Of Computer Applications
DHEENADAYALAN.B
21AMCAN0897
21MCA1897
<PCP CENTRE>
(Seal)
Forwarded by
Director
School of Distance Education
Bharathiar University
Coimbatore – 46
Name :
Enrolment No :
Course :
PCP Centre :
Place :
Date :
The project was the Internet Transfer Control and Winsock control of visual basic.Net
to develop the server side application and uses Microsoft SQL Server for database.
The firewall is one of the central technologies allowing high-level access control to
organization networks. Packet matching in firewalls involves matching on many fields from
the TCP and IP packet header. At least five fields (protocol number, source and destination IP
addresses, and ports) are involved in the decision which rule applies to a given packet. With
available bandwidth increasing rapidly, very efficient matching algorithms need to be
deployed in modern firewalls to ensure that the firewall does not become a bottleneck Since
firewalls need to filter all the traffic crossing the network perimeter, they should be able to
sustain a very high throughput, or risk becoming a bottleneck. This project developed in
various modules
1. INTRODUCTION
1.1 AN OVERVIEW
2. SYSTEM SPECIFCATION
2.1 HARDWARE SPECIFICATION
2.2 SOFTWARE SPECIFICATION
3. SYSTEM ANALYSIS
3.1 EXISTING SYSTEM
3.2 PROPOSED SYSTEM
4. SYSTEM DESIGN AND DEVELOPMENT
4.1 INPUT DESIGN
10. CODING
1.INTRODUCTION
1.1 AN OVERVIEW
The firewall is one of the central technologies allowing high-level access control to
organization networks. Packet matching in firewalls involves matching on many fields from
the TCP and IP packet header. At least five fields (protocol number, source and destination IP
addresses, and ports) are involved in the decision which rule applies to a given packet. With
available bandwidth increasing rapidly, very efficient matching algorithms need to be
deployed in modern firewalls to ensure that the firewall. Modern firewalls all use “first
match” ,The firewall rules are numbered from 1 to n, and the firewall applies the policy (e.g.,
pass or drop) associated with the first rule that matches a given packet.
Mouse : Logitech.
Ram : 1 GB
3.SYSTEM ANALYSIS
3.1 EXISTING SYSTEM
Existing algorithms implement the “longest prefix match” semantics, using several
different approaches. The IPL algorithm, which is based on results, divides the search space
into elementary intervals by different prefixes for each dimension, and finds the best (longest)
match for each such interval. Firewall state fullness is commonly implemented by two
separate search mechanisms
A slow algorithm that implements the “first match” semantics and compares a
packet to all the rules.
A fast state lookup mechanism that checked a packet belongs to an existing
open flow. In many firewalls, the slow algorithm is a naive linear search of the
rule-base, while the state lookup mechanism uses a hash-table or a search-tree.
DISADVANTAGES
In the field of computational geometry, proposed an algorithm which solves the point
location problem for n non-overlapping-dimensional hyper-rectangles, with a linear space
requirement and O ((log n) (d−1)) search time. In our case, we have overlapping-dimensional
hyper-rectangles, since firewall rules can, and often do, overlap each other— making rules
overlap is the method firewall administrators use to implement intersection and difference
operations on sets of IP addresses or port numbers. These overlapping hyper-rectangles can
be decomposed into non-overlapping hyper-rectangles however; a moment’s reflection shows
that the number of resulting non-overlapping hyper-rectangles is the worst case complexity
for firewall rules is no better than that of GEM.
ADVANTAGES
The input design is the link between the information system and the user. It
comprises the developing specification and procedures for data preparation and those steps
are necessary to put transaction data in to a usable form for processing can be achieved by
inspecting the computer to read data from a written or printed document or it can occur by
having people keying the data directly into the system. The design of input focuses on
controlling the amount of input required, controlling the errors, avoiding delay, avoiding
extra steps and keeping the process simple. The input is designed in such a way so that it
provides security and ease of use with retaining the privacy. Input Design considered the
following things:
OBJECTIVES
3. When the data is entered it will check for its validity. Data can be entered
with the help of screens. Appropriate messages are provided as when needed so that the user
will not be in maize of instant. Thus the objective of input design is to create an input layout
that is easy to follow.
A quality output is one, which meets the requirements of the end user and
presents the information clearly. In any system results of processing are communicated to the
users and to other system through outputs. In output design it is determined how the
information is to be displaced for immediate need and also the hard copy output. It is the most
important and direct source information to the user. Efficient and intelligent output design
improves the system’s relationship to help user decision-making.
Modules Description
In order to test the build time, data structure size and search speed behavior, I
generated rule-bases of sizes from 1000 to 20000 and built the GEM data structure using two
approaches: 2-part heuristic splitting and 3-part heuristic splitting, as described .it shows the
data structure size of the unsplit, 2- part splitting, and 3-part splitting approaches it shows that
both splitting heuristics are very effective in reducing the data structure size. In earlier
simulations I verified that the firewall’s matching speed is largely unaffected by the
distribution of port numbers (both linear search and GEM). There is an extensive literature
dealing with router packet matching, usually called “packet classification”, Thus I believed
that GEM may be a good candidate for use in firewall matching engines.
2. Encryption module
Allows trusted users to access sensitive information while traversing untrusted
networks, it is highly useful for users. The services and users are limited in their tunnel
traffic.
Easy testing of new rules in a live environment without disrupting the current security
policy is supported. Rule sets are applied by deploying them in Protection mode to enforce
secure behavior, permit or deny traffic and seal web application parameters against
modification. Rule sets are tested by deploying them in Detection mode to evaluate them
against traffic and log actions without enforcing them.
On one hand, these early simulations showed us that the search itself was indeed very
fast: a single packet match took around 1μsec, since it only required 4 executions of a binary
search in memory. On the other hand, I learned that the data structure size grew rapidly and
that the order of fields had little or no effect on this size. The problem was that since the
ranges in the rules were chosen uniformly, almost every pair of ranges (in every dimension)
had a non-empty intersection. All these intersections produced a very fragmented space
subdivision, and effectively exhibited the worst-case behavior in the data structure size. I
concluded that a more realistic rule model is needed.
Registration Table
The database design was contains user registration table and that table is stored user
registered details such as Login ID, Login Name, Password, etc., in the admin.
The table was contains user and admin upload files details such as File Id, File Name,
Path , Upload files etc., stored in the database.
UserSeacrch Table
The table was contains user search details such as Admin ID, Request ID, Login ID,
User Name, File Name, Date etc., stored in the database.
Detection Table
The table was contains user detection details such as User ID, File ID, Wrong Key,
Date stored in the database.
5.TESTING AND IMPLEMENTATION
5.1 SYSTEM TESTING
System testing is the process of exercising software with the intent of finding and
ultimately correcting errors. This fundamental philosophy does not change for web
applications, because web-based systems and applications resides on a network and
interoperate with many different operating systems, browsers, hardware platforms, and
communication protocols, the search for errors represents a significant challenge for web
applications.
The distributed nature of client-server environments, the performance issues
associated with transaction processing, the potential presence of number of different
hardware platform, the complexities of network communications, the need to serve multiple
clients from a centralized database and the requirements imposed on the server all combine to
make testing of client-server architectures.
TESTING ISSUES
The entire program is tested as a whole and shows usually results. Set of errors are
encountered. According to integration testing in the Greedy Routing with Anti-void traversal,
all the modules are integrated and tested for its accuracy.
The user about the format required by them to test the output generated by the system
under considerations. It can be considered in two ways, one on the screen and the other is
printed format. The output format on the screen is found to be correct as the format designed
in the system design. The Greedy Anti-void Routing was tested using above specified test.
All tests should be traceable to customer requirements. The focus of testing will shift
progressively from programs. Exhaustive testing is not possible. To be more effective, testing
should be one, which has probability of finding errors. The following are the attributes of
good test:
There are different types of risks. While developing the project there are various risks
and the program developer has to overcome those risks. To overcome the risks, he has to
perform the following steps.
CORRECTNESS
The extent to which the program meets system specifications and user objectives.
RELIABILITY
EFFICIENCY
USABILITY
MAINTAINABILITY
TESTABILITY
Test
Test Expected Actual
Case Result
Case ID Result Result
Description
Any system developed should be secured and protected against possible hazards.
Security measures are provided to prevent unauthorized access of the database at various
levels. At uninterrupted power supply should be so that the power failures or voltages
fluctuations will not erase the data in the file.
USER TRAINING
User training is designed to prepare the user for testing and converting
the system. The important user training element is a training demonstration. Live
demonstration with personal contact is extremely effective for training users.
OPERATIONAL DOCUMENTATION
Documentation means of communication; it establishes design and performance
criteria for phases of the project. Documentation is descriptive information that portrays the
use and/or operation of the system. The most crucial stage in achieving a new successful
system and giving confident on the new system for the users that it will work effectively and
efficiently. It involves careful planning, investigation of the current system and its constraints
on implementation, design of methods to achieve the change over. The more complex the
system being implemented, the more involved will be the system’s analysis and design effort
required just for implementation.
Implementation is the stage in the project where the theoretical design is turned a
working system. The most crucial stage is achieving a successful new system and giving the
user confidence in that the new system will work efficiently and effectively in the
implementation stage.
Software design sits at the technical kernel of the software engineering process and is
applied regardless of the development paradigm and area of application. Design is the first
step in the development phase for any engineered product or system. The designer’s goal is to
produce a model or representation of an entity that will later be built. Beginning, once system
requirement have been specified and analyzed, system design is the first of the three technical
activities -design, code and test that is required to build and verify software.
The importance can be stated with a single word “Quality”. Design is the place where
quality is fostered in software development. Design provides us with representations of
software that can assess for quality. Design is the only way that company can accurately
translate a customer’s view into a finished software product or system. Software design
serves as a foundation for all the software engineering steps that follow. Without a strong
design risk building an unstable system – one that will be difficult to test, one whose quality
cannot be assessed until the last stage. During design, progressive refinement of data
structure, program structure, and procedural details are developed reviewed and documented.
System Security
System Security refers to the technical innovations and procedures applied to the
hardware and operation systems to protect against deliberate or accidental damage from a
defined threat.
Data Security
Data Security is the protection of data from loss, disclosure, modification and
destruction.
System Integrity
Privacy
Privacy defines the rights of the user or organizations to determine what information
they are willing to share with or accept from others and how the organization can be protected
against unwelcome, unfair or excessive dissemination of information about it.
Confidentiality
Usability
Maintainability
Testability
The effort required testing a program to ensure its correct performance.
6. CONCLUSION
This project, proposed firewall packet matching the Geometric Efficient Matching
Algorithm (GEM) is very efficient and practical approach. The packet matching speed is
analyzed on live traffic with the real firewall rule bases. The packet matching speed of the
GEM algorithm is better than that of naive linear search approach which is used in the
existing system. On realistic statistics I have generated the real firewall rule bases, the space
complexity of GEM algorithm is also better. The firewall packet matching GEM algorithm is
a better solution.
7. BIBLIOGRAPHY
Don Box, with Chris Sells, “Essential. Net”-Third Edition.
Harold Davis, “Visual Basic.Net for Windows” - Second Edition.
Steven Holzner,” Visual Basic.Net 2003”, Pearson Education.
Matt J.Crouch, “VB.Net Web Programming”- corporate Edition.
G.Andrew Duthie, “Microsoft Visual Basic.Net”- version 2003
David solution, “Sam Teach Yourself VB 3.0 In 21 Days”, Crimson Publications,
Second Edition, March 2001.
Elias M.Award, “ System analysis and design” ,Galgotia publishers, Second Edition
(1997).
Roger S.Pressman, “Software Engineering, A Practioner’s Approach ”, McGraw
Hill international companies, Sixth Edition.
Shooman, “Software Engineering”, Tata Mc-Graw Hill Publishing Company Pvt
ltd, 1987.
lee & lee,” introduction system analysis and design”,ncc publications edition –
1996.
WEBSITES REFERRED
http://www.sourcefordgde.com
http://www.patentstorm.us/patents/7124098.htmlhttp://
mktsci.journal.informs.org/cgi/content/abstract/19/1/4
http://www.almaden.ibm.com/software/quest/Resources/
http://www.computer.org/publications/dlib
http://www.ceur-ws.org/Vol-90/
http://www.microsoft.com/isapi/redir.dll?
prd=ie&pver=6&ar=msnhome
8. APPENDICES
The new user entered and registration need to be approved the new user details are
stored in the register table. This table content is stored in databases and after, the login
process has been completed successfully otherwise, displayed invalid user and performs
relogin process. The user uploads the file with encrypted to admin. When the user wants the
files and sends the file request to admin. The admin views the file request with decrypted files
and sends to user.
9.3 USE CASE DIAGRAM
The user wants and views the files send the request to admin. The admin view the
request and send the secret key through image to user. The user views the files and extracts
the matching key send to admin. After the admin send the packet with encrypted file to
decrypted and download the original file.
9.4 CLASS DIAGRAM
Usersearch Keymaintenance
int auid()
int auid()
int id()
int id()
varchar name()
varchar name()
varchar file()
varchar file()
datetime date()
datetime date()
varchar status()
varchar status()
varchar key()
uploadfiles()
vrchar path()
Registration()
upload files()
Registration()
Usersearch()
A class diagram is contains three rectangles inside. The top rectangle creates a class
name for user and admin required details such as registration, login, upload files, etc. The
middle rectangle contains the attributes of the user and admin required class details. The
lower rectangle contains user and admin process methods such as upload, download, etc. The
methods, also called operations, of the user and admin class. Arrows connect the relationship
between the user and admin.
9.5 ACTIVITY DIAGRAM
Check
Register Login
Admin User
Extract
Send secret key the matching key
throug h image
An activity diagram is represented by shapes that are connected by arrows. The Black
circles represent an initial process of user login with send an encrypted file to admin. After
the admin send a secret key for used view files to the user. The user extracting the key and
used decrypted with download original file from the admin. The admin process is represent a
circled black circle indicates for end process.
9.6 SEQUENCE DIAGRAM
System Database
Admin User
Login Registration
Download files
User maintenance
In a sequence diagram, the user registered required details with used login process.
The login process performed successfully the user wants the files send the request to admin.
The admin view the user request and generate secret key to the user. After the user extracting
the matching key used to decrypt with download original file from the admin. This process
was performed sequentially.
9.7 USER DIAGRAM
User
Admin
The user gets secure data for used firewall to access username, password include login
process. The user sends the request for accessed file from admin. The admin sends the secret
key for used encrypt and decrypt the original file. The user used to secret key and download
the original file through the secure firewall.
10. CODING
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
namespace Firewall
{
class Class2
{
string constring =
Convert.ToString(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand cmd1, cmd2, c, c1, cmd3;
string id, id1, id2, id3, id4;
int eid, eid1, eid2, eid3, eid4;
}
public void usersearch(string auid, string reqid, string usrid, string unam, string
filnm, string dat, string sta)
{
SqlConnection con3 = new SqlConnection(constring);
con3.Open();
cmd3 = new SqlCommand("insert into usersearch values('" + auid + "','" +
reqid + "','" + usrid + "','" + unam + "','" + filnm + "','" + dat + "','Key not send')", con3);
cmd3.ExecuteNonQuery();
con3.Close();
}
public void keymaintain(string aid, string reqid, string usrid, string secretky,
string path, string path1)
{
SqlConnection con4 = new SqlConnection(constring);
con4.Open();
cmd1 = new SqlCommand("insert into keymaintenance values('" + aid + "','" +
reqid + "','" + usrid + "','" + secretky + "','" + path + "','')", con4);
cmd1.ExecuteNonQuery();
con4.Close();
}
}
}
private void Decryptuser_Load(object sender, EventArgs e)
{
button1.Visible = false;
label1.Text = pat1;
}
public Decryptuser(string strTextBox, string strTextBox1, string strTextBox2,
string strTextBox3)
{
InitializeComponent();
re1 = strTextBox;
id1 = strTextBox1;
pat1 = strTextBox2;
aid4 = strTextBox3;
}
ofdInputImage.InitialDirectory = "C:/";
ofdInputImage.Filter = "Bitmaps|*.bmp";
ofdInputImage.FilterIndex = 0;
//Shows the dialog and interact with the user
if (ofdInputImage.ShowDialog() == DialogResult.OK)
{
pbEncryptedImage.Image = Image.FromFile(ofdInputImage.FileName);
pbEncryptedImage.SizeMode = PictureBoxSizeMode.StretchImage;
pbEncryptedImage.BorderStyle = BorderStyle.Fixed3D;
outputPath = ofdInputImage.FileName;
}
}
}