Object Methods

new()

Returns a new Stumbler object.

parseNSSummaryLine($line)

Params: -string A line from a summary file Returns: an array of seperated values corresponding to output of a NetStumbler summary export **NOTE** <li>Conversion of the verbose GPS data to doubles in standard GPS format</li> <li>Blank SSID will be set to "Hidden"</li> <li>The time data will have GMT stripped off</li> <li>If the line is not correctly formed return an empty list</li> Example: my @line = $obj->parseNSSummaryLine($line); print "Line [@line]\n";

isSummary($file)

Params: -string fully qualified filename Returns: true if the file is in NetStumbler Summary format Example: if($obj->isSummary($file)) { # do something here }

isNS1($file)

Params: -string fully qualified filename Returns: true if the file is in NetStumbler NS1 file Example: if($obj->isNS1($file)) { # do something here }

isKismetCSV($file)

Params: -string fully qualified filename Returns: true if the file is in Kismet CSV file Example: if($obj->isKismetCSV($file)) { # do something here }

parseKismetCSV($file)

Params: -string fully qualified filename Returns: list of lists each item in the sublist corresponds to a list from kismet summary file Example: $ref = $obj->parseKismetCSV($file); # The list is as follows 0 Network 1 NetType 2 ESSID 3 BSSID 4 Info 5 Channel 6 Cloaked 7 WEP 8 Decrypted 9 MaxRate 10 MaxSeenRate 11 Beacon 12 LLC 13 Data 14 Crypt 15 Weak 16 Total 17 Carrier 18 Encoding 19 FirstTime 20 LastTime 21 BestQuality 22 BestSignal 23 BestNoise 24 GPSMinLat 25 GPSMinLon 26 GPSMinAlt 27 GPSMinSpd 28 GPSMaxLat 29 GPSMaxLon 30 GPSMaxAlt 31 GPSMaxSpd 32 GPSBestLat 33 GPSBestLon 34 GPSBestAlt 35 DataSize 36 IPType 37 IP #

parseNS1($file)

Params: -string fully qualified filename Returns: list of lists each item in the sublist corresponds to a list from parseNSSummary Example: $ref = $obj->parseNS1($file);

Private Methods

readAPInfo($fileHandle,$fileVersion)

Params: reference - Filehandle reference number - NS1 Version Returns: list - smae format as parseNSSummary

readAPData($fileHandle,$fileVersion)

Params: reference - Filehandle reference number - NS1 Version Returns: nothing TODO: Add a return value to this method to build graphs

readGPSData($fileHandle)

Params: reference - Filehandle reference Returns: nothing TODO: Add a return value to this method to build graphs

readint64($fileHandle)

Params: reference - Filehandle reference Returns: a 64bit number

readDouble($fileHandle)

Params: reference - Filehandle reference Returns: a double

readint32($fileHandle)

Params: reference - Filehandle reference Returns: a 32bit number

readUint32($fileHandle)

Params: reference - Filehandle reference Returns: an unsigned 32bit number

readUint8($fileHandle)

Params: reference - Filehandle reference Returns: an unsigned 8bit number

readChars($fileHandle,$length)

Params: reference - Filehandle reference length - number of bytes to read Returns: a string

ensurePos($fileHandle,$prePosition,$postPosition,$amountNeeded)

This method was aadded due to an odd behavior with Perl5.8 read would sometimes put the file pointer 1 byte beyond where it was supposed to be. This method fixes that issue Params: reference - Filehandle reference number - Pre read position of the file number - Post position of the file number - Correct amount to data that was supposed to be read

NAME

NetStumbler::Stumbler - Module to parse netstumbler data

SYNOPSIS

use NetStumbler::Stumbler;
my $lin = NetStumbler::Stumbler->new();
$lin->isSummary($file);
$lin->isNS1($file);
$lin->parseNS1($file);

DESCRIPTION

This class has several methods to parse NetStumbler data file TODO: add Kismet and iStumbler support

EXPORT

None by default.

SEE ALSO

http://www.netstumbler.org Net Stumbler http://stumbler.net/ns1files.html NS1 Information

AUTHOR

Salvatore E. ScottoDiLuzio<lt>washu@olypmus.net<gt>

COPYRIGHT AND LICENSE

Copyright (C) 2004 by Salvatore ScottoDiLuzio

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.3 or, at your option, any later version of Perl 5 you may have available.