Download Final presentation

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Universal Plug and Play wikipedia , lookup

Zigbee wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Computer network wikipedia , lookup

Airborne Networking wikipedia , lookup

Network tap wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Transcript
Industrial supervisor: Niv Itzhaky, Amdocs
Students: Ira Magitman & Shahar Meir
Industrial project final meeting


Network devices are very expansive and topology
mapping is important to telecommunications
companies.
Enabling telecom carriers and communications service
providers to maximize their networks’ resources will be
cost beneficial.

The goal of the project is to create a device that can
automatically discover network devices using ICMP
(performing Ping), SNMP (Simple Network Management
Protocol) & Telnet (terminal-emulation protocol)
protocols and store device information in XML files.
There are 2 options for scanning:
 Range scanning:
1.
2.
3.

IP address range
IP subnet and mask
IP subnet and number of mask bits (CIDR)
Seed scanning. Provided a seed router or set of seed
routers, the program retrieves routing related tables
that contain information about other potential
discoverable devices and recursively discovers
neighbors.



The algorithm makes an initial list of devices and
Ping/SNMP/Telnet each of the devices using the list of
credentials.
Communication with a device is performed in a multithread application with thread pool management.
Seed Scanning is done according to given restrictions,
so to avoid scanning the entire subnet.


We created a device that can automatically sweep a
subnet and discover it’s network devices.
The application is multi-threaded, platform
independent and able to discover a subnet in a
reasonable time.
◦ We were able to decrease the runtime from 20 seconds in average
per IP to less than a second per IP in the multi-threaded
implementation (when we ran it with 100 threads).
◦ We used timeout limitations for each protocol in order to avoid
waiting too long when entering a wrong password or when there
is no communication to the IP.



The network sweep device gathers information about
devices in the subnet using ICMP (Ping), SNMP and
Telnet protocols.
The application is provided (through input files or the
GUI) with a list of SNMP passwords and a pair of
username & password for Telnet communication.
While executing the net sweep, these passwords are
used when attempting to communicate with a network
device in the subnet.



The device is able to identify (partially) routers, using
unique router ids, in the subnet and avoids scanning
them more then once (scans only for one of the router’s
IP address).
The application produces an XML file for every network
device it discovers, containing it’s IP address and
SNMP & Telnet credentials.
The application produces a log file that contains
information about the program’s run and a CSV file
containing communication attempts results for each
protocol and for each network device.


At the beginning of each run the GUI contains all the
data from the input files. If “properties” file doesn’t
contain a needed parameter, the GUI displays a default
value.
The user can alter the parameters and a validation
check is performed for each parameter that appears in
the GUI.


When pressing the “RUN” button the program’s run is
configured according to the input and all the initial data
structures are prepared for the net sweep.
During the program’s execution, the GUI shows real
time information about the program’s progress:
active tasks, waiting tasks and finished tasks.



In order to support fault tolerance, the program saves
the run configuration before starting the net sweep.
Also, during program execution, the current state of the
sweep is back-upped to a recovery file every 30
seconds.
At the beginning of each run the program checks if the
previous run has ended properly or crashed.
If the previous run crashed, the user can choose to start
a new scan or to continue the last one. In case the user
chooses the recovery option, the data from the last run
is restored.


A program that can automatically detect network
devices and store their information in an XML file.
The output of the program:
1.
2.
3.
4.
XML files of discovered devices containing SNMP and
Telnet credentials.
A report of attempted devices, discovery status
(success/fail) and fail reason (in a CSV file).
A log file containing the run flow details and timing.
In case the run crashed, a recovery file containing the
last run details.
Properties
Run time
details
Range
definitions
Passwords



JAVA API on the internet was very helpful and
convenient to use.
Snmp4j library mostly works well and we were able to
use SNMP protocol successfully.
Achieving good performance and multi-threading
isn’t easy. Thinking ahead of the multi-threading
phase (we tried to minimize shared data between
threads) made our lives a little better when we got
there.