Son of Snoop on Steroids (SOSOS)

User’s Guide

1. Background

SOSOS is a computer hardware and software inventory program. It gathers over 220 pieces of information about computers and optionally stores this information in a database. It can be run locally or can be used by an administrator to scan a network.

SOSOS was designed to make the life of the System Administrator easier… many tools are available to gather data similar to SOSOS, but few allow you to automatically record the results into a database.

SOSOS is available as Visual Basic “source code”. That means that you can use Microsoft Visual Studio 2005/2008 to alter the program and recompile the source code to suit your needs.

SOSOS is completely free of charge. SOSOS and its source code is considered in the “public domain”. That means you can do anything you want with it, to include making money from it. There is no licensing requirement.

The “official” home of SOSOS is at http://www.sosos.emmet-gray.com

2. SOSOS Features

SOSOS gathers information about PCs including hardware information such as CPU, memory, hard drives, and serial numbers; software information such as operating system, installed software, and software components; configuration information such as IP address, running processes, desktop settings, and services; and security-related information such as shared resources, modems, account policies, security patches, and virus activity.

Note: SOSOS does not gather any personal information, look at emails, user documents, or track Internet activity.

SOSOS does not have a built-in database… instead it relies on a 3rd-party database application to store its information. A database is not absolutely required. However a lot of SOSOS functions are designed around a database and will be disabled when a database is not configured.

See the Setup and Configuration Guide for additional information on how to compile, configure, and deploy SOSOS in your organization.

3. The SOSOS Suite

SOSOS is actually a suite of programs consisting of the following:

SOSOS – the main application (includes all of the features below)

RunSOSOS – a command-line version for unattended gathering of data

PollSOSOS – a command-line version for network scanning

ViewSOSOS – a read-only interface to SOSOS database

ConfigureSOSOS – a setup utility for the SOSOS suite

SOSOS.exe is the “main” application that may be the only application that’s required in a home or small office environment.

In the most common scenario for a corporate environment, the average user may never see the SOSOS program. The data from their PCs may be gathered by the RunSOSOS program which is designed by default to be “stealthy” and to be run during the login process with no user intervention.

Users can double-click on the SOSOS.exe program to manually scan their PC, save the data, print, or save a report. Administrators can do more…they can use SOSOS to poll remote PCs for their data.

The ViewSOSOS application has the same user interface as the SOSOS application with most of the data gathering features disabled. A user with appropriate database permissions can use ViewSOSOS to look at the data for any PC in the database.

Note: Administrators may prefer to use direct access to the underlying database to view, query, edit, and manage the SOSOS information.

This User’s Guide covers only the SOSOS and ViewSOSOS programs. See the Setup and Configuration Guide for information about the other members of the SOSOS suite.

4. Running SOSOS

The most common task in SOSOS is to collect data from the local PC. You perform this function by clicking on the Collect Data button (or from the File/Collect Data menu). The SOSOS screen will look like the following:

Click on the item in the left-hand list (i.e. CPU) to view the data for that item.

SOSOS supports three different methods of viewing the collected data.

- The Report View uses a database-style navigator to view individual records
- The Grid View displays all records in a grid
- The Text View is a text-based view suitable for printing and saving to a text file

After the data has been collected (via the “Collect Data” button), the user has the opportunity to:

- Save the results to the database
- Write the results to a text file
- Print the results
- Display summary data as a “watermark” on the user’s desktop
- Export the results to an XML file or a Microsoft Access database file

4.1 File Menu

The File Menu is used to perform the most common tasks:

File Menu:

- Collect Data – Collects SOSOS data from the local PC
- Save to Database – Saves the collected data to the database
- View Database Records

- For this PC – View the existing database records for this PC
- Enter a PC Name – Enter the name of a PC to view its database records

- Save Text Report – Save the data to a file using the Text View format
- Print Text Report – Print the data using the Text View format
- Page Setup – Set up the page for printing
- Exit – Exits the program

4.2 Data Menu

The Data Menu is used to import and export data

Data Menu:

- Import from XML – Imports data from a previously exported XML file
- Export to XML – Export the data to an XML file. Use this option if you plan to later import the data using the Import from XML option.
- Export to XML w/schema – Export to an XML file and also include the “schema”. Use this option if you plan to export the data into some other application.
- Export to Microsoft Access - Export to a Microsoft Access (mdb file)
- Save as Wallpaper – Create a summary “watermark” on the user’s desktop

There may be situations where you want to record data from PCs that are not connected to any network. To handle this, SOSOS can export its data into an XML file. An Administrator can take this XML file to another PC (that is on the network) import the XML file and save the data to the database.

4.3 Poll Menu

The Poll Menu is used to collect SOSOS data from remote PCs on a LAN. This operation requires the user to have administrator rights on the remote PCs. Typically this function would be performed by a member of the Domain Administrators group.

There are several choices as to the method used to generate the list of PCs that will be “polled”.

Poll Menu:

- By Active Directory Domain – Use Active Directory domain and Organization Unit (OU) to generate the list of PCs
- By Network Browsing – Use the list of PCs that are visible in the My Network Places. Does not require a domain.
- By File Contents – Use a text file that contains a list of PCs. The PC names should be listed one per line
- By ad-hoc List – Type the names (or cut and paste a list of PCs) that will be used
- By IP address – Use a list of IP address ranges to poll the network
- By NT Domain – Use Window NT-style domain lists
- By Age of record – Run a query on the database to produce a list of PCs whose data is older than a certain number of days.

After selection of a polling method, the menu will look similar the following (using the Network Browsing method as an example):

Generate List by Network Browsing:

- Workgroup or Domain – Filter the list of PCs to be generated to only those in the selected workgroup/domain
- PC Name Filter – Filter the list of PCs by using a wildcard (i.e., SALE* will limit the list of PCs to those whose name begin with SALEs).

Note: The top portion of the form is dependent upon the polling method selected and may display different options from this example (using the Network Browsing method).

Poll Option:

- Use ping validation? – Should SOSOS use an ICMP “ping” to verify that the remote PC is actually on line before attempting to connect to the PC? Can speed up the process, but some PC firewalls block ICMP traffic.
- Poll Timeout – The number of minutes to wait before abandoning a “stuck” PC and moving on the next PC in the list
- Concurrent PCs – The number of PCs to scan at the same time. Increasing this number will make scanning go faster, but put an additional strain on the PC performing the scans.

Logging Options:

- Log File – The path to a file that will contain the results of the polling operation.
- Logging Level – The level of detail that will appear in the log file. The choices are:

- Full – Records the progress of all PCs
- Errors and Summary – Records only the errors (if any) and a summary
- Summary Only – Records only the summary
- None – No logging

Note: The file name displayed is automatically generated using an embedded date format for the current day.

Status:

- Data Collection Started – A progress bar showing the number of PCs where data collection has started
- Data Collection Completed – A progress bar showing the number of PCs where the collection has completed
- Status – A status window showing the current activity
- Elapse Time – A running elapse time counter
- Estimated Time Remaining – An estimate of the remaining time to complete the polling of all PCs.

Note: During polling, the Close button becomes the Cancel button. It may take several seconds to interrupt the polling process… be patient.

4.4 View Menu

The View Menu controls the visual aspects of the application.

View:

- Grid View - Displays all records in a grid similar to that of Microsoft Access. Users can sort by a column by clicking on the column heading
- Text View - A text-based view suitable for printing and saving to a text file. Makes use of the Include Details in Text Report option to “filter” some of the less interesting data.
- Report View – Uses a database-style navigator to view individual records.

Note: Users can edit existing records in the Grid and Report View, but cannot add or delete a record.

Note: The selected view will be remembered and automatically used the next time the program is run.

4.5 Options Menu

The Options Menu allows the user to select view options and display fonts.

Options:

- Include Details in Text Report – Controls the level of detail used in the Text View, the Save Text Report, and Print Text Report functions. The Text View can be quite large (30-40 pages)…this option helps reduce the size of the report by eliminating some of the less interesting parts of the data.
- Set Fonts – Allows the user to select the display font that will be used throughout the program.

Note: The selected options will be remembered and automatically used the next time the program is run.

4.6 Setup Menu

The Setup Menu is used to configure the SOSOS options.

Setup:

- Configure SOSOS – This topic is covered in the Setup and Configuration Guide.

5. Viewing SOSOS Data

SOSOS does not have a built-in database… instead it relies on a 3rd-party database application to store its information.

You can use SOSOS to view existing records in the database for the current PC and for other PCs. However, distributing SOSOS to every user may not be in the best interest of security.

5.1 ViewSOSOS

ViewSOSOS is a read-only interface to the SOSOS application that is designed so that users may view, but not edit the data. The data gathering and database writing features are disabled.

Note: The protection of the data actually takes place at the database application itself by controlling the access given to the individual users or groups of users.

See the SOSOS Setup and Configuration Guide for additional information on how to set up and deploy the database applications.

5.2 Direct Database Access

The SOSOS and ViewSOSOS applications are useful for viewing a single PCs set of records at a time, and do not support any type of querying capability.

Administrators will probably prefer to use direct access to the underlying database to view, query, edit, and manage the SOSOS information. The real power of SOSOS is the ability to write queries against the database to quickly answer real-life questions of a system administrator.

A common deployment scenario is to use Microsoft’s SQL Server as the database server and to use Microsoft Access as the “front end”. Modern versions of Microsoft Access support a “project file” (with an *.adp extension), which provides users with an easy way to interact with data on the SQL Server data without having SQL Server client software installed.

See the Microsoft Access help files for instruction on how to create a project file.

Below is a sample of a Microsoft Access Project file:

With appropriate authority, users can create queries, generate reports, etc., “as if” the entire database was a Microsoft Access *.mdb file.