01.default.rb - warvox - VoIP based wardialing tool, forked from rapid7/warvox.
(HTM) git clone git://jay.scot/warvox
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
01.default.rb (1691B)
---
1 #
2 # WarVOX Classifiers
3 #
4
5 #
6 # These lightweight signatures are used to determine the
7 # line type, which is the top-level classification that
8 # differentiates between modem, fax, voice, and other
9 # common results.
10 #
11
12
13 #
14 # If you want to force your checks to run first, add your
15 # logic to a file starting with "00." and place it in
16 # this directory. Signature files are processed numerically
17 # from lowest to highest (like RC scripts)
18 #
19
20
21 #
22 # Initialize some local variables out of data
23 #
24 freq = data[:freq]
25 fcnt = data[:fcnt]
26 maxf = data[:maxf]
27
28 #
29 # Look for modems by detecting a 2100hz answer + 2250hz tone
30 #
31 if( (fcnt[2100] > 1.0 or fcnt[2230] > 1.0) and fcnt[2250] > 0.5)
32 @line_type = 'modem'
33 raise Completed
34 end
35
36 #
37 # Look for modems by detecting a peak frequency of 2250hz
38 #
39 if(fcnt[2100] > 1.0 and (maxf > 2245.0 and maxf < 2255.0))
40 @line_type = 'modem'
41 raise Completed
42 end
43
44 #
45 # Look for modems by detecting a peak frequency of 3000hz
46 #
47 if(fcnt[2100] > 1.0 and (maxf > 2995.0 and maxf < 3005.0))
48 @line_type = 'modem'
49 raise Completed
50 end
51
52 #
53 # Look for faxes by checking for a handful of tones (min two)
54 #
55 fax_sum = 0
56 [
57 fcnt[1625], fcnt[1660], fcnt[1825], fcnt[2100],
58 fcnt[600], fcnt[1855], fcnt[1100], fcnt[2250],
59 fcnt[2230], fcnt[2220], fcnt[1800], fcnt[2095],
60 fcnt[2105]
61 ].map{|x| fax_sum += [x,1.0].min }
62 if(fax_sum >= 2.0)
63 @line_type = 'fax'
64 raise Completed
65 end
66
67 #
68 # Dial tone detection (440hz + 350hz)
69 #
70 if(fcnt[440] > 1.0 and fcnt[350] > 1.0)
71 @line_type = 'dialtone'
72 raise Completed
73 end
74
75 #
76 # To use additional heuristics, add new scripts to this directory
77 # named XX.myscript.rb, where XX is a two digit number less than
78 # 99 and greater than 01.
79 #
80 #