lanscape 1.3.6a2__tar.gz → 1.3.7__tar.gz

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.

Potentially problematic release.


This version of lanscape might be problematic. Click here for more details.

Files changed (85) hide show
  1. {lanscape-1.3.6a2/lanscape.egg-info → lanscape-1.3.7}/PKG-INFO +12 -11
  2. {lanscape-1.3.6a2 → lanscape-1.3.7}/README.md +11 -10
  3. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/device_alive.py +5 -3
  4. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/scan_config.py +3 -3
  5. {lanscape-1.3.6a2 → lanscape-1.3.7/lanscape.egg-info}/PKG-INFO +12 -11
  6. {lanscape-1.3.6a2 → lanscape-1.3.7}/pyproject.toml +1 -1
  7. {lanscape-1.3.6a2 → lanscape-1.3.7}/tests/test_api.py +1 -0
  8. {lanscape-1.3.6a2 → lanscape-1.3.7}/LICENSE +0 -0
  9. {lanscape-1.3.6a2 → lanscape-1.3.7}/MANIFEST.in +0 -0
  10. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/__init__.py +0 -0
  11. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/__main__.py +0 -0
  12. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/__init__.py +0 -0
  13. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/app_scope.py +0 -0
  14. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/decorators.py +0 -0
  15. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/errors.py +0 -0
  16. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/ip_parser.py +0 -0
  17. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/logger.py +0 -0
  18. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/mac_lookup.py +0 -0
  19. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/net_tools.py +0 -0
  20. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/port_manager.py +0 -0
  21. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/runtime_args.py +0 -0
  22. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/service_scan.py +0 -0
  23. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/subnet_scan.py +0 -0
  24. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/version_manager.py +0 -0
  25. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/libraries/web_browser.py +0 -0
  26. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/resources/mac_addresses/convert_csv.py +0 -0
  27. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/resources/mac_addresses/mac_db.json +0 -0
  28. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/resources/ports/convert_csv.py +0 -0
  29. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/resources/ports/full.json +0 -0
  30. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/resources/ports/large.json +0 -0
  31. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/resources/ports/medium.json +0 -0
  32. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/resources/ports/small.json +0 -0
  33. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/resources/services/definitions.jsonc +0 -0
  34. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/__init__.py +0 -0
  35. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/app.py +0 -0
  36. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/blueprints/__init__.py +0 -0
  37. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/blueprints/api/__init__.py +0 -0
  38. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/blueprints/api/port.py +0 -0
  39. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/blueprints/api/scan.py +0 -0
  40. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/blueprints/api/tools.py +0 -0
  41. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/blueprints/web/__init__.py +0 -0
  42. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/blueprints/web/routes.py +0 -0
  43. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/main.py +0 -0
  44. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/shutdown_handler.py +0 -0
  45. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/css/style.css +0 -0
  46. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/img/ico/android-chrome-192x192.png +0 -0
  47. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/img/ico/android-chrome-512x512.png +0 -0
  48. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/img/ico/apple-touch-icon.png +0 -0
  49. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/img/ico/favicon-16x16.png +0 -0
  50. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/img/ico/favicon-32x32.png +0 -0
  51. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/img/ico/favicon.ico +0 -0
  52. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/img/ico/site.webmanifest +0 -0
  53. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/js/core.js +0 -0
  54. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/js/layout-sizing.js +0 -0
  55. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/js/main.js +0 -0
  56. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/js/on-tab-close.js +0 -0
  57. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/js/quietReload.js +0 -0
  58. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/js/scan-config.js +0 -0
  59. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/js/shutdown-server.js +0 -0
  60. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/js/subnet-info.js +0 -0
  61. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/js/subnet-selector.js +0 -0
  62. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/static/lanscape.webmanifest +0 -0
  63. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/base.html +0 -0
  64. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/core/head.html +0 -0
  65. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/core/scripts.html +0 -0
  66. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/error.html +0 -0
  67. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/info.html +0 -0
  68. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/main.html +0 -0
  69. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/scan/config.html +0 -0
  70. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/scan/export.html +0 -0
  71. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/scan/ip-table-row.html +0 -0
  72. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/scan/ip-table.html +0 -0
  73. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/scan/overview.html +0 -0
  74. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/scan/scan-error.html +0 -0
  75. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/scan.html +0 -0
  76. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape/ui/templates/shutdown.html +0 -0
  77. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape.egg-info/SOURCES.txt +0 -0
  78. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape.egg-info/dependency_links.txt +0 -0
  79. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape.egg-info/requires.txt +0 -0
  80. {lanscape-1.3.6a2 → lanscape-1.3.7}/lanscape.egg-info/top_level.txt +0 -0
  81. {lanscape-1.3.6a2 → lanscape-1.3.7}/setup.cfg +0 -0
  82. {lanscape-1.3.6a2 → lanscape-1.3.7}/tests/test_env.py +0 -0
  83. {lanscape-1.3.6a2 → lanscape-1.3.7}/tests/test_library.py +0 -0
  84. {lanscape-1.3.6a2 → lanscape-1.3.7}/tests/test_logging.py +0 -0
  85. {lanscape-1.3.6a2 → lanscape-1.3.7}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lanscape
3
- Version: 1.3.6a2
3
+ Version: 1.3.7
4
4
  Summary: A python based local network scanner
5
5
  Author-email: Michael Dennis <michael@dipduo.com>
6
6
  License-Expression: MIT
@@ -30,20 +30,23 @@ A python based local network scanner.
30
30
 
31
31
  PyPi Stats:
32
32
 
33
+ ![Version](https://img.shields.io/pypi/v/lanscape)
33
34
  ![Monthly Downloads](https://img.shields.io/pypi/dm/lanscape)
34
35
 
35
36
  Latest release:
36
37
 
37
- ![Releases](https://img.shields.io/github/v/tag/mdennis281/LANscape?sort=date&filter=releases%2F*)
38
+ ![Stable](https://img.shields.io/github/v/tag/mdennis281/LANScape?filter=releases%2F*&label=Stable)
39
+ ![Beta](https://img.shields.io/github/v/tag/mdennis281/LANScape?filter=pre-releases%2F*b*&label=Beta)
40
+ ![Alpha](https://img.shields.io/github/v/tag/mdennis281/LANScape?filter=pre-releases%2F*a*&label=Alpha)
38
41
 
39
- Tests:
42
+ Health:
40
43
 
41
44
  ![pytest](https://img.shields.io/github/actions/workflow/status/mdennis281/LANscape/test.yml?branch=main&label=pytest)
42
45
  ![packaging](https://img.shields.io/github/actions/workflow/status/mdennis281/LANscape/test-package.yml?label=packaging)
43
46
  ![pylint](https://img.shields.io/github/actions/workflow/status/mdennis281/LANscape/pylint.yml?branch=main&label=pylint)
44
47
 
45
48
 
46
- ## Local Run
49
+ ## Installation
47
50
  ```sh
48
51
  pip install lanscape
49
52
  python -m lanscape
@@ -71,16 +74,14 @@ The program does an ARP lookup to determine the MAC address. This lookup
71
74
  can sometimes require admin-level permissions to retrieve accurate results.
72
75
  *Try elevating your shell before execution.*
73
76
 
74
- ### Message "WARNING: No libpcap provider available ! pcap won't be used"
75
- This is a missing dependency related to the ARP lookup. This is handled in the code, but you would get marginally faster/better results with this installed: [npcap download](https://npcap.com/#download)
76
-
77
77
  ### The accuracy of the devices found is low
78
- I use a combination of ARP and Ping to determine if a device is online. This method drops in stability when used in many threads.
78
+ I use a combination of ARP, ICMP & port testing to determine if a device is online. Sometimes the scan settings can use some tuning to maximize both speed and accuracy.
79
+
79
80
  Recommendations:
80
81
 
81
- - Drop parallelism value (advanced dropdown)
82
- - Use python > 3.10 im noticing threadpool improvements after this version
83
- - Create a bug - I'm curious
82
+ - Adjust scan configuration
83
+ - Configure ARP lookup [ARP lookup setup](./support/arp-issues.md)
84
+ - Create a bug
84
85
 
85
86
 
86
87
  ### Something else
@@ -6,20 +6,23 @@ A python based local network scanner.
6
6
 
7
7
  PyPi Stats:
8
8
 
9
+ ![Version](https://img.shields.io/pypi/v/lanscape)
9
10
  ![Monthly Downloads](https://img.shields.io/pypi/dm/lanscape)
10
11
 
11
12
  Latest release:
12
13
 
13
- ![Releases](https://img.shields.io/github/v/tag/mdennis281/LANscape?sort=date&filter=releases%2F*)
14
+ ![Stable](https://img.shields.io/github/v/tag/mdennis281/LANScape?filter=releases%2F*&label=Stable)
15
+ ![Beta](https://img.shields.io/github/v/tag/mdennis281/LANScape?filter=pre-releases%2F*b*&label=Beta)
16
+ ![Alpha](https://img.shields.io/github/v/tag/mdennis281/LANScape?filter=pre-releases%2F*a*&label=Alpha)
14
17
 
15
- Tests:
18
+ Health:
16
19
 
17
20
  ![pytest](https://img.shields.io/github/actions/workflow/status/mdennis281/LANscape/test.yml?branch=main&label=pytest)
18
21
  ![packaging](https://img.shields.io/github/actions/workflow/status/mdennis281/LANscape/test-package.yml?label=packaging)
19
22
  ![pylint](https://img.shields.io/github/actions/workflow/status/mdennis281/LANscape/pylint.yml?branch=main&label=pylint)
20
23
 
21
24
 
22
- ## Local Run
25
+ ## Installation
23
26
  ```sh
24
27
  pip install lanscape
25
28
  python -m lanscape
@@ -47,16 +50,14 @@ The program does an ARP lookup to determine the MAC address. This lookup
47
50
  can sometimes require admin-level permissions to retrieve accurate results.
48
51
  *Try elevating your shell before execution.*
49
52
 
50
- ### Message "WARNING: No libpcap provider available ! pcap won't be used"
51
- This is a missing dependency related to the ARP lookup. This is handled in the code, but you would get marginally faster/better results with this installed: [npcap download](https://npcap.com/#download)
52
-
53
53
  ### The accuracy of the devices found is low
54
- I use a combination of ARP and Ping to determine if a device is online. This method drops in stability when used in many threads.
54
+ I use a combination of ARP, ICMP & port testing to determine if a device is online. Sometimes the scan settings can use some tuning to maximize both speed and accuracy.
55
+
55
56
  Recommendations:
56
57
 
57
- - Drop parallelism value (advanced dropdown)
58
- - Use python > 3.10 im noticing threadpool improvements after this version
59
- - Create a bug - I'm curious
58
+ - Adjust scan configuration
59
+ - Configure ARP lookup [ARP lookup setup](./support/arp-issues.md)
60
+ - Create a bug
60
61
 
61
62
 
62
63
  ### Something else
@@ -6,7 +6,6 @@ import re
6
6
  import socket
7
7
  import subprocess
8
8
  import time
9
- import random
10
9
  from typing import List
11
10
  import psutil
12
11
 
@@ -218,10 +217,13 @@ class Poker():
218
217
 
219
218
  @timeout_enforcer(enforcer_timeout, raise_on_timeout=True)
220
219
  def do_poke():
221
- for _ in range(cfg.attempts):
220
+ # Use a small set of common ports likely to be filtered but still trigger ARP
221
+ common_ports = [80, 443, 22]
222
+ for i in range(cfg.attempts):
222
223
  sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
223
224
  sock.settimeout(cfg.timeout)
224
- sock.connect_ex((device.ip, random.randint(1024, 65535))) # port shouldn't matter
225
+ port = common_ports[i % len(common_ports)]
226
+ sock.connect_ex((device.ip, port))
225
227
  sock.close()
226
228
 
227
229
  do_poke()
@@ -178,9 +178,9 @@ class ScanConfig(BaseModel):
178
178
  subnet: str
179
179
  port_list: str
180
180
  t_multiplier: float = 1.0
181
- t_cnt_port_scan: int = os.cpu_count()
182
- t_cnt_port_test: int = os.cpu_count() * 4
183
- t_cnt_isalive: int = os.cpu_count() * 6
181
+ t_cnt_port_scan: int = os.cpu_count() or 4
182
+ t_cnt_port_test: int = (os.cpu_count() or 4) * 4
183
+ t_cnt_isalive: int = (os.cpu_count() or 4) * 6
184
184
 
185
185
  task_scan_ports: bool = True
186
186
  # below wont run if above false
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lanscape
3
- Version: 1.3.6a2
3
+ Version: 1.3.7
4
4
  Summary: A python based local network scanner
5
5
  Author-email: Michael Dennis <michael@dipduo.com>
6
6
  License-Expression: MIT
@@ -30,20 +30,23 @@ A python based local network scanner.
30
30
 
31
31
  PyPi Stats:
32
32
 
33
+ ![Version](https://img.shields.io/pypi/v/lanscape)
33
34
  ![Monthly Downloads](https://img.shields.io/pypi/dm/lanscape)
34
35
 
35
36
  Latest release:
36
37
 
37
- ![Releases](https://img.shields.io/github/v/tag/mdennis281/LANscape?sort=date&filter=releases%2F*)
38
+ ![Stable](https://img.shields.io/github/v/tag/mdennis281/LANScape?filter=releases%2F*&label=Stable)
39
+ ![Beta](https://img.shields.io/github/v/tag/mdennis281/LANScape?filter=pre-releases%2F*b*&label=Beta)
40
+ ![Alpha](https://img.shields.io/github/v/tag/mdennis281/LANScape?filter=pre-releases%2F*a*&label=Alpha)
38
41
 
39
- Tests:
42
+ Health:
40
43
 
41
44
  ![pytest](https://img.shields.io/github/actions/workflow/status/mdennis281/LANscape/test.yml?branch=main&label=pytest)
42
45
  ![packaging](https://img.shields.io/github/actions/workflow/status/mdennis281/LANscape/test-package.yml?label=packaging)
43
46
  ![pylint](https://img.shields.io/github/actions/workflow/status/mdennis281/LANscape/pylint.yml?branch=main&label=pylint)
44
47
 
45
48
 
46
- ## Local Run
49
+ ## Installation
47
50
  ```sh
48
51
  pip install lanscape
49
52
  python -m lanscape
@@ -71,16 +74,14 @@ The program does an ARP lookup to determine the MAC address. This lookup
71
74
  can sometimes require admin-level permissions to retrieve accurate results.
72
75
  *Try elevating your shell before execution.*
73
76
 
74
- ### Message "WARNING: No libpcap provider available ! pcap won't be used"
75
- This is a missing dependency related to the ARP lookup. This is handled in the code, but you would get marginally faster/better results with this installed: [npcap download](https://npcap.com/#download)
76
-
77
77
  ### The accuracy of the devices found is low
78
- I use a combination of ARP and Ping to determine if a device is online. This method drops in stability when used in many threads.
78
+ I use a combination of ARP, ICMP & port testing to determine if a device is online. Sometimes the scan settings can use some tuning to maximize both speed and accuracy.
79
+
79
80
  Recommendations:
80
81
 
81
- - Drop parallelism value (advanced dropdown)
82
- - Use python > 3.10 im noticing threadpool improvements after this version
83
- - Create a bug - I'm curious
82
+ - Adjust scan configuration
83
+ - Configure ARP lookup [ARP lookup setup](./support/arp-issues.md)
84
+ - Create a bug
84
85
 
85
86
 
86
87
  ### Something else
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "lanscape"
3
- version = "1.3.6a2"
3
+ version = "1.3.7"
4
4
  authors = [
5
5
  { name="Michael Dennis", email="michael@dipduo.com" },
6
6
  ]
@@ -163,6 +163,7 @@ class ApiTestCase(unittest.TestCase):
163
163
  f'/?scan_id={scanid}',
164
164
  f'/scan/{scanid}/overview',
165
165
  f'/scan/{scanid}/table',
166
+ f'/scan/{scanid}/table?filter=test',
166
167
  f'/export/{scanid}'
167
168
  ]
168
169
  for uri in uris:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes