Professional Documents
Culture Documents
Page 1
Prepared by
Instructor: Date:
Page 2
Contents
1. INTRODUCTION............................................................................................................................2 0.1 DOCUMENT PURPOSE ............................................................................................................................................................3 0.2 DEFINITIONS , ACRONYMS AND ABBREVIATIONS .......................................................................................................................3 0.3 OVERVIEW............................................................................................................................................................................3 0.4 REFERENCES .........................................................................................................................................................................3 2. OVERALL DESCRIPTION...............................................................................................................................................4 2.1 PRODUCT PERSPECTIVE.......................................................................................................................................................4 2.2 PRODUCT FUNCTIONS............................................................................................................................................................4 2.3 USER CHARACTERISTICS .....................................................................................................................................................4 2.4 CONSTRAINTS , ASSUMPTIONS AND DEPENDENCES .................................................................................................................4 3. SPECIFIC REQUIREMENTS.............................................................................................................5 3.1 EXTERNAL INTERFACE REQUIREMENTS ....................................................................................................................................5 3.1.1 User Interfaces.................................................................................................................................................5 3.1.2 Hardware Interfaces.........................................................................................................................................5 3.1.3 Software Interfaces............................................................................................................................................6 3.1.4 Communications Interfaces...............................................................................................................................6 3.2 FUNCTIONAL REQUIREMENTS .................................................................................................................................................6 3.3 PERFORMANCE REQUIREMENTS ...............................................................................................................................................7 3.4 DESIGN CONSTRAINTS..........................................................................................................................................................7 3.5 SOFTWARE SYSTEM ATTRIBUTES ...........................................................................................................................................7
Revisions
Version 1.0 Description of change SRS 1.0 Author(s) Samra Mubeen, Sufyan Ali Date 01/08/2012
1. Introduction
We are going to develop a tool that will simulate stateful network traffic to test a firewall.
Page 3
Before discussing further about this tool, we have to understand the concept of stateful network traffic. In stateful network traffic there exists packet pattern matching and decoding of the underlying protocols and their states throughout the evolution. Stateful classifiers track the dynamic negotiations and hence have the ability to predict and decode traffic spawned on ephemeral ports. This tool/device will generate data of unique nodes in LAN and show required and actual results after testing the firewall. The user will execute a command on terminal and this tool will produce results according to user customized inputs. The main benefit is that the firewalls tester/user need not to buy expensive machines/devices for testing firewall in a LAN by generating data from these machines rather this tool will generate this data. On the contrary, a tester will generate data explicitly from different devices in the LAN and then test the firewall. So by using this tool very less cost will required to test a firewall.
0.3 Overview
Software requirement specifications (SRS) document is a description of the expected software features, constraints, interfaces and other attributes. Aim of this document is to document the agreed requirements with the project supervisor; to provide the basis for design; to provide the basis for system test.
0.4 References
Page 4
2. Overall Description
2.1 Product Perspective
Stateful Network Traffic Simulator is a tool which simulates a network's traffic. It will simulate stateful traffic to test a firewall. This tool/device will take different customized inputs from user, then generate data of unique nodes in LAN and show required and actual results after testing the firewall. Testers of a firewall can test it without buying machines/devices explicitly rather simulator will generate data of all devices and send it to firewall. User will give different customized inputs and this device will generate data accordingly. When user will execute a command to terminal, it will start working according to different customized inputs given to it.
2.2
Product Functions
Using Stateful Network Traffic Simulator the tester can test a firewall. The functions of system are 1. Generate network traffic data. 2. Maintain different number of flows. 3. Display report of the test on firewall. 4. Display graph of test. 5. Send emails to specific addresses.
Page 5
Validate terminal command given by tester The command given by tester to start simulator should be valid. If it is incorrect, prompt error message that Enter valid command Validate Input File Input file should be according to standard format given to tester. If it is not in correct format, prompt error message Give inputs in correct format Get detailed report of simulated traffic.
3. Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
The script will run in command line without requirement of any GUI. It will use configuration files along with command line switches to control its required functionality. The user has to provide his customized inputs in a configuration file, then he will execute a command on terminal and simulator will start working and display result at the end. Interaction between user and system will be via terminal.
SNTS will show its output in the form of HTML page. 3.1.2 Hardware Interfaces The hardware should have following specifications Linux machine is required for this project. Ability to read and execute commands from terminal Ability to take inputs from user Continuous power supply Ability to connect to network Hardware should be fast enough to handle the fast data generation since this script will use high resources. Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz Network connectivity Network Interface Card(NIC) Switch Gateway An internal modem (28.8 kbps or higher) or an available serial port to attach an external one. A cable /DSL modem + USB cable or cable / DSL modem + Ethernet cable.
Page 6
A wireless card + wireless router connected to the cable / DSL modem. 3.1.3 Software Interfaces Operating System (Linux) Python interpreter 2.7 or higher. LAN Drivers 3.1.4 Communications Interfaces SNTS will use different libraries and packages in python for the communication between current and target machines and for other purposes like sending emails. It will require HTTP for the transmission of data.
Page 7
o UDP Base Duration of test. Required and actual flows maintained with graph.
3.2.4 Send Emails It will read email addresses from input file. Send the results of test in the form html to the specified email address.
This tool will perform better if machines have good specifications because the data transfer rate will be more and data will travel faster. It should perform in diverse conditions It will perform faster if there are less number of flows sending or receiving data. The machines should have high data transfer rates.