Heuistic
Heuistic
1.INTRODUCTION
1.1SYNOPSIS
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 (nd) , thus the worst case complexity for firewall rules is no better than that
of GEM.
2.ORGANIZATION PROFILE
ABOUT US
Pixel Techz is leading software development and offshore outsourcing company primarily focus on
software product development, website designing resource management and handles the cutting-edge
technology for several clients around the world. Pixel Techz applies innovative strategy that converts
the students MNCs dreams jobs comes to reality by taking this important training program that going
to make huge positive impact in their life. We are also pioneers in the technical training programs in
the following areas: Computer Networking, J2ME Android Developer, Cloud Computing,
Microsoft.Net Developer, Oracle Developer, custom software and application development,
outsourced product development and database programming. We have strong and well-trained team
of trainers with proven track record at national and international level and conducted more than 200
training programs in various colleges and universities. Pixel Techz blends deep technical capabilities
with a strong service orientation and process focus to offer a compelling value proposition to its
clients. Pixel Techz is a values-driven, highenergy organization with a fast-growing team of top-
notch professionals. By leveraging the onsite - offshore model, we provide speedy and affordable
solutions that allow us to stretch web IT budgets. Pixel Techz is managed by a team of professional
drawn from globally reputed companies. Pixel Techz has an outstanding track record of service
delivery. Our Proven domain expertise across verticals, processes, project management
methodologies, rapid time-to-market and cost savings (up to 40%) have earned us satisfied
customers. Today, Pixel Techz stands as an obvious choice for software services companies who
want to harness the dual power of outsourcing and off shoring. In the advent of economic
development in India, Pixel Techz in the process of associating themselves with STPI, QAI
institutions – to spearhead their expertise and experience gained in Indian horizon.
3. SYSTEM ENVIRONMENT
3.1SYSTEM CONFIGURATION
HARDWARE REQUIREMENTS
RAM : 2GB
SOFTWARE REQUIREMENTS
Coding : C#
One of Windows 10's most notable features is support for universal apps, an
expansion of the Metro-style apps first introduced in Windows 8. The Windows user
interface was revised to handle transitions between a mouse-oriented interface and a
touchscreen-optimized interface based on available input devices particularly on 2-in-1
PCs, both interfaces include an updated Start menu which incorporates elements of
Windows 7's traditional Start menu with the tiles of Windows 8. Windows 10 also
introduced the Microsoft Edge web browser, a virtual desktop system, a window and
desktop management feature called Task View, support for fingerprint and face
recognition login, new security features for enterprise environments, and DirectX 12.
Windows 10 received mostly positive reviews upon its original release in July 2015.
Critics praised Microsoft's decision to provide a desktop-oriented interface in line with
previous versions of Windows, contrasting the tablet-oriented approach of 8, although
Windows 10's touch-oriented user interface mode was criticized for containing
regressions upon the touch- oriented interface of Windows 8. Critics also praised the
improvements to Windows 10's bundled software over Windows 8.1, Live integration,
as well as the functionality and capabilities of the personal assistant and the replacement
of Internet Explorer with Microsoft Edge. However, media outlets have been critical of
Microsoft and its partners and the adware-like tactics used to promote the operating system on its
release.
Microsoft aimed to have Windows 10 installed on at least one billion devices in the two to three
years following its release. Up to August 2016, Windows 10 usage was increasing, with it
then plateauing, while eventually in 2018, it became more popular than Windows 7 (though that
is still more used in most countries in Asia and Africa) and thus the single most used Windows
version overall (at 48.18%, thus the other more used overall),[19] though not on some continents
as measured by web traffic. As of September 2018, the operating system is running on more than
700 million devices and has an estimated usage share of 32% on traditional PCs and 15% across
all platforms (PC, mobile, tablet, and console).
HARDWARE RECOMMENDATIONS
Windows 10 provides a terrific experience on the same hardware that runs Windows 10. Table 1-
1 describes the hardware recommendations for Windows 8. In fact, it might even notice that PCs
seem to work even better after upgrading from Windows 7 to Windows 10.
Low-power Bluetooth
GPS
Gyroscopes
It will also be able to take advantage of security hardware technologies like Trusted
Platform Module (TPM) and Unified Extensible Firmware Interface (UEFI) boot.
FILE EXPLORER
File Explorer is the new Windows Explorer. File Explorer has quite a history, going all
the way back to the days of MS-DOS. Over the years, the tool now known as File Explorer has
evolved. It used to be called File Manager, and for a long time it was called Windows Explorer.
With the release of Windows 8, Windows Explorer is now known as File Explorer.
TASK MANAGER
With the new Task Manager, it can quickly see running programs and can also end tasks
if there is an issue. But IT pros and power users frequently want to see more information about
the running tasks and the overall status of the system. By clicking More Details, it sees a
significant amount of information about the processes running on either PC, its performance.
Merely looking at the available tabs reveals that there is a lot of information and many options
here. Like File Explorer, the Task Manager interface has been redesigned to serve the needs of
all types of users.
PROFILE CUSTOMIZATION
Profile customization in Windows 8 is simple. Both roaming and local profiles are available in
Windows 8. Roaming profiles allow user customizations to be saved remotely and accessed on
any Windows 8 machine. Local profiles are stored locally on the file system volume just like
those in previous versions of Windows. To manage the user experience for generating local
profiles, Sipper is available in Windows 8. Default customizations can be packaged, just like in
Windows 7, and redeployed in the out-of-box experience (OOBE) after system imaging is
performed.
NETWORKING ENHANCEMENTS
Windows 8 and Windows Server 2012 provides new features and resources when
deployed together. Many new features that IT pros love about Windows Server 2012 are
optimized for use with Windows 8 clients. In fact, many of the new improved management
features in Windows Server 2012 can also be used from a local console only available in
Windows 8. Many redesigned features were available in Windows Server 2008 but have been
imagined for the modern, expanding business needs.
SECURITY
Microsoft Windows 8 builds on the security features of Windows 7. It enables the
enterprise to provide a secure and a stable computing platform from which users can accomplish
their tasks. Three primary areas are the focus of the Microsoft security approach. Those areas
include the following:
Protect the client against threats.
Protect sensitive data
Secure access to resources.
To help protect a client against threats, Windows 8 offers several enhancements such as
Trusted Boot, Internet Explorer SmartScreen Application Reputation, and app sandboxing. The
changes made to Bit Locker in Windows 8 highlights the efforts to protect sensitive data. It
Secure access to resource centers on Virtual Smart cards and Dynamic Access Control.
COMMAND LINE
Windows Console windows (for both PowerShell and the legacy Command Prompt) can
now be resized without any restrictions, can be made to cover the full screen by pressing Alt +
↵
Enter , and can use standard keyboard shortcuts, such as those for cut, copy, and paste. Other
features such as word wrap and transparency were also added. These functions can be disabled to
revert to the legacy console if needed.
The Anniversary Update added Windows Subsystem for Linux (WSL), which allows the
installation of a user space environment from a supported Linux distribution that runs natively on
Windows. The subsystem translates Linux system calls to those of the Windows NT kernel (only
claims full system call compatibility as of WSL 2, included in a later Windows update). The
environment can execute the Bash shell and 64-bit command-line programs. Windows
applications cannot be executed from the Linux environment, and vice versa. Linux distributions
for Windows Subsystem for Linux are obtained through Microsoft Store. The feature initially
supported an Ubuntu-based environment; Microsoft announced in May 2017 that it would
The .NET framework includes tools that ease the creation of web services. ASP.NET
is the latest offering from Microsoft toward the creation of a new paradigm for server-side
scripting. We will see the basics of ASP.NET, which provides a complete framework for the
development of web applications. Here we get introduced into ASP.NET, the platform
requirements for ASP.NET applications, and the ASP.NET architecture. In addition, we get
introduced to web forms of ASP.NET applications, a new addition to ASP.NET.
ASP .NET differs in some ways from earlier versions OS ASP. ASP.NET has new
features such as better language support, a new set of controls, XML-based components, and
more secure user authentication. ASP.NET also provides increased performance by executing
ASP code.
BENEFITS OF ASP.NET
Applications used to perform server-side processing, but this has two major
drawbacks. First, scripting language is interpreted and not complied. Therefore, the errors can
only be checked at runtime. This affects the performance of web applications. Second,
scripting language is not strongly typed. The scripting languages do not have a built –in set of
predefined data types. This requires developers to cast the existing objects of the language to
their expected data type. Thus, these objects can be validated only at runtime. This validation
DIRECTIVES
<% @ page language =”VB” […] %>
[ lines of code ]
</script>
<%
%>
</HTML element>
SUB PROPERTY
Run at =”server”/>
Identifier=”id Name”/>
SERVER-SIDE COMMENTS
An application in ASP.NET consists of files, pages, modules, and executable code that
reside in one virtual directory and its subdirectories. Application state is stored in global
variables for a given ASP.NET application. For that Reason developers have to follow some
implements rules .Variables for storing application state occupy system resources. A global
variable has to be locked and unlocked to prevent problems with concurrent access.
The term server controls always means Web Forms server controls, because they are
specially designed to work with Web Forms.
DATA BINDING
We can bind Web Forms control properties to any data in a data store. This so-called
data binding gives us nearly complete control over how data moves to the page and back
again to the data store.
PAGE CLASS
When a page is loaded, the ASP.NET runtime generates and instantiates a page class.
This object forms a collection of our separate components (like visual elements and business
logic). So all (visual and code) elements are accessible through this object.
We can convert simple HTML elements to HTML server controls, let the ASP.NET
engine create an instance on the server, and now they are programmable on the server. The
conversion is done by simply adding attributes to the HTML tag. The attributes runat=server
informs the framework to create a server-side instance of the control. If we additionally
assign an ID, we can reference the control in our code.
For example, we can use the HTML Anchor control to program against the HTML
<a> tag to dynamically generate the H Ref values, or use Html Table (HTML <table>) to
dynamically create tables and their content.
Another feature is the typed object model. This gives us the potential for type-safe
programming. Server controls can automatically detect what browser we are using and
generate the proper version of HTML output.
BUTTON
This is way to enable the user to finish editing a form. A Button enforces the
submitting of the page, and we can additionally raise events like the Click event.
TEXTBOX
A Textbox is an input box where the user can enter information like numbers, text, or
dates formatted as single line, multilane, or password. This control raises a Text Changed
event when the focus “leaves” the control.
VALIDATION CONTROLS
Another group of server controls are validation controls. These can be used to check
the user’s entries. Validation can be processed on the client and on the server. Validation on
the client side can be performed using a client script. In that case, the user will be confronted
with immediate feedback-without a round trip to the server.
Required entry- the field must be filled in by the user. Comparison to a value- the
entered value is checked against another value of another field, a database, or a constant
value by using comparison operators. Range checking – the user’s entry is checked to see
whether it resides between given boundaries. Pattern matching- a regular expression is
defined that the entered value must match. User’s defined- implement our own validation
logic. When the validation fails, an error message is generated and sent back to the client
browser. This can be done in several ways. For example, all error messages related to a
specific transaction could be collected and presented to the user in summary.
C#
Microsoft C# (pronounced C sharp) is a new programming language designed for
building a wide range of enterprise applications that run on the .NET Framework. An
evolution of Microsoft C and Microsoft C++, C# is simple, modern, type safe, and object
oriented. C# code is compiled as managed code, which means it benefits from the services of
the common language runtime. These services include language interoperability, garbage
collection, enhanced security, and improved versioning support.
C# is introduced as Visual C# in the Visual Studio .NET suite. Support for Visual
C# includes project templates, designers, property pages, code wizards, an object model, and
other features of the development environment. The library for Visual C# programming is the
.NET Framework.
C# has a unified type system. All C# types, including primitive types such as int and
double, inherit from a single root object type, thus, all types share a set of common
operations, and values of any type can be stored, transported, and operated upon in a
consistent manner. Furthermore, C# supports both user-defined reference types and value
types, allowing dynamic allocation of objects as well as in-line storage of lightweight
structures.
To ensure that C# programs and libraries can evolve over time in a compatible
manner, much emphasis has been placed on versioning in C#’s design. Many programming
languages pay little attention to this issue, and, as a result, programs written in those
languages break more often than necessary when newer versions of dependent libraries are
introduced. Aspects of C# ’s design that were directly influenced by versioning
considerations include the separate virtual and override modifiers, the rules for method
overload resolution, and support for explicit interface member declarations.
The changes that are made should not affect the user’s ability to work with the data. The changes can
be splitting the table into many more tables.
THE INTEGRITY INDEPENDENCE RULE
The integrity constraints should be stored in the system catalogue are in the database as a table. THE
NON SUBVERSION RULE--The non-subversion rule states that different levels of the language
cannot subvert or by pass the integrity rules and constraints. To put it simple words, if RDBMS
supports a lower level language then it should not by pass integrity constraints defined in the higher
level.
BENEFITS OF DBMS
➢ Minimal redundancy
➢ Data consistency
➢ Data sharing
➢ Data integrity
➢ Privacy and security
➢ Data independence
MINIMAL REDUNDANCY
Redundant data are space expensive. They required more than one updating operation, further as
different copies of data may be indifferent storage of updating; this system may not give consistent
information. Hence a database system can be used to eliminate redundancy whenever possible.
DATA CONSISTENCY
When changing occurred in a data item, every file, which contains that field, should be updated to
reflect the change. Database system can be used to eliminate redundancy whenever possible.
DATA SHARING
A control database can be located on a server, which can be shared by several users. In fact, a
database can be shared by several users. This sharing enables central storage of the database.
DATA INTEGRITY
When many users put in the database it is very important that the data item and association between
data-items are not destroyed. Integrity checks can be performed at the data level itself, by checking
that data values confirm to certain specified rules.
➢ Define a database.
Structured Query Language (SQL). MySQL runs on virtually all platforms, including Linux, UNIX
and Windows. Although it can be used in a wide range of applications, MySQL is most often
associated with web-based applications and online publishing and is an important component of an
open source enterprise stack called LAMP. LAMP is a Web development platform that uses Linux as
the operating system, Apache as the Web server, MySQL, as the relational database management
system and PHP as the object-oriented scripting language. (Sometimes Perl or Python is used instead
of PHP.) MySQL, which was originally conceived by the Swedish company MySQL AB, was
acquired by Oracle in 2008. Developers can still use MySQL under the GNU General Public License
(GPL), but enterprises must obtain a commercial license from Oracle. Off shoots of MySQL are
called forks. They include:
Using Visual Studio.NET, there is no need to open the Enterprise Manager from SQL Server.
Visual Studio.NET has the SQL Servers tab within the Server Explorer that gives a list of all the
servers that are connected to those having SQL Server on them. Opening up a particular server tab
gives five options:
• Database Diagrams
• Tables
• Views
• Stored Procedures
• Functions
DATABASE DIAGRAMS
To create a new diagram right click Database diagram and select New Diagram. The Add Tables
dialog enables to select one to all the tables that it went in the visual diagram it are going to create.
Visual Studio .NET looks at all the relationships between the tables and then creates a diagram that
opens in the Document window.
Each table is represented in the diagram and a list of all the columns that are available in that
particular table. Each relationship between tables is represented by a connection line between those
tables. The properties of the relationship can be viewed by right clicking the relationship line.
TABLES
The Server Explorer allows to work directly with the tables in SQL Server. It gives a list of tables
contained in the particular database selected. By double clicking one of the tables, the table is seen in
the Document window.
This grid of data shows all the columns and rows of data contained in the particular table. The
data can be added or deleted from the table grid directly in the Document window. To add a new row
of data, move to the bottom of the table and type in a new row of data after selecting the first column
of the first blank row. It can also delete a row of data from the table by right clicking the gray box at
the left end of the row and selecting Delete.
By right clicking the gray box at the far left end of the row, the primary key can be set for that
particular column. The relationships to columns in other tables can be set by selecting the
Relationships option. To create a new table right-click the Tables section within the Server Explorer
and selecting New Table. This gives the design view that enables to start specifying the columns and
column details on the table.
To run queries against the tables in Visual Studio .NET, open the view of the query toolbar by
choosing View->Toolbars->Query. To query a specific table, open that table in the Document
window. Then click the SQL button which divides the Document window into two panes-one for
query and another to show results gathered from the query. The query is executed by clicking the
Execute Query button and the result is produced in the lower pane of the Document window.
VIEWS
To create a new view, right-click the View node and select New View. The Add Table dialog box
enables to select the tables from which the view is produced. The next pane enables to customize the
appearance of the data in the view.
FEATURES OF SQL
The OLAP Services feature available in SQL Server version 7.0 is now called SQL Server 2000
Analysis Services. The term OLAP Services has been replaced with the term Analysis Services.
Analysis Services also includes a new data mining component. The Repository component available
in SQL Server version 7.0 is now called Microsoft SQL Server 2000 Meta Data Services.
References to the component now use the term Meta Data Services. The term repository is used
only in reference to the repository engine within Meta Data Services.
SQL-SERVER database consist of six types of objects,
They are,
• TABLE
• QUERY
• FORM
• REPORT
• MACRO
TABLE
A database is a collection of data about a specific topic.
VIEWS OF TABLE
It can work with a table in two types,
• Design View
• Datasheet View
DESIGN VIEW
To build or modify the structure of a table, it work in the table design view. It can specify what
kind of data will be held.
DATASHEET VIEW
To add, edit or analyze the data itself, it work in a table datasheet view mode.
QUERY
A query is a question that has to be asked the data. Access gathers data that answers the question
from one or more table. The data that make up, the answer is either diagnosed (if it, edit it) or a
snapshot (it cannot be edited). Each time it run the query, it get the latest information in the dynasty.
Access either displays the dynamic set or snapshot for us to view or perform an action on it such as
deleting or updating.
FORMS
A form is used to view and edit information in the database record by record. A form displays
only the information it want to see in the way it want to see it. Forms use the familiar controls such
as textboxes and checkboxes. This makes viewing and entering data easy.
VIEWS OF FORM
It can work with forms in several primarily there are two views, They are,
• Design View
• Form View
DESIGN VIEW
To build or modify the structure of a form, it work in form design view. It can add controls to the
form that are bound to fields in a table or query, includes text boxes, option buttons, graphs and
pictures.
FORM VIEW
The form view, which displays the whole design of the form.
REPORT
A report is used to view and print information from the database. The report can ground records
into many levels and compute totals and average by checking values from many records at once. The
report is also attractive and distinctive because it have control over the size and appearance of it.
MACRO
A macro is a set of actions. Each action in macros does something. Such as opening a form, or
printing a report. It write macros to automate the most common tasks the work easier and save the
time.
XAMPP
What is XAMPP?
XAMPP is an open-source web server package that works on various platforms. It is actually an
acronym with X meaning “cross” platform, A for Apache HTTP server, M for MySQL, P for
PHP, and P for Perl. XAMPP was designed to help webpage developers, programmers, and
designers check and review their work using their computers even without connection to the
web or internet. So, basically XAMPP may be used to stand as pages for the internet even
without connection to it. It can also be used to create and configure with databases written in
MySQL and/or SQLite. And since XAMPP is designed as a cross-platform
server package, it is available for a variety of operating systems and platforms like Microsoft
Windows, Mac OS X, Linux, and Solaris. To use XAMPP, only one zip, exe or tar file is
needed. Users just need to download this file and run the application. There is also not much
configuration and tinkering to be done in terms of settings and its components. The XAMPP
package is also updated on a regular basis to synchronize with the updates made on the different
platforms involved in the package like Apache, PHP, Perl, and MySQL.
Aside from being cross-platform, XAMPP is also a freeware. This means users on
different operating systems can download this server package free of charge. Not to mention
that there is no configuration necessary to setup the system. After downloading and extracting
the free application, users can immediately use XAMPP. Users also do not have to worry on
removing the application. If XAMPP is not needed by the user anymore, removing it should not
present any problem. One just needs to delete the XAMPP directory and all the files
concerning this server package will be deleted. Or if XAMPP was installed using the Windows
installer version, one just needs to go to the “uninstall” feature of the operating system to get rid
of the server package.
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation
of a document written in a markup language. Although most often used to set the visual style of
web pages and user interfaces written in HTML and XHTML, the language can be applied to
any XML document, including plain XML, SVG and XUL, and is applicable to rendering in
speech, or on other media. CSS is designed primarily to enable the separation of document
content from document presentation, including aspects such as the layout, colors, and fonts.
This separation can improve content accessibility, provide more flexibility and control in the
specification of presentation characteristics, enable multiple HTML pages to share formatting
by specifying the relevant CSS in a separate .css file, and reduce complexity and repetition in
the structural content.
This separation of formatting and content makes it possible to present the same markup
page in different styles for different rendering methods, such as on-screen, in print, by voice
(when read out by a speech-based browser or screen reader) and on Braille-based, tactile
devices. It can also be used to display the web page differently depending on the screen size
or device on which it is being viewed. Readers can also specify a different style sheet,
such as a CSS file stored on their own computer, to override the one the author has
specified.
Changes to the graphic design of a document (or hundreds of documents) can be applied
quickly and easily, by editing a few lines in the CSS file they use, rather than by changing
markup in the documents.
The CSS specification describes a priority scheme to determine which style rules apply if
more than one rule matches against a particular element. In this so-called cascade, priorities
(or weights) are calculated and assigned to rules, so that the results are predictable.
APACHE
Apache is the most popular Web server software. It enables a computer to host one or
more websites that can be accessed over the Internet using a Web browser. The first version
of Apache was released in 1995 by the Apache Group. In 1999, the Apache Group became
the Apache Software Foundation, a non-profit organization that currently maintains the
development of the Apache Web server software.
Apache's popularity in the Web hosting market is largely because it is open source
and free to use. Therefore, Web hosting companies can offer Apache-based Web hosting
solutions at minimal costs. Other server software, such as Windows Server, requires a
commercial license. Apache also supports multiple platforms, including Linux, Windows, and
Macintosh operating systems. Since many Linux distributions are also open-source, the
Linux/Apache combination has become the most popular Web hosting configuration.
Apache can host static websites, as well as dynamic websites that use server-side
scripting languages, such as PHP, Python, or Perl. Support for these and other languages is
implemented through modules, or installation packages that are added to the standard Apache
installation. Apache also supports other modules, which offer advanced security options, file
management tools, and other features. Most Apache installations include a URL rewriting
module called "mod_rewrite," which has become a common way for webmasters to create
custom URLs.
While the Apache Web server software is commonly referred to as just "Apache," it is
technically called "Apache HTTP Server," since the software serves webpages over the HTTP
protocol. When Apache is running, its process name is "httpd," which is short for "HTTP
daemon.
Apache Open Office
Apache Open Office is the leading open-source office software suite for word
processing, spreadsheets, presentations, graphics, databases and more. It is available in many
languages and works on all common computers. It stores all your data in an international open
standard format and can also read and write files from other common office software packages.
It can be downloaded and used completely free of charge for any purpose.
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.
Firewall packet matching is reminiscent of the well studied packet matching problem.
However, there are several crucial differences which make the problems quite different. First,
unlike firewalls, routers use “longest prefix match” semantics. Therefore, firewalls require their
own special algorithm
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.
(i) A slow algorithm that implements the “first match” semantics and compares a
packet to all the rules
(ii) A fast state lookup mechanism that checks whether 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 d-dimensional hyper-rectangles, with a linear space
requirement and O ((log n) (d−1)) search time.
Advantages:
Packet filter firewall over configurations of simple network works with more speed. The thing
behind this is that packet filter firewall has the directly connection within external hosts &
internal users.
Packet filters take decisions on the basis of the each packets, it doesn't take decision on the
basis of the traffic context. An increases the vulnerability over internet.
5.SYSTEM ARCHITECTURE
5.1 SYSTEM FLOW CHART
Database
Apply
Verify key and Assign
Send protection
detect invalid rule for
encrypted rules
user users
key to user
Assign ports to
user for file
access Firewall protection
User Admin
Firewall
Update Database
new users
Authenticate
Register new
Logi
user
Registe
User Login to
Admin
system
MODULES
In order to test the build time, data structure size and search speed behavior, the system
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 un-split, 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 the
system 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 the system believe that GEM may
be a good candidate for use in firewall matching engines.
Access database
Firewall
Update Database
new users
Authenticate
Register new
Logi
user
Registe
User Login to
Admin
system
2. Encryption module:
Firewall
Database
Process request
Provide encrypted
key
Reque
Monito Monitor user
access
Request
for file
User
Admin
The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the
functionality of components sub assembles and/or a finished product. It is the process of
exercising software with the intent of ensuring that the software system meets its requirements
and user expectations and does not fail in an unacceptable manner. There are various types of
test. Each test type addresses a specific testing requirement.
TYPES OF TESTS:
UNIT TESTING:
Unit testing involves the design of test cases that the internal program logic is functioning
properly, and that program inputs produce valid outputs. All decision branches and internal code
flow should be validated. It is the testing of individual software units of the application. It is
done after the completion of an individual unit before integration.
INTEGRATION TESTING:
Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
individually satisfaction, as shown by successfully unit testing, the combination of components is
correct and consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.
FUNCTIONAL TESTING:
Function tests provide a systematic demonstration that functions tested are available as
specified by the business and technical requirements, system documentation and user manuals.
Business process flows, data fields, predefined processes, and successive processes must
be considered for testing. Before functional testing is complete, additional tests are identified and
the effective value of current tests is determined.
MAINTENANCE
Maintenance means improvement of system functions and the correction of faults, which
arise during the operation of the system. In this phase the product is maintained or changed to
satisfy the changes that arise from the customer expectations, environmental changes etc.
Maintenance is made up of,
Corrective maintenance
Adaptive maintenance
Preventive maintenance
PERFORMANCE TESTING:
Performance test was conducted to identify the bottlenecks involved in the system and to
evolve the amount of execution time spent on various part of the unit. The response time of the
activities performed by the system is verified and is found to be reasonable.
7. SAMPLE CODE
FORM 1:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Windows.Forms;
namespace Clients
{
public partial class Form1 : Form
{
IPEndPoint ipEnd;
Socket clientSock;
BinaryWriter bWrite;
string GetIPv4Address = String.Empty;
string ipAddress = string.Empty;
private string ip;
public Form1()
{
{
InitializeComponent();
// TODO: Complete member initialization
this.ip = ip;
GetIPv4Address = ip;
}
MessageBox.Show(filenameonly);
string full = receivedPath + filenameonly;
if (System.IO.Path.GetExtension(filenameonly) == ".exe" ||
System.IO.Path.GetExtension(filenameonly) == ".lnk")
{
if (MessageBox.Show("Click Yes To Continue", "Warning", MessageBoxButtons.YesNo,
MessageBoxIcon.Warning) == DialogResult.Yes)
{
// MessageBox.Show(receivedPath);
// MessageBox.Show(filenameonly);
MessageBox.Show("received Successfully " + "\n Filename :\t:" + fileName, "Status",
MessageBoxButtons.OK, MessageBoxIcon.Information);
bWrite.Close();
clientSock.Close();
progressBar1.Value = 0;
for (int k = 0; k < 100; k++)
{
System.Threading.Thread.Sleep(250);
progressBar1.Value = 1 + k;
}
}
catch (Exception ex)
{
MessageBox.Show("Connection Busy Try Later");
}
}
}
// this.Left= (Screen.PrimaryScreen.WorkingArea.Width) / 2;
// this.Top = (Screen.PrimaryScreen.WorkingArea.Height) / 2;
//try
//{
//string strHostName = Dns.GetHostName();
//IPHostEntry iphe = System.Net.Dns.GetHostEntry(strHostName);
//{
// if (iphel.AddressFamily == AddressFamily.InterNetwork)
// {
// GetIPv4Address = iphel.ToString();
// }
//}
//}
//catch (Exception ex)
//{
// MessageBox.Show(ex.Message + ex.Data);
//}
// Console.ReadLine();
FORMINFOR :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Clients
{
public partial class Forminfo : Form
{
private string GetIPv4Address;
private string filenameonly;
private int fileNameLen;
public Forminfo()
{
// this.Left= (Screen.PrimaryScreen.WorkingArea.Width) / 2;
// this.Top = (Screen.PrimaryScreen.WorkingArea.Height) / 2;
LOGGING :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Clients
{
public partial class Logging : Form
{
public Logging()
{
InitializeComponent();
}
// this.Left= (Screen.PrimaryScreen.WorkingArea.Width) / 2;
// this.Top = (Screen.PrimaryScreen.WorkingArea.Height) / 2;
SEARCH IP :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Clients
{
public partial class SearchIp : Form
{
ComboBox combo = new ComboBox();
public SearchIp()
{
InitializeComponent();
}
// this.Left= (Screen.PrimaryScreen.WorkingArea.Width) / 2;
// this.Top = (Screen.PrimaryScreen.WorkingArea.Height) / 2;
groupBox1.Show();
// System.Threading.Thread.Sleep(6000);
combo.Text = "Select Your Ip";
ComboBox machine = new ComboBox();
TableLayoutPanel table = new TableLayoutPanel();
TextBox my;
Label la;
int i = 0;
string msg = "";
string[] ip = new string[15];
string hostnames = string.Empty;
// MessageBox.Show("Success"+rep.Address.ToString());
//ip[i]= rep.Address.ToString();
//msg = msg + ip[i].ToString();
// MessageBox.Show(ip[i].ToString());
//ip[i]=rep.Status.ToString();
//count++;
//IPHostEntry host;
//host = Dns.GetHostEntry(ip[i].ToString());
// hostnames= host.HostName;
// machine.Items.Add(hostnames);
table.Dock = DockStyle.Bottom;
table.Width = 200;
table.RowCount = 1;
// table.BackgroundImage=Image.FromFile("D:\\NetworkIp\\NetworkIp\\Ima\\blue-gradient-
abstract-hd-wallpaper-1920x1200-4430.jpg");
table.BackColor = Color.Transparent;
ip[i] = rep.Address.ToString();
combo.Items.Add((ip[i].ToString()));
table.Controls.Add(combo);
//this.Controls.Add(machine);
this.Controls.Add(table);
}
}
}
private void combo_SelectedIndexChanged(object sender, EventArgs e)
{
string ip = combo.SelectedItem.ToString();
if (MessageBox.Show("Connected Ip\t:" + ip, "Ip", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) == DialogResult.Yes)
{
Form1 form1 = new Form1(ip);
form1.Show();
this.Hide();
// ClientConnect cc = new ClientConnect(ip);
// cc.Show();
}
// combo.SelectedValueChanged +=new EventHandler(combo_SelectedValueChanged);
combo.SelectedIndexChanged += new EventHandler(combo_SelectedIndexChanged);
var currentArea = Screen.FromControl(this).WorkingArea;
// this.Left= (Screen.PrimaryScreen.WorkingArea.Width) / 2;
// this.Top = (Screen.PrimaryScreen.WorkingArea.Height) / 2;
groupBox1.Show();
// System.Threading.Thread.Sleep(6000);
combo.Text = "Select Your Ip";
ComboBox machine = new ComboBox();
TableLayoutPanel table = new TableLayoutPanel();
TextBox my;
Label la;
int i = 0;
string msg = "";
string[] ip = new string[15];
string hostnames = string.Empty;
}
}
// combo.SelectedValueChanged +=new EventHandler(combo_SelectedValueChanged);
combo.SelectedIndexChanged += new EventHandler(combo_SelectedIndexChanged);
var currentArea = Screen.FromControl(this).WorkingArea;
// this.Left= (Screen.PrimaryScreen.WorkingArea.Width) / 2;
// this.Top = (Screen.PrimaryScreen.WorkingArea.Height) / 2;
Sir Issac Newton College of Arts and Science
A Heuristic Approach for Privacy Preserving Protocol for Cooperative Firewall Optimization
groupBox1.Show();
// System.Threading.Thread.Sleep(6000);
combo.Text = "Select Your Ip";
ComboBox machine = new ComboBox();
TableLayoutPanel table = new TableLayoutPanel();
TextBox my;
Label la;
int i = 0;
string msg = "";
string[] ip = new string[15];
string hostnames = string.Empty;
SOCKET :
// //my.Width = Screen.PrimaryScreen.Bounds.Width;
//// my.Anchor = AnchorStyles.Bottom;
// MessageBox.Show("Success"+rep.Address.ToString());
//ip[i]= rep.Address.ToString();
//msg = msg + ip[i].ToString();
// MessageBox.Show(ip[i].ToString());
//ip[i]=rep.Status.ToString();
//count++;
//IPHostEntry host;
//host = Dns.GetHostEntry(ip[i].ToString());
// hostnames= host.HostName;
// machine.Items.Add(hostnames);
table.Dock = DockStyle.Bottom;
table.Width = 200;
table.RowCount = 1;
// table.BackgroundImage=Image.FromFile("D:\\NetworkIp\\NetworkIp\\Ima\\blue-gradient-
abstract-hd-wallpaper-1920x1200-4430.jpg");
table.BackColor = Color.Transparent;
ip[i] = rep.Address.ToString();
combo.Items.Add((ip[i].ToString()));
table.Controls.Add(combo);
//this.Controls.Add(machine);
this.Controls.Add(table);
}
p.Dispose();
}
// this.Left= (Screen.PrimaryScreen.WorkingArea.Width) / 2;
// this.Top = (Screen.PrimaryScreen.WorkingArea.Height) / 2;
transfer.Show();
this.Hide();
// ClientConnect cc = new ClientConnect(ip);
// cc.Show();
}
CLIENT
10.REPORTS
11. CONCLUSION
The GEM algorithm is an efficient and practical algorithm for firewall packet
matching. We implemented it successfully, and tested its packet-matching speeds .
GEM’s matching speed is far better than the naive linear search, and it is able to
increase the throughput by an order of magnitude. On rule-bases generated according
to realistic statistics, GEM’s space complexity is well within the capabilities of modern
hardware. Thus we believe that GEM may be a good candidate for use in firewall
matching engines.
12.BIBLIOGRAPHY
1. User Interfaces in C#: Windows Forms and Custom Controls by Matthew MacDonald.
2. Applied Microsoft® .NET Framework Programming (Pro-Developer) by Jeffrey Richter.
3. Practical .Net2 and C#2: Harness the Platform, the Language, and the Framework
by Patrick Smacchia.
4. Operating System Concepts, by Abraham Silberschatz.
5. Amichai-Hamburger, Y., Fine, A., & Goldstein, A. (2004). The impact of Internet
interactivity and need for closure on consumer preference. Computers in Human
Behavior, 20, 103-117.
6. F. Baboescu and G. Varghese, “Scalable packet classification,” in Proc. ACM
SIGCOMM, 2001, pp. 199–210.
WEBSITES
http://www.sourcefordgde.com
http://www.patentstorm.us/patents/7124098.html
http://mktsci.journal.informs.org/cgi/content/abstract/19/1/4
http://www.almaden.ibm.com/software/quest/Resources/
http://www.computer.org/publications/dlib