lanscape 1.4.4__py3-none-any.whl → 2.0.0a1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lanscape/__init__.py +9 -4
- lanscape/__main__.py +1 -0
- lanscape/{libraries → core}/app_scope.py +22 -3
- lanscape/{libraries → core}/decorators.py +88 -52
- lanscape/{libraries → core}/device_alive.py +4 -3
- lanscape/{libraries → core}/errors.py +1 -0
- lanscape/{libraries → core}/ip_parser.py +2 -1
- lanscape/{libraries → core}/logger.py +1 -0
- lanscape/{libraries → core}/mac_lookup.py +1 -0
- lanscape/{libraries → core}/net_tools.py +140 -46
- lanscape/{libraries → core}/port_manager.py +1 -0
- lanscape/{libraries → core}/runtime_args.py +1 -0
- lanscape/{libraries → core}/scan_config.py +104 -5
- lanscape/core/service_scan.py +205 -0
- lanscape/{libraries → core}/subnet_scan.py +19 -11
- lanscape/{libraries → core}/version_manager.py +3 -2
- lanscape/{libraries → core}/web_browser.py +1 -0
- lanscape/resources/mac_addresses/convert_csv.py +1 -0
- lanscape/resources/ports/convert_csv.py +1 -0
- lanscape/resources/services/definitions.jsonc +576 -400
- lanscape/ui/app.py +5 -4
- lanscape/ui/blueprints/__init__.py +2 -1
- lanscape/ui/blueprints/api/__init__.py +1 -0
- lanscape/ui/blueprints/api/port.py +2 -1
- lanscape/ui/blueprints/api/scan.py +2 -1
- lanscape/ui/blueprints/api/tools.py +5 -4
- lanscape/ui/blueprints/web/__init__.py +1 -0
- lanscape/ui/blueprints/web/routes.py +30 -2
- lanscape/ui/main.py +5 -4
- lanscape/ui/shutdown_handler.py +2 -1
- lanscape/ui/static/css/style.css +145 -2
- lanscape/ui/static/js/main.js +30 -2
- lanscape/ui/static/js/scan-config.js +39 -0
- lanscape/ui/templates/scan/config.html +43 -0
- lanscape/ui/templates/scan/device-detail.html +111 -0
- lanscape/ui/templates/scan/ip-table-row.html +12 -78
- lanscape/ui/templates/scan/ip-table.html +1 -1
- {lanscape-1.4.4.dist-info → lanscape-2.0.0a1.dist-info}/METADATA +7 -2
- lanscape-2.0.0a1.dist-info/RECORD +76 -0
- lanscape-2.0.0a1.dist-info/entry_points.txt +2 -0
- lanscape/libraries/service_scan.py +0 -50
- lanscape-1.4.4.dist-info/RECORD +0 -74
- /lanscape/{libraries → core}/__init__.py +0 -0
- {lanscape-1.4.4.dist-info → lanscape-2.0.0a1.dist-info}/WHEEL +0 -0
- {lanscape-1.4.4.dist-info → lanscape-2.0.0a1.dist-info}/licenses/LICENSE +0 -0
- {lanscape-1.4.4.dist-info → lanscape-2.0.0a1.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
<tr>
|
|
2
|
+
<td>
|
|
3
|
+
<div class="info-icon-container">
|
|
4
|
+
<span
|
|
5
|
+
class="material-symbols-outlined info-icon"
|
|
6
|
+
onclick="parent.openDeviceDetail('{{ device.ip }}')"
|
|
7
|
+
>info</span>
|
|
8
|
+
</div>
|
|
9
|
+
</td>
|
|
2
10
|
<td>
|
|
3
11
|
<div>{{ device.ip }}</div>
|
|
4
12
|
{% if device.hostname %}
|
|
@@ -18,86 +26,12 @@
|
|
|
18
26
|
{% elif device.stage == 'found' %}
|
|
19
27
|
<span class="badge badge-secondary">found</span>
|
|
20
28
|
{% elif device.stage == 'scanning' %}
|
|
21
|
-
<span class="badge badge-info">
|
|
29
|
+
<span class="badge badge-info">
|
|
30
|
+
scanning
|
|
31
|
+
{{ (device.ports_scanned/data.port_list_length*100)|round|int if data.port_list_length > 0 else 0 }}%
|
|
32
|
+
</span>
|
|
22
33
|
{% else %}
|
|
23
34
|
<span class="badge badge-warning">{{device.stage}}</span>
|
|
24
35
|
{% endif %}
|
|
25
36
|
</td>
|
|
26
|
-
<td class="colorful-buttons">
|
|
27
|
-
{% if 80 in device.ports %}
|
|
28
|
-
<a href="http://{{ device.ip }}" class="btn btn-sm" target="_blank">HTTP</a>
|
|
29
|
-
{% endif %}
|
|
30
|
-
{% if 443 in device.ports %}
|
|
31
|
-
<a href="https://{{ device.ip }}" class="btn btn-sm" target="_blank">HTTPS</a>
|
|
32
|
-
{% endif %}
|
|
33
|
-
{% if 22 in device.ports %}
|
|
34
|
-
<a href="ssh://{{ device.ip }}" class="btn btn-sm " target="_blank">SSH</a>
|
|
35
|
-
{% endif %}
|
|
36
|
-
{% if 21 in device.ports %}
|
|
37
|
-
<a href="ftp://{{ device.ip }}" class="btn btn-sm " target="_blank">FTP</a>
|
|
38
|
-
{% endif %}
|
|
39
|
-
{% if 23 in device.ports %}
|
|
40
|
-
<a href="telnet://{{ device.ip }}" class="btn btn-sm " target="_blank">Telnet</a>
|
|
41
|
-
{% endif %}
|
|
42
|
-
{% if 445 in device.ports %}
|
|
43
|
-
<a href="smb://{{ device.ip }}" class="btn btn-sm " target="_blank">SMB</a>
|
|
44
|
-
{% endif %}
|
|
45
|
-
{% if 3306 in device.ports %}
|
|
46
|
-
<a href="mysql://{{ device.ip }}" class="btn btn-sm " target="_blank">MySQL</a>
|
|
47
|
-
{% endif %}
|
|
48
|
-
{% if 5432 in device.ports %}
|
|
49
|
-
<a href="postgresql://{{ device.ip }}" class="btn btn-sm " target="_blank">PostgreSQL</a>
|
|
50
|
-
{% endif %}
|
|
51
|
-
{% if 3389 in device.ports %}
|
|
52
|
-
<a href="rdp://{{ device.ip }}" class="btn btn-sm " target="_blank">RDP</a>
|
|
53
|
-
{% endif %}
|
|
54
|
-
{% if 5900 in device.ports %}
|
|
55
|
-
<a href="vnc://{{ device.ip }}" class="btn btn-sm " target="_blank">VNC</a>
|
|
56
|
-
{% endif %}
|
|
57
|
-
{% if 27017 in device.ports %}
|
|
58
|
-
<a href="mongodb://{{ device.ip }}" class="btn btn-sm " target="_blank">MongoDB</a>
|
|
59
|
-
{% endif %}
|
|
60
|
-
{% if 6379 in device.ports %}
|
|
61
|
-
<a href="redis://{{ device.ip }}" class="btn btn-sm " target="_blank">Redis</a>
|
|
62
|
-
{% endif %}
|
|
63
|
-
{% if 11211 in device.ports %}
|
|
64
|
-
<a href="memcached://{{ device.ip }}" class="btn btn-sm " target="_blank">Memcached</a>
|
|
65
|
-
{% endif %}
|
|
66
|
-
{% if 1433 in device.ports %}
|
|
67
|
-
<a href="mssql://{{ device.ip }}" class="btn btn-sm " target="_blank">MSSQL</a>
|
|
68
|
-
{% endif %}
|
|
69
|
-
{% if 1521 in device.ports %}
|
|
70
|
-
<a href="oracle://{{ device.ip }}" class="btn btn-sm " target="_blank">Oracle</a>
|
|
71
|
-
{% endif %}
|
|
72
|
-
{% if 27015 in device.ports %}
|
|
73
|
-
<a href="source://{{ device.ip }}" class="btn btn-sm " target="_blank">Source</a>
|
|
74
|
-
{% endif %}
|
|
75
|
-
{% if 27015 in device.ports %}
|
|
76
|
-
<a href="minecraft://{{ device.ip }}" class="btn btn-sm " target="_blank">Minecraft</a>
|
|
77
|
-
{% endif %}
|
|
78
|
-
{% if 27015 in device.ports %}
|
|
79
|
-
<a href="teamspeak://{{ device.ip }}" class="btn btn-sm " target="_blank">Teamspeak</a>
|
|
80
|
-
{% endif %}
|
|
81
|
-
{% if 27015 in device.ports %}
|
|
82
|
-
<a href="gmod://{{ device.ip }}" class="btn btn-sm " target="_blank">Garry's Mod</a>
|
|
83
|
-
{% endif %}
|
|
84
|
-
{% if 27015 in device.ports %}
|
|
85
|
-
<a href="rust://{{ device.ip }}" class="btn btn-sm " target="_blank">Rust</a>
|
|
86
|
-
{% endif %}
|
|
87
|
-
{% if 27015 in device.ports %}
|
|
88
|
-
<a href="ark://{{ device.ip }}" class="btn btn-sm " target="_blank">ARK</a>
|
|
89
|
-
{% endif %}
|
|
90
|
-
{% if 27015 in device.ports %}
|
|
91
|
-
<a href="terraria://{{ device.ip }}" class="btn btn-sm " target="_blank">Terraria</a>
|
|
92
|
-
{% endif %}
|
|
93
|
-
{% if 27015 in device.ports %}
|
|
94
|
-
<a href="factorio://{{ device.ip }}" class="btn btn-sm " target="_blank">Factorio</a>
|
|
95
|
-
{% endif %}
|
|
96
|
-
{% if 27015 in device.ports %}
|
|
97
|
-
<a href="starmade://{{ device.ip }}" class="btn btn-sm " target="_blank">StarMade</a>
|
|
98
|
-
{% endif %}
|
|
99
|
-
{% if 27015 in device.ports %}
|
|
100
|
-
<a href="7dtd://{{ device.ip }}" class="btn btn-sm " target="_blank">7 Days to Die</a>
|
|
101
|
-
{% endif %}
|
|
102
|
-
</td>
|
|
103
37
|
</tr>
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
<table class="table table-bordered table-striped">
|
|
9
9
|
<thead>
|
|
10
10
|
<tr>
|
|
11
|
+
<th class="detail-col" scope="col"></th>
|
|
11
12
|
<th scope="col">IP / <span class="alt">Host</span></th>
|
|
12
13
|
<th scope="col">MAC / <span class="alt">Manufacturer</span></th>
|
|
13
14
|
<th scope="col">Open Ports</th>
|
|
14
15
|
<th scope="col">Stage</th>
|
|
15
|
-
<th scope="col">Actions</th>
|
|
16
16
|
</tr>
|
|
17
17
|
</thead>
|
|
18
18
|
<tbody>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lanscape
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0a1
|
|
4
4
|
Summary: A python based local network scanner
|
|
5
5
|
Author-email: Michael Dennis <michael@dipduo.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -8,8 +8,13 @@ Project-URL: Homepage, https://github.com/mdennis281/py-lanscape
|
|
|
8
8
|
Project-URL: Issues, https://github.com/mdennis281/py-lanscape/issues
|
|
9
9
|
Keywords: network,scanner,lan,local,python
|
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
11
16
|
Classifier: Operating System :: OS Independent
|
|
12
|
-
Requires-Python: >=3.
|
|
17
|
+
Requires-Python: >=3.10
|
|
13
18
|
Description-Content-Type: text/markdown
|
|
14
19
|
License-File: LICENSE
|
|
15
20
|
Requires-Dist: Flask<5.0,>=3.0
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
lanscape/__init__.py,sha256=XFRrhe1uiIw7WpYvnx-5wbBKR9P_wjWl5gNHrUtZP4w,424
|
|
2
|
+
lanscape/__main__.py,sha256=yJpYmbQpYmXgtya-cSZmgNKVSYnyT1lO463R6k-5IPw,171
|
|
3
|
+
lanscape/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
lanscape/core/app_scope.py,sha256=kiKDWjkIf8SYluTmPm5JYEWa4t47ax0XRFoR3kKNM_o,3299
|
|
5
|
+
lanscape/core/decorators.py,sha256=3sNGj-pKqYlY_yAlFNLuAXACwqdPGPdbsLEinNkUTVc,7265
|
|
6
|
+
lanscape/core/device_alive.py,sha256=o5MdqkrbA9UjJ4xMd0yNI_p7C5PrR6xdhrellF9azNQ,6837
|
|
7
|
+
lanscape/core/errors.py,sha256=TnifbydUzT2i_aMz9iU_A7vwdWmbYbOclgJDdHwnj-I,1323
|
|
8
|
+
lanscape/core/ip_parser.py,sha256=U7BqZWKpsmD43WUuephqkxIlMW4EdziRZ-WUdh3zEJA,4197
|
|
9
|
+
lanscape/core/logger.py,sha256=pdaCJ41pEMzA9PImFY0eJ_uRaMDRv0Eb87Wr9_5dN0A,2535
|
|
10
|
+
lanscape/core/mac_lookup.py,sha256=1y-WQ9CLvHTItu9kJrFja6iClLZ_ABYGRi_mFF1PQFY,3520
|
|
11
|
+
lanscape/core/net_tools.py,sha256=3dzo0OWMBX7eg3S_iAxUpixXy72kn0eNIbR9Phi8Sto,19677
|
|
12
|
+
lanscape/core/port_manager.py,sha256=dbeQEhVqKmI7CYPEgW1UFcCa7HxkyJwy8ms9Jajk-ss,4480
|
|
13
|
+
lanscape/core/runtime_args.py,sha256=BASAsIZgZwMi3GHO_oY3oeehVrywVAXUip-Bi51Ocjo,2544
|
|
14
|
+
lanscape/core/scan_config.py,sha256=lG093Gn-j6NIK9JVn7JPMxkkX-9P6fFWP_ghec6-dB0,11115
|
|
15
|
+
lanscape/core/service_scan.py,sha256=m3cI9cYUsP5s3rDYtpp7k2ZiqXddF3Akd_4zlgZVyrg,6949
|
|
16
|
+
lanscape/core/subnet_scan.py,sha256=2HHQH2RVdHdAOwnppKrGr0JHvgNSXTAt-Rheo7-KV1s,14445
|
|
17
|
+
lanscape/core/version_manager.py,sha256=dd7B89L--Zi-0-aqSngM1co6Le7SVePzUJ3GKN3-Ud0,2842
|
|
18
|
+
lanscape/core/web_browser.py,sha256=Uv8isfQk7iTiH5YtBd-aDO9kYQdBhnapA0hM0xM-NKo,6737
|
|
19
|
+
lanscape/resources/mac_addresses/convert_csv.py,sha256=NE2WLgFL4Rw-8zm2YGJ1ZnK19MUR9xwVv3Yg4vNcOVA,1190
|
|
20
|
+
lanscape/resources/mac_addresses/mac_db.json,sha256=Lng2yJerwO7vjefzxzgtE203hry1lIsCadHL1A5Rptg,2136137
|
|
21
|
+
lanscape/resources/ports/convert_csv.py,sha256=JG4kFZ_suoKL8WlkpGlkG0QEbNTEN9J0oBTsdxXB7hQ,1144
|
|
22
|
+
lanscape/resources/ports/full.json,sha256=O8XBW52QvEVSGMQDbXe4-c4qq6XAecw6KJW4m2HkTLo,1441444
|
|
23
|
+
lanscape/resources/ports/large.json,sha256=CzlCcIGCBW1QAgjz4NDerCYA8HcYf6lNxehh7F928y0,138410
|
|
24
|
+
lanscape/resources/ports/medium.json,sha256=T5Rc7wa47MtroHxuZrHSftOqRWbQzhZULJdE1vpsTvU,3518
|
|
25
|
+
lanscape/resources/ports/small.json,sha256=F_lo_5xHwHBfOVfVgxP7ejblR3R62SNtC1Mm33brhYc,376
|
|
26
|
+
lanscape/resources/services/definitions.jsonc,sha256=M9BDeK-mh25sEVj8xDEYbU2ix7EETVWhbiYmMb14Gjg,20905
|
|
27
|
+
lanscape/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
+
lanscape/ui/app.py,sha256=aAS21f8361oAcGKwvD1W5oLbTk7f9_H5EJEANBnvAHQ,3741
|
|
29
|
+
lanscape/ui/main.py,sha256=teeiGumDG--zU4fBF9nen9q65vhSl7CvIxzkibwSt1c,4177
|
|
30
|
+
lanscape/ui/shutdown_handler.py,sha256=4B5gEaRBucYZZvVKSF8Unq1hQhJDC2W3_W5JK7wyMUE,1706
|
|
31
|
+
lanscape/ui/blueprints/__init__.py,sha256=rEtm7ZT_K5Hd9UYFvsjP-cqmA01RBhKybjMhhUNVwCY,266
|
|
32
|
+
lanscape/ui/blueprints/api/__init__.py,sha256=9G0qtzcSmV2qjLNx4nedsUGU7rKkEGSuFAIbRIWWSyI,104
|
|
33
|
+
lanscape/ui/blueprints/api/port.py,sha256=2QLq03HOMz9y_7q41rah8kOOXF0oKCOczoUfJ3j-QFI,1977
|
|
34
|
+
lanscape/ui/blueprints/api/scan.py,sha256=_kg9qtshoUHTU8b9a2gzEfNWQsx8uixLNE3PO_o8uRA,3327
|
|
35
|
+
lanscape/ui/blueprints/api/tools.py,sha256=wrn3OG-SyUhgiHHovovwbhKIPI7db1iYOIXKnGx5DMY,2433
|
|
36
|
+
lanscape/ui/blueprints/web/__init__.py,sha256=_83Mu7yUAME-lEsK82U_WNEMyfZwQGc9M1LPSDOO4so,119
|
|
37
|
+
lanscape/ui/blueprints/web/routes.py,sha256=WmKFPgslMXoxfy9C6NQqKNvc6Lf1pWSOLbnYL2WqzaI,4535
|
|
38
|
+
lanscape/ui/static/lanscape.webmanifest,sha256=07CqA-PQsO35KJD8R96sI3Pxix6UuBjijPDCuy9vM3s,446
|
|
39
|
+
lanscape/ui/static/css/style.css,sha256=qXDshNhj77__06AuL-RhsxlrqZ5S0JFAmy3M1sk1Sm8,21098
|
|
40
|
+
lanscape/ui/static/img/ico/android-chrome-192x192.png,sha256=JmFT6KBCCuoyxMV-mLNtF9_QJbVBvfWPUizKN700fi8,18255
|
|
41
|
+
lanscape/ui/static/img/ico/android-chrome-512x512.png,sha256=88Jjx_1-4XAnZYz64KP6FdTl_kYkNG2_kQIKteQwSh4,138055
|
|
42
|
+
lanscape/ui/static/img/ico/apple-touch-icon.png,sha256=tEJlLwBZtF4v-NC90YCfRJQ2prTsF4i3VQLK_hnv2Mw,16523
|
|
43
|
+
lanscape/ui/static/img/ico/favicon-16x16.png,sha256=HpQOZk3rziZjT1xQxKuy5WourXsfrdwuzQY1hChzBJQ,573
|
|
44
|
+
lanscape/ui/static/img/ico/favicon-32x32.png,sha256=UpgiDPIHckK19udHtACiaI3ZPbmImUUcN1GcrjpEg9s,1302
|
|
45
|
+
lanscape/ui/static/img/ico/favicon.ico,sha256=rs5vq0MPJ1LzzioOzOz5aQLVfrtS2nLRc920dOeReTw,15406
|
|
46
|
+
lanscape/ui/static/img/ico/site.webmanifest,sha256=ep4Hzh9zhmiZF2At3Fp1dQrYQuYF_3ZPZxc1KcGBvwQ,263
|
|
47
|
+
lanscape/ui/static/js/core.js,sha256=J37LcjchyiNirSkicraoWr-TsW2QeQX_zUwo5mGMmoM,1073
|
|
48
|
+
lanscape/ui/static/js/layout-sizing.js,sha256=U2dsyJi-YKpOpudu3kg2whiU4047ghzDTY3ExYUhpPs,810
|
|
49
|
+
lanscape/ui/static/js/main.js,sha256=Bgb5Ld_UPWzBVzxWkLD0kJGjOoLJyzni2TKE6Uk99VA,7428
|
|
50
|
+
lanscape/ui/static/js/on-tab-close.js,sha256=3icxYWlLpY81iLoW7kQTJeWQ3UnyyboG0dESHF2wLPQ,1376
|
|
51
|
+
lanscape/ui/static/js/quietReload.js,sha256=8POH0t1KVzGCJas9fNsOVbBG-ULwZT2wiS14URgkeAU,702
|
|
52
|
+
lanscape/ui/static/js/scan-config.js,sha256=TiUwWWUGqqQbC3ZJnQCNQpoR492RXA3jLkALe6Nzl5Q,7726
|
|
53
|
+
lanscape/ui/static/js/shutdown-server.js,sha256=Mx8UGmmktHaCK7DL8TVUxah6VEcN0wwLFfhbCId-K8U,453
|
|
54
|
+
lanscape/ui/static/js/subnet-info.js,sha256=osZM6CGs-TC5QpBJWkNWCtXNOKzjyIiWKHwKi4vlDf8,559
|
|
55
|
+
lanscape/ui/static/js/subnet-selector.js,sha256=2YKCAuKU2Ti1CmJrqi4_vNTD2LQbxx7chIDqND_1eAY,358
|
|
56
|
+
lanscape/ui/templates/base.html,sha256=cnKU-kHUBpt6Xg4gPLE4dWkcXr3H-K4Vz1Im8xDKdOQ,1448
|
|
57
|
+
lanscape/ui/templates/error.html,sha256=bqGJbf_ix9wtpUlXk5zvz_XyFpeTbEO-4f0ImgLtUGk,1033
|
|
58
|
+
lanscape/ui/templates/info.html,sha256=gu8SGFUaFQc46Rm4TkZD8HM4Tnls-ZWsJ0FJNhx9wEs,2545
|
|
59
|
+
lanscape/ui/templates/main.html,sha256=ubxKUQcWQ27A0YpvBgj6AnIqgVSfW3exYXyn7EgrKJM,3895
|
|
60
|
+
lanscape/ui/templates/scan.html,sha256=00QX2_1S_1wGzk42r00LjEkJvoioCLs6JgjOibi6r20,376
|
|
61
|
+
lanscape/ui/templates/shutdown.html,sha256=iXVCq2yl5TjZfNFl4esbDJra3gJA2VQpae0jj4ipy9w,701
|
|
62
|
+
lanscape/ui/templates/core/head.html,sha256=eZiebt24xYd_NALe-fFL25rb4uFjUrF4XJjxFH61MgM,779
|
|
63
|
+
lanscape/ui/templates/core/scripts.html,sha256=rSRi4Ut8iejajMPhOc5bzEz-Z3EHxpj_3PxwwyyhmTQ,640
|
|
64
|
+
lanscape/ui/templates/scan/config.html,sha256=ec7EptfdgssKhHDSp_c06xYq7Deyhdu6a5XadLHw58I,14607
|
|
65
|
+
lanscape/ui/templates/scan/device-detail.html,sha256=Yo4t4S5tkOboMQ3b0y-dHlTJIp6_Zb--9iopyQjNMSc,4825
|
|
66
|
+
lanscape/ui/templates/scan/export.html,sha256=Nvs_unojzT3qhN_ZnEgYHou2C9wqWGr3dVr2UiLnYjY,749
|
|
67
|
+
lanscape/ui/templates/scan/ip-table-row.html,sha256=nO5ZMhl3Gnlc8lg5nWmE05_6_5oz9ZfVCDUOgegVGpg,1267
|
|
68
|
+
lanscape/ui/templates/scan/ip-table.html,sha256=AT2ZvCPYdKl-XJiAkEAawPOVuQw-w0MXumGQTr3zyKM,926
|
|
69
|
+
lanscape/ui/templates/scan/overview.html,sha256=xWj9jWDPg2KcPLvS8fnSins23_UXjKCdb2NJwNG2U2Q,1176
|
|
70
|
+
lanscape/ui/templates/scan/scan-error.html,sha256=wmAYQ13IJHUoO8fAGNDjMvNml7tu4rsIU3Vav71ETlA,999
|
|
71
|
+
lanscape-2.0.0a1.dist-info/licenses/LICENSE,sha256=VLoE0IrNTIc09dFm7hMN0qzk4T3q8V0NaPcFQqMemDs,1070
|
|
72
|
+
lanscape-2.0.0a1.dist-info/METADATA,sha256=cV6SLhKrEqhVDFUHUalq11D09qVtp6fa7NkGi7ieJgw,3379
|
|
73
|
+
lanscape-2.0.0a1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
74
|
+
lanscape-2.0.0a1.dist-info/entry_points.txt,sha256=evxSxUikFa1OEd4e0Boky9sLH87HdgM0YqB_AbB2HYc,51
|
|
75
|
+
lanscape-2.0.0a1.dist-info/top_level.txt,sha256=E9D4sjPz_6H7c85Ycy_pOS2xuv1Wm-ilKhxEprln2ps,9
|
|
76
|
+
lanscape-2.0.0a1.dist-info/RECORD,,
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"""Service scanning module for identifying services running on network ports."""
|
|
2
|
-
import asyncio
|
|
3
|
-
import logging
|
|
4
|
-
import traceback
|
|
5
|
-
from lanscape.libraries.app_scope import ResourceManager
|
|
6
|
-
|
|
7
|
-
log = logging.getLogger('ServiceScan')
|
|
8
|
-
SERVICES = ResourceManager('services').get_jsonc('definitions.jsonc')
|
|
9
|
-
|
|
10
|
-
# skip printer ports because they cause blank pages to be printed
|
|
11
|
-
PRINTER_PORTS = [9100, 631]
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def scan_service(ip: str, port: int, timeout=10) -> str:
|
|
15
|
-
"""
|
|
16
|
-
Synchronous function that attempts to identify the service running on a given port.
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
async def _async_scan_service(ip: str, port: int, timeout) -> str:
|
|
20
|
-
if port in PRINTER_PORTS:
|
|
21
|
-
return "Printer"
|
|
22
|
-
|
|
23
|
-
try:
|
|
24
|
-
# Add a timeout to prevent hanging
|
|
25
|
-
reader, writer = await asyncio.wait_for(asyncio.open_connection(ip, port), timeout=5)
|
|
26
|
-
|
|
27
|
-
# Send a probe appropriate for common services
|
|
28
|
-
probe = f"GET / HTTP/1.1\r\nHost: {ip}\r\n\r\n".encode("utf-8")
|
|
29
|
-
writer.write(probe)
|
|
30
|
-
await writer.drain()
|
|
31
|
-
|
|
32
|
-
# Receive the response with a timeout
|
|
33
|
-
response = await asyncio.wait_for(reader.read(1024), timeout=timeout)
|
|
34
|
-
writer.close()
|
|
35
|
-
await writer.wait_closed()
|
|
36
|
-
|
|
37
|
-
# Analyze the response to identify the service
|
|
38
|
-
response_str = response.decode("utf-8", errors="ignore")
|
|
39
|
-
for service, hints in SERVICES.items():
|
|
40
|
-
if any(hint.lower() in response_str.lower() for hint in hints):
|
|
41
|
-
return service
|
|
42
|
-
except asyncio.TimeoutError:
|
|
43
|
-
log.warning(f"Timeout scanning {ip}:{port}")
|
|
44
|
-
except Exception as e:
|
|
45
|
-
log.error(f"Error scanning {ip}:{port}: {str(e)}")
|
|
46
|
-
log.debug(traceback.format_exc())
|
|
47
|
-
return "Unknown"
|
|
48
|
-
|
|
49
|
-
# Use asyncio.run to execute the asynchronous logic synchronously
|
|
50
|
-
return asyncio.run(_async_scan_service(ip, port, timeout=timeout))
|
lanscape-1.4.4.dist-info/RECORD
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
lanscape/__init__.py,sha256=YVrshFIK9GR9JrtpvJSg3BmsYcffuAdXJVxCoRCGmTE,355
|
|
2
|
-
lanscape/__main__.py,sha256=PuY42yuCLAwHrOREJ6u2DgVyGX5hZKRQeoE9pajkNfM,170
|
|
3
|
-
lanscape/libraries/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
lanscape/libraries/app_scope.py,sha256=EqYQRQcbjOPPcIOhFkIepcz2cKHmoUHxWj2JSoRJmzk,2542
|
|
5
|
-
lanscape/libraries/decorators.py,sha256=LrEu-kU7IHHsgBAzDZB9BDApgQKnRyAfH1hmf-by83I,6062
|
|
6
|
-
lanscape/libraries/device_alive.py,sha256=mwvHJp9rWV1_zfrE57aPKOsGp06fHdzrXOuGDWiZ2T8,6851
|
|
7
|
-
lanscape/libraries/errors.py,sha256=QTf42UzR9Zxj1t1mdwfLvZIp0c9a5EItELOdCR7kTmE,1322
|
|
8
|
-
lanscape/libraries/ip_parser.py,sha256=RgIEvHw_oQEcjUYOrvcpbfm4KThtH8L68WyhSOJNOfE,4201
|
|
9
|
-
lanscape/libraries/logger.py,sha256=nzo6J8UdlMdhRkOJEDOIHKztoE3Du8PQZad7ixvNgeM,2534
|
|
10
|
-
lanscape/libraries/mac_lookup.py,sha256=PxBSMe3wEVDtivCsh5NclSAguZz9rqdAS7QshBiuWvM,3519
|
|
11
|
-
lanscape/libraries/net_tools.py,sha256=qPeqG1KvAMCbEn8m5cL7W2ykn05LAcsAbAzx-YJEsBo,15370
|
|
12
|
-
lanscape/libraries/port_manager.py,sha256=3_ROOb6JEiB0NByZVtADuGcldFkgZwn1RKtvwgs9AIk,4479
|
|
13
|
-
lanscape/libraries/runtime_args.py,sha256=2vIqRrcWr-NHRSBlZGrxh1PdkPY0ytkPguu8KZqy2L8,2543
|
|
14
|
-
lanscape/libraries/scan_config.py,sha256=IOtwAaiy_f1r1KcsyTUVurOmo3kUmWdquAxWh8Gv39A,8329
|
|
15
|
-
lanscape/libraries/service_scan.py,sha256=ZF4LL2gSI0T5oYEMjc8pCVtJkV1KIk4xP-AeEAkSdLc,1944
|
|
16
|
-
lanscape/libraries/subnet_scan.py,sha256=lL2LzuxoTgPyvsdkPPEcZDqQPbCAGMHAjoX2slKGUKc,14136
|
|
17
|
-
lanscape/libraries/version_manager.py,sha256=tsdFx2V312mVpcRres1W1jPVFJFfpDPA4E7FNkjPY9w,2851
|
|
18
|
-
lanscape/libraries/web_browser.py,sha256=23MuGIrBYdGhw6ejj6OWxwReeKIlWhtWukc1dKV_3_0,6736
|
|
19
|
-
lanscape/resources/mac_addresses/convert_csv.py,sha256=hvlyLs0XmuuhBuvXBNRGP1cKJzYVRSf8VfUJ1VqROms,1189
|
|
20
|
-
lanscape/resources/mac_addresses/mac_db.json,sha256=Lng2yJerwO7vjefzxzgtE203hry1lIsCadHL1A5Rptg,2136137
|
|
21
|
-
lanscape/resources/ports/convert_csv.py,sha256=MMLDa-5pGMsn4A2_k45jHsRYffrRY_0Z2D1ziiikeQA,1143
|
|
22
|
-
lanscape/resources/ports/full.json,sha256=O8XBW52QvEVSGMQDbXe4-c4qq6XAecw6KJW4m2HkTLo,1441444
|
|
23
|
-
lanscape/resources/ports/large.json,sha256=CzlCcIGCBW1QAgjz4NDerCYA8HcYf6lNxehh7F928y0,138410
|
|
24
|
-
lanscape/resources/ports/medium.json,sha256=T5Rc7wa47MtroHxuZrHSftOqRWbQzhZULJdE1vpsTvU,3518
|
|
25
|
-
lanscape/resources/ports/small.json,sha256=F_lo_5xHwHBfOVfVgxP7ejblR3R62SNtC1Mm33brhYc,376
|
|
26
|
-
lanscape/resources/services/definitions.jsonc,sha256=4k7XnqIpWr1xuF7EUMgZf7y6aVDxOL_if7GGsT-JEuY,8387
|
|
27
|
-
lanscape/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
lanscape/ui/app.py,sha256=bL3K3NkGV1RY67kGHEQIWUl-Jm_MVN4WsIlsRQuK-SU,3760
|
|
29
|
-
lanscape/ui/main.py,sha256=8Be2UL_ezWLpaEYYejjd8iyM2_hG1pXlkHdVjn-lySc,4196
|
|
30
|
-
lanscape/ui/shutdown_handler.py,sha256=eJC9A0MDMgLv_KQnJlUy3Kz2xCGDAf5opVdd8nBtABE,1710
|
|
31
|
-
lanscape/ui/blueprints/__init__.py,sha256=WLnPfPE06684wArgKDDLfsW-1hKFlLe75AR7uLAPlKc,270
|
|
32
|
-
lanscape/ui/blueprints/api/__init__.py,sha256=5Z4Y7B36O-bNFenpomfuNhPuJ9dW_MC0TPUU3pCFVfA,103
|
|
33
|
-
lanscape/ui/blueprints/api/port.py,sha256=8FuNcjF56wmgjoCZeaYrIakTGdshAmDjUmkjXHbaZ8I,1981
|
|
34
|
-
lanscape/ui/blueprints/api/scan.py,sha256=lbwV5AciMGP-S2J_EaXcPOHeHywImzQ_bm2ZSJg-H5U,3331
|
|
35
|
-
lanscape/ui/blueprints/api/tools.py,sha256=IhY_ldrnVYuZKFv6gsevr9LL5gfTnmVuR95zFc05Tlo,2452
|
|
36
|
-
lanscape/ui/blueprints/web/__init__.py,sha256=NvgnjP0X4LwqVhSEyh5RUzoG45N44kHK1MEFlfvBxTg,118
|
|
37
|
-
lanscape/ui/blueprints/web/routes.py,sha256=883puFTHePUEgwS4a2-Co6-gdLwr5NbOx0goUck7054,3571
|
|
38
|
-
lanscape/ui/static/lanscape.webmanifest,sha256=07CqA-PQsO35KJD8R96sI3Pxix6UuBjijPDCuy9vM3s,446
|
|
39
|
-
lanscape/ui/static/css/style.css,sha256=6Mxpwtu4zYB9z42Aq7U1UREcMHEq2GlN5Pa91963a0k,17757
|
|
40
|
-
lanscape/ui/static/img/ico/android-chrome-192x192.png,sha256=JmFT6KBCCuoyxMV-mLNtF9_QJbVBvfWPUizKN700fi8,18255
|
|
41
|
-
lanscape/ui/static/img/ico/android-chrome-512x512.png,sha256=88Jjx_1-4XAnZYz64KP6FdTl_kYkNG2_kQIKteQwSh4,138055
|
|
42
|
-
lanscape/ui/static/img/ico/apple-touch-icon.png,sha256=tEJlLwBZtF4v-NC90YCfRJQ2prTsF4i3VQLK_hnv2Mw,16523
|
|
43
|
-
lanscape/ui/static/img/ico/favicon-16x16.png,sha256=HpQOZk3rziZjT1xQxKuy5WourXsfrdwuzQY1hChzBJQ,573
|
|
44
|
-
lanscape/ui/static/img/ico/favicon-32x32.png,sha256=UpgiDPIHckK19udHtACiaI3ZPbmImUUcN1GcrjpEg9s,1302
|
|
45
|
-
lanscape/ui/static/img/ico/favicon.ico,sha256=rs5vq0MPJ1LzzioOzOz5aQLVfrtS2nLRc920dOeReTw,15406
|
|
46
|
-
lanscape/ui/static/img/ico/site.webmanifest,sha256=ep4Hzh9zhmiZF2At3Fp1dQrYQuYF_3ZPZxc1KcGBvwQ,263
|
|
47
|
-
lanscape/ui/static/js/core.js,sha256=J37LcjchyiNirSkicraoWr-TsW2QeQX_zUwo5mGMmoM,1073
|
|
48
|
-
lanscape/ui/static/js/layout-sizing.js,sha256=U2dsyJi-YKpOpudu3kg2whiU4047ghzDTY3ExYUhpPs,810
|
|
49
|
-
lanscape/ui/static/js/main.js,sha256=zCT_4Vql-XzmoMq9fDjC1p4W8WowjIuctwNJ2ymeonI,6538
|
|
50
|
-
lanscape/ui/static/js/on-tab-close.js,sha256=3icxYWlLpY81iLoW7kQTJeWQ3UnyyboG0dESHF2wLPQ,1376
|
|
51
|
-
lanscape/ui/static/js/quietReload.js,sha256=8POH0t1KVzGCJas9fNsOVbBG-ULwZT2wiS14URgkeAU,702
|
|
52
|
-
lanscape/ui/static/js/scan-config.js,sha256=EOPo-0liYn3UPuhm2kaQrT7G-UumxQ25_rh1c1DaTj4,6021
|
|
53
|
-
lanscape/ui/static/js/shutdown-server.js,sha256=Mx8UGmmktHaCK7DL8TVUxah6VEcN0wwLFfhbCId-K8U,453
|
|
54
|
-
lanscape/ui/static/js/subnet-info.js,sha256=osZM6CGs-TC5QpBJWkNWCtXNOKzjyIiWKHwKi4vlDf8,559
|
|
55
|
-
lanscape/ui/static/js/subnet-selector.js,sha256=2YKCAuKU2Ti1CmJrqi4_vNTD2LQbxx7chIDqND_1eAY,358
|
|
56
|
-
lanscape/ui/templates/base.html,sha256=cnKU-kHUBpt6Xg4gPLE4dWkcXr3H-K4Vz1Im8xDKdOQ,1448
|
|
57
|
-
lanscape/ui/templates/error.html,sha256=bqGJbf_ix9wtpUlXk5zvz_XyFpeTbEO-4f0ImgLtUGk,1033
|
|
58
|
-
lanscape/ui/templates/info.html,sha256=gu8SGFUaFQc46Rm4TkZD8HM4Tnls-ZWsJ0FJNhx9wEs,2545
|
|
59
|
-
lanscape/ui/templates/main.html,sha256=ubxKUQcWQ27A0YpvBgj6AnIqgVSfW3exYXyn7EgrKJM,3895
|
|
60
|
-
lanscape/ui/templates/scan.html,sha256=00QX2_1S_1wGzk42r00LjEkJvoioCLs6JgjOibi6r20,376
|
|
61
|
-
lanscape/ui/templates/shutdown.html,sha256=iXVCq2yl5TjZfNFl4esbDJra3gJA2VQpae0jj4ipy9w,701
|
|
62
|
-
lanscape/ui/templates/core/head.html,sha256=eZiebt24xYd_NALe-fFL25rb4uFjUrF4XJjxFH61MgM,779
|
|
63
|
-
lanscape/ui/templates/core/scripts.html,sha256=rSRi4Ut8iejajMPhOc5bzEz-Z3EHxpj_3PxwwyyhmTQ,640
|
|
64
|
-
lanscape/ui/templates/scan/config.html,sha256=O4XtwMq3Dz6gaRpADqsse1MAyfmJOhfxQune2n7WdMQ,12113
|
|
65
|
-
lanscape/ui/templates/scan/export.html,sha256=Nvs_unojzT3qhN_ZnEgYHou2C9wqWGr3dVr2UiLnYjY,749
|
|
66
|
-
lanscape/ui/templates/scan/ip-table-row.html,sha256=RANDsfW4xBATdtiLrxUlRouFSjgwetZqdzH-MJgj2mE,4740
|
|
67
|
-
lanscape/ui/templates/scan/ip-table.html,sha256=CP7AG8WHOgy3AyYCIN0wA2wO6n0H1X0F9IOncQtpPvE,914
|
|
68
|
-
lanscape/ui/templates/scan/overview.html,sha256=xWj9jWDPg2KcPLvS8fnSins23_UXjKCdb2NJwNG2U2Q,1176
|
|
69
|
-
lanscape/ui/templates/scan/scan-error.html,sha256=wmAYQ13IJHUoO8fAGNDjMvNml7tu4rsIU3Vav71ETlA,999
|
|
70
|
-
lanscape-1.4.4.dist-info/licenses/LICENSE,sha256=VLoE0IrNTIc09dFm7hMN0qzk4T3q8V0NaPcFQqMemDs,1070
|
|
71
|
-
lanscape-1.4.4.dist-info/METADATA,sha256=VfhRo9vbS8qlOXBblDKX8YXse9jWokVUAWhAt1LPVJk,3121
|
|
72
|
-
lanscape-1.4.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
73
|
-
lanscape-1.4.4.dist-info/top_level.txt,sha256=E9D4sjPz_6H7c85Ycy_pOS2xuv1Wm-ilKhxEprln2ps,9
|
|
74
|
-
lanscape-1.4.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|