SnakeScan 1.7.5__tar.gz → 1.7.6__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.
@@ -0,0 +1,102 @@
1
+ Metadata-Version: 2.4
2
+ Name: SnakeScan
3
+ Version: 1.7.6
4
+ Summary: IPv4 address scanner for collecting address information.Scan or get the IPv4 address from the IPv6 host
5
+ Author: Den*Ram
6
+ Requires-Python: >=3.7
7
+ Description-Content-Type: text/markdown
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
+ Requires-Dist: art
11
+ Requires-Dist: tqdm
12
+ Requires-Dist: termcolor
13
+
14
+ <!--
15
+
16
+ This documentation was created with the assistance of the GeekBot language model and Den*Ram
17
+
18
+ -->
19
+
20
+ # 🐍 SnakeScan: A Robust Python Port Scanner
21
+
22
+ A versatile and efficient Python library designed for comprehensive network port scanning.
23
+
24
+ [![PyPI](https://img.shields.io/pypi/v/SnakeScan?color=blue&label=PyPI)](https://pypi.org/project/SnakeScan/)
25
+
26
+ [![MIT License](https://img.shields.io/badge/License-MIT-green)](https://opensource.org/licenses/MIT)
27
+
28
+ [![Python 3.7+](https://img.shields.io/badge/Python-3.7+-brightgreen)](https://www.python.org/)
29
+
30
+ [![Status: Beta](https://img.shields.io/badge/Status-Beta-yellow)](https://img.shields.io/badge/Status-Beta-yellow)
31
+
32
+ **SnakeScan** provides a flexible and powerful solution for network administrators, security professionals, and developers requiring reliable port scanning capabilities. From basic port verification to advanced, multi-threaded subnet analysis, SnakeScan delivers the tools necessary for effective network assessment.
33
+
34
+ ## ⚙️ Key Features:
35
+
36
+ * **Flexible Port Specification:** Define target ports as single values, ranges, or through pre-configured sets.
37
+
38
+ * **Multi-Threaded Architecture:** Accelerate scanning operations with parallel processing for rapid analysis.
39
+
40
+ * **IP Information Retrieval:** Obtain detailed information about target IP addresses, supporting both IPv4 and IPv6.
41
+
42
+ * **Real-time Port Monitoring:** Utilize the `Watcher` class for continuous monitoring of critical port statuses.
43
+
44
+ * **Concise Command-Line Interface & API:** Integrate SnakeScan seamlessly into workflows via CLI or programmatic access.
45
+
46
+ * **UDP Port Scanning:** Native support for scanning UDP ports.
47
+
48
+ ## ⬇️ Installation:
49
+
50
+ Install SnakeScan using pip:
51
+
52
+ bash
53
+
54
+ pip install SnakeScan
55
+
56
+ ## ⌨️ Command Line Usage:
57
+
58
+ ### 💡 Attribute Reference:
59
+
60
+ * **-p**: Specify target ports for scanning (single port or range). Note: Range specifications exclude the lower bound on the first entry. Example: To scan from port 80 to 443, define the range as `79-443`. Examples: `snake -p 80,443` or `snake -p 80,3437,8080,20-30,79-443`
61
+
62
+ * **-u**: Enable UDP port scanning. Example: `snake -p 53 -u`
63
+
64
+ * **-h**: Display the complete list of available command-line attributes and their descriptions. Example: `snake -h` or `snake -help`
65
+
66
+ * **-sp**: Initiate a scan using a predefined set of common ports with `ProcessPoolExecutor`. Example: `snake -sp`
67
+
68
+ * **-v**: Display the current version of the SnakeScan library. Example: `snake -v`
69
+
70
+ * **-gs**: Retrieve the SSL/TLS certificate from a specified web server. Example: `snake www.google.com -gs` (Requires a valid hostname to avoid connection errors.)
71
+
72
+ * **-t**: Enable multi-threading for enhanced scan performance. Example: `snake -t`
73
+
74
+ * **-ch**: Scan a subnet to discover active IP addresses on the network. Example: `snake -ch`
75
+
76
+ * **-l**: Display your public IP address (requires an active internet connection). Example: `snake -l`
77
+
78
+ * **-i**: Show detailed information about a specific IP address (supports both IPv4 and IPv6). Example: `snake www.google.com -i`
79
+
80
+ ## 💻 Python Code Integration:
81
+
82
+ ### ⏱️ Watcher Class: Real-Time Port Status
83
+
84
+ The `Watcher` class facilitates continuous monitoring of a specified port.
85
+
86
+ python
87
+
88
+ from SnakeScan import Watcher
89
+
90
+ watcher = Watcher("localhost", 53, 2) # Host, port, check interval (in seconds)
91
+
92
+ watcher.start() # Begin monitoring!
93
+
94
+ #### `Watcher` Methods:
95
+
96
+ * `Watcher.start()` - Initiate the port monitoring process.
97
+
98
+ * `Watcher.stop()` - Terminate the port monitoring process.
99
+
100
+ ---
101
+
102
+ **Latest Update:** 1.7.6 (Introduced UDP port scanning)
@@ -0,0 +1,89 @@
1
+ <!--
2
+
3
+ This documentation was created with the assistance of the GeekBot language model and Den*Ram
4
+
5
+ -->
6
+
7
+ # 🐍 SnakeScan: A Robust Python Port Scanner
8
+
9
+ A versatile and efficient Python library designed for comprehensive network port scanning.
10
+
11
+ [![PyPI](https://img.shields.io/pypi/v/SnakeScan?color=blue&label=PyPI)](https://pypi.org/project/SnakeScan/)
12
+
13
+ [![MIT License](https://img.shields.io/badge/License-MIT-green)](https://opensource.org/licenses/MIT)
14
+
15
+ [![Python 3.7+](https://img.shields.io/badge/Python-3.7+-brightgreen)](https://www.python.org/)
16
+
17
+ [![Status: Beta](https://img.shields.io/badge/Status-Beta-yellow)](https://img.shields.io/badge/Status-Beta-yellow)
18
+
19
+ **SnakeScan** provides a flexible and powerful solution for network administrators, security professionals, and developers requiring reliable port scanning capabilities. From basic port verification to advanced, multi-threaded subnet analysis, SnakeScan delivers the tools necessary for effective network assessment.
20
+
21
+ ## ⚙️ Key Features:
22
+
23
+ * **Flexible Port Specification:** Define target ports as single values, ranges, or through pre-configured sets.
24
+
25
+ * **Multi-Threaded Architecture:** Accelerate scanning operations with parallel processing for rapid analysis.
26
+
27
+ * **IP Information Retrieval:** Obtain detailed information about target IP addresses, supporting both IPv4 and IPv6.
28
+
29
+ * **Real-time Port Monitoring:** Utilize the `Watcher` class for continuous monitoring of critical port statuses.
30
+
31
+ * **Concise Command-Line Interface & API:** Integrate SnakeScan seamlessly into workflows via CLI or programmatic access.
32
+
33
+ * **UDP Port Scanning:** Native support for scanning UDP ports.
34
+
35
+ ## ⬇️ Installation:
36
+
37
+ Install SnakeScan using pip:
38
+
39
+ bash
40
+
41
+ pip install SnakeScan
42
+
43
+ ## ⌨️ Command Line Usage:
44
+
45
+ ### 💡 Attribute Reference:
46
+
47
+ * **-p**: Specify target ports for scanning (single port or range). Note: Range specifications exclude the lower bound on the first entry. Example: To scan from port 80 to 443, define the range as `79-443`. Examples: `snake -p 80,443` or `snake -p 80,3437,8080,20-30,79-443`
48
+
49
+ * **-u**: Enable UDP port scanning. Example: `snake -p 53 -u`
50
+
51
+ * **-h**: Display the complete list of available command-line attributes and their descriptions. Example: `snake -h` or `snake -help`
52
+
53
+ * **-sp**: Initiate a scan using a predefined set of common ports with `ProcessPoolExecutor`. Example: `snake -sp`
54
+
55
+ * **-v**: Display the current version of the SnakeScan library. Example: `snake -v`
56
+
57
+ * **-gs**: Retrieve the SSL/TLS certificate from a specified web server. Example: `snake www.google.com -gs` (Requires a valid hostname to avoid connection errors.)
58
+
59
+ * **-t**: Enable multi-threading for enhanced scan performance. Example: `snake -t`
60
+
61
+ * **-ch**: Scan a subnet to discover active IP addresses on the network. Example: `snake -ch`
62
+
63
+ * **-l**: Display your public IP address (requires an active internet connection). Example: `snake -l`
64
+
65
+ * **-i**: Show detailed information about a specific IP address (supports both IPv4 and IPv6). Example: `snake www.google.com -i`
66
+
67
+ ## 💻 Python Code Integration:
68
+
69
+ ### ⏱️ Watcher Class: Real-Time Port Status
70
+
71
+ The `Watcher` class facilitates continuous monitoring of a specified port.
72
+
73
+ python
74
+
75
+ from SnakeScan import Watcher
76
+
77
+ watcher = Watcher("localhost", 53, 2) # Host, port, check interval (in seconds)
78
+
79
+ watcher.start() # Begin monitoring!
80
+
81
+ #### `Watcher` Methods:
82
+
83
+ * `Watcher.start()` - Initiate the port monitoring process.
84
+
85
+ * `Watcher.stop()` - Terminate the port monitoring process.
86
+
87
+ ---
88
+
89
+ **Latest Update:** 1.7.6 (Introduced UDP port scanning)
@@ -11,6 +11,7 @@ from tqdm import tqdm
11
11
  from SnakeScan.Check_subnet import Check_network
12
12
  from SnakeScan.PoolExecutor import PoolProcessExecutor
13
13
  from SnakeScan.Get_ssl import Get_ssl
14
+ from SnakeScan.Pool_UDP_Executor import PoolExecutorUDP
14
15
 
15
16
 
16
17
  def main():
@@ -112,7 +113,7 @@ ports = {
112
113
  }
113
114
 
114
115
 
115
- version = "1.7.5"
116
+ version = "1.7.6"
116
117
 
117
118
 
118
119
  def is_port_open(host, port):
@@ -172,6 +173,9 @@ def SnakeArgs():
172
173
  description="SnakeScan - It's a command line library for scan and get information about ip."
173
174
  )
174
175
  parser.add_argument("host", nargs="?", default="None")
176
+ parser.add_argument(
177
+ "-u", "--udp", action="store_true", help="Use UDP ports for scanning"
178
+ )
175
179
  parser.add_argument(
176
180
  "-gs", "--getssl", action="store_true", help="Get official ssl certificate"
177
181
  )
@@ -225,6 +229,170 @@ for n in range(len(host)):
225
229
  host[n] = host[n][0:i]
226
230
  if host[0] == "None":
227
231
  host[0] = "localhost"
232
+ if SnakeArgs().udp:
233
+
234
+ def is_port_open(host, port, timeout=1):
235
+ try:
236
+ sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
237
+ sock.settimeout(timeout)
238
+ message = b"Test UDP packet"
239
+ address = (host, port)
240
+
241
+ sock.sendto(message, address)
242
+
243
+ try:
244
+ data, server = sock.recvfrom(4096)
245
+ print(f"Response received: {data.decode()} from {server}")
246
+ is_open = True
247
+ except socket.timeout:
248
+ is_open = False
249
+ except ConnectionRefusedError:
250
+ is_open = False
251
+
252
+ sock.close()
253
+ return is_open
254
+
255
+ except socket.gaierror:
256
+ print("Error: Unable to resolve host name.")
257
+ return None
258
+ except socket.error as e:
259
+ print(f"Socket error: {e}")
260
+ return False
261
+
262
+ def is_port_open_threads(host, port, timeout=1):
263
+ try:
264
+ sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
265
+ sock.settimeout(timeout)
266
+ message = b"Test UDP packet"
267
+ address = (host, port)
268
+
269
+ sock.sendto(message, address)
270
+
271
+ try:
272
+ data, server = sock.recvfrom(4096)
273
+ print(f"Response received: {data.decode()} from {server}")
274
+ print(
275
+ f"Open{colored('[√]','green')}-->{ports.get(port)}|{port}| may be listening on host"
276
+ )
277
+ except socket.timeout:
278
+ print(
279
+ f"Closed{colored('[X]','red')}-->{ports.get(port)}|{port}| is likely closed on host"
280
+ )
281
+ except ConnectionRefusedError:
282
+ print("An error occurred while scanning.")
283
+ sock.close()
284
+ except socket.gaierror:
285
+ print("Error: Unable to resolve host name.")
286
+ except socket.error as e:
287
+ print(f"Socket error: {e}")
288
+
289
+ ports = {
290
+ 7: "Echo",
291
+ 9: "Discard",
292
+ 19: "Chargen",
293
+ 37: "Time",
294
+ 53: "DNS",
295
+ 67: "BOOTPS/DHCP server",
296
+ 68: "BOOTPC/DHCP client",
297
+ 69: "TFTP",
298
+ 123: "NTP",
299
+ 137: "NetBIOS-NS",
300
+ 138: "NetBIOS-DGM",
301
+ 161: "SNMP",
302
+ 162: "SNMP-trap",
303
+ 389: "LDAP",
304
+ 500: "ISAKMP",
305
+ 520: "RIP",
306
+ 5353: "MDNS",
307
+ 546: "DHCPv6 client",
308
+ 547: "DHCPv6 server",
309
+ 2049: "NFS",
310
+ }
311
+ else:
312
+ ports = {
313
+ 20: "FTP-Data",
314
+ 21: "FTP-Control",
315
+ 22: "SSH",
316
+ 23: "Telnet",
317
+ 24: "Priv-mail",
318
+ 25: "SMTP",
319
+ 29: "MSG-ICP",
320
+ 31: "MSG-AUTH",
321
+ 33: "DSP",
322
+ 35: "Priv-print",
323
+ 41: "Graphics",
324
+ 42: "WINS",
325
+ 43: "Whois",
326
+ 48: "AUDITD",
327
+ 57: "Priv-term",
328
+ 59: "Priv-file",
329
+ 63: "WHOISPP",
330
+ 66: "SQL-NET",
331
+ 75: "Priv-dial",
332
+ 80: "HTTP",
333
+ 109: "POP2",
334
+ 110: "POP3",
335
+ 113: "ident",
336
+ 115: "SFTP",
337
+ 118: "SQLServ",
338
+ 119: "NNTP",
339
+ 139: "NetBIOS-SSN",
340
+ 143: "IMAP",
341
+ 179: "BGP",
342
+ 194: "IRC",
343
+ 199: "SMUX",
344
+ 200: "SRC",
345
+ 220: "IMAP3",
346
+ 311: "ASIP-WEBADMIN",
347
+ 344: "PDAP",
348
+ 345: "PAWSERV",
349
+ 346: "ZSERV",
350
+ 347: "FATSERV",
351
+ 401: "UPS",
352
+ 413: "SMSP",
353
+ 427: "SVRLOC",
354
+ 443: "HTTPS",
355
+ 444: "SNPP",
356
+ 606: "URM",
357
+ 607: "NQS",
358
+ 631: "IPP",
359
+ 636: "LDAPS",
360
+ 639: "MSDP",
361
+ 646: "LDP",
362
+ 647: "DHCP-FAILOVER",
363
+ 648: "RRP",
364
+ 753: "RRH",
365
+ 830: "NETCONF-SSH",
366
+ 831: "NETCONF-BEEP",
367
+ 832: "NETCONFSOAPHTTP",
368
+ 833: "NETCONFSOAPBEEP",
369
+ 861: "OWAMP-CONTROL",
370
+ 862: "TWAPM-CONTROL",
371
+ 873: "RSYNC",
372
+ 989: "FTPS-DATA",
373
+ 990: "FTPS",
374
+ 995: "POP3S",
375
+ 1038: "MTQP",
376
+ 1080: "SOCKS",
377
+ 1194: "OpenVPN",
378
+ 1433: "SQL server",
379
+ 1723: "PPTP",
380
+ 2222: "SSH",
381
+ 3128: "HTTP",
382
+ 3268: "LDAP",
383
+ 3306: "MySQL",
384
+ 3389: "RDP",
385
+ 3455: "RSVP",
386
+ 3632: "Distributed compiler",
387
+ 3689: "DAAP",
388
+ 5432: "PostgreSQL",
389
+ 5900: "VNC",
390
+ 8000: "HTTP",
391
+ 8080: "HTTP",
392
+ 8443: "HTTPS",
393
+ 8888: "HTTP",
394
+ 10000: "Webmin",
395
+ }
228
396
  if SnakeArgs().ports:
229
397
  rangeports, port_user = Ports(port_user)
230
398
  for i in range(len(port_user)):
@@ -390,6 +558,11 @@ if SnakeArgs().thread:
390
558
  if SnakeArgs().version:
391
559
  print(f"SnakeScan_Build_{version}")
392
560
  if SnakeArgs().speed:
561
+ if SnakeArgs().udp:
562
+ for n in range(len(host)):
563
+ print(f"{host[n]}".center(60, "—"))
564
+ PoolExecutorUDP(host[n])
565
+ sys.exit()
393
566
  for n in range(len(host)):
394
567
  print(f"{host[n]}".center(60, "—"))
395
568
  PoolProcessExecutor(host[n])
@@ -0,0 +1,64 @@
1
+ import socket
2
+ from termcolor import colored
3
+ from concurrent.futures import ProcessPoolExecutor
4
+
5
+ ports = {
6
+ 7: "Echo",
7
+ 9: "Discard",
8
+ 19: "Chargen",
9
+ 37: "Time",
10
+ 53: "DNS",
11
+ 67: "BOOTPS/DHCP server",
12
+ 68: "BOOTPC/DHCP client",
13
+ 69: "TFTP",
14
+ 123: "NTP",
15
+ 137: "NetBIOS-NS",
16
+ 138: "NetBIOS-DGM",
17
+ 161: "SNMP",
18
+ 162: "SNMP-trap",
19
+ 389: "LDAP",
20
+ 500: "ISAKMP",
21
+ 520: "RIP",
22
+ 5353: "MDNS",
23
+ 546: "DHCPv6 client",
24
+ 547: "DHCPv6 server",
25
+ 2049: "NFS",
26
+ }
27
+
28
+
29
+ def is_port_open_threads(host, port, timeout=1):
30
+ try:
31
+ sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
32
+ sock.settimeout(timeout)
33
+ message = b"Test UDP packet"
34
+ address = (host, port)
35
+
36
+ sock.sendto(message, address)
37
+
38
+ try:
39
+ data, server = sock.recvfrom(4096)
40
+ print(f"Response received: {data.decode()} from {server}")
41
+ print(
42
+ f"Open{colored('[√]','green')}-->{ports.get(port)}|{port}| may be listening on host"
43
+ )
44
+ except socket.timeout:
45
+ print(
46
+ f"Closed{colored('[X]','red')}-->{ports.get(port)}|{port}| is likely closed on host"
47
+ )
48
+ except ConnectionRefusedError:
49
+ print("An error occurred while scanning.")
50
+ sock.close()
51
+ except socket.gaierror:
52
+ print("Error: Unable to resolve host name.")
53
+ except socket.error as e:
54
+ print(f"Socket error: {e}")
55
+
56
+
57
+ def PoolExecutorUDP(host):
58
+ with ProcessPoolExecutor(max_workers=None) as executor:
59
+ try:
60
+ for port in ports.keys():
61
+ future = executor.submit(is_port_open_threads, host, port)
62
+
63
+ except Exception as e:
64
+ print(e)
@@ -1,6 +1,6 @@
1
1
  """IPv4 address scanner for collecting address information.Scan or get the IPv4 address from the IPv6 host"""
2
2
 
3
- __version__ = "1.7.5"
3
+ __version__ = "1.7.6"
4
4
  import socket
5
5
  from time import sleep
6
6
  from termcolor import colored
snakescan-1.7.5/PKG-INFO DELETED
@@ -1,102 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: SnakeScan
3
- Version: 1.7.5
4
- Summary: IPv4 address scanner for collecting address information.Scan or get the IPv4 address from the IPv6 host
5
- Author: Den*Ram
6
- Requires-Python: >=3.7
7
- Description-Content-Type: text/markdown
8
- License-Expression: MIT
9
- License-File: LICENSE
10
- Requires-Dist: art
11
- Requires-Dist: tqdm
12
- Requires-Dist: termcolor
13
-
14
- <!--
15
-
16
- This documentation was created with the assistance of the GeekBot language model and Den*Ram
17
-
18
- -->
19
-
20
- # 🐍 SnakeScan: Your Go-To Python Port Scanner
21
-
22
- ✨ A powerful and flexible Python library for all your port scanning needs. ✨
23
-
24
- [![PyPI](https://img.shields.io/pypi/v/SnakeScan?color=blue&label=PyPI)](https://pypi.org/project/SnakeScan/)
25
-
26
- [![MIT License](https://img.shields.io/badge/License-MIT-green)](https://opensource.org/licenses/MIT)
27
-
28
- [![Python 3.7+](https://img.shields.io/badge/Python-3.7+-brightgreen)](https://www.python.org/)
29
-
30
- [![Status: Beta](https://img.shields.io/badge/Status-Beta-yellow)](https://github.com/yourusername/SnakeScan/releases) <!-- Replace yourusername with yours -->
31
-
32
- [![Platforms](https://img.shields.io/badge/Platforms-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey)](https://www.python.org/)
33
-
34
- **SnakeScan** is designed to be both easy to use and incredibly versatile. Whether you're performing basic single port checks or diving into advanced subnet scans and real-time monitoring, SnakeScan has you covered.
35
-
36
- ## 🌟 Key Features:
37
-
38
- * **Unmatched Flexibility:** Scan single ports, defined ranges, or pre-configured sets with ease.
39
-
40
- * **Blazing Fast Multithreading:** Leverage multithreading for significantly faster scanning speeds.
41
-
42
- * **Get the Details:** Retrieve valuable information about IP addresses (supports both IPv4 and IPv6).
43
-
44
- * **Real-time Monitoring with Watcher:** Keep a constant eye on critical ports and their statuses.
45
-
46
- * **Intuitive Design:** Clean and simple command-line parameters and API for effortless use.
47
-
48
- ## ⬇️ Installation:
49
-
50
- Get started with SnakeScan in seconds!
51
-
52
- bash
53
-
54
- pip install SnakeScan
55
-
56
- ## ⚙️ Command Line Usage: Unleash the Power!
57
-
58
- ### 💡 Mastering Attribute Usage:
59
-
60
- * **-p**: Specify ports to scan (single or ranges). **Important:** When specifying ranges, the beginning of the range is only included from the second time. For example, to scan from 80 to 443, use `79-443`. Examples: `snake -p 80,443` or `snake -p 80,3437,8080,20-30,79-443`
61
-
62
- * **-h**: Display a complete list of available attributes and their descriptions. Example: `snake -h` or `snake -help`
63
-
64
- * **-sp**: Use a predefined set of common ports for scanning with `ProcessPoolExecutor`. Example: `snake -sp`
65
-
66
- * **-v**: Show the current version of the SnakeScan library. Example: `snake -v`
67
-
68
- * **-gs**: Retrieve the SSL/TLS certificate from a specified website. Example: `snake www.google.com -gs` (Without specifying a host, you’ll encounter a connection error).
69
-
70
- * **-t**: Enable multithreading to speed up your port scans. Example: `snake -t`
71
-
72
- * **-ch**: Scan a subnet to discover other IP addresses on the network. Example: `snake -ch`
73
-
74
- * **-l**: Display your public IP address (requires an active internet connection). Example: `snake -l`
75
-
76
- * **-i**: Show detailed information about a specific IP address (supports both IPv4 and IPv6). Example: `snake www.google.com -i`
77
-
78
- ## 💻 Python Code Integration:
79
-
80
- ### ⏱️ Watcher: The Real-Time Port Sentinel!
81
-
82
- `Watcher` allows you to continuously monitor the status of a designated port.
83
-
84
- python
85
-
86
- from SnakeScan import Watcher
87
-
88
- watcher = Watcher("localhost", 53, 2) # Host, port, check interval (in seconds)
89
-
90
- watcher.start() # Begin monitoring!
91
-
92
- #### `Watcher` Command Set:
93
-
94
- * `Watcher.start()` - Starts the port monitoring process.
95
-
96
- * `Watcher.stop()` - Halts the port monitoring process.
97
-
98
- ---
99
-
100
- **Latest Update:** 1.7.5 (Enhanced port designations for even clearer understanding)
101
-
102
-
snakescan-1.7.5/README.md DELETED
@@ -1,88 +0,0 @@
1
- <!--
2
-
3
- This documentation was created with the assistance of the GeekBot language model and Den*Ram
4
-
5
- -->
6
-
7
- # 🐍 SnakeScan: Your Go-To Python Port Scanner
8
-
9
- ✨ A powerful and flexible Python library for all your port scanning needs. ✨
10
-
11
- [![PyPI](https://img.shields.io/pypi/v/SnakeScan?color=blue&label=PyPI)](https://pypi.org/project/SnakeScan/)
12
-
13
- [![MIT License](https://img.shields.io/badge/License-MIT-green)](https://opensource.org/licenses/MIT)
14
-
15
- [![Python 3.7+](https://img.shields.io/badge/Python-3.7+-brightgreen)](https://www.python.org/)
16
-
17
- [![Status: Beta](https://img.shields.io/badge/Status-Beta-yellow)](https://github.com/yourusername/SnakeScan/releases) <!-- Replace yourusername with yours -->
18
-
19
- [![Platforms](https://img.shields.io/badge/Platforms-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey)](https://www.python.org/)
20
-
21
- **SnakeScan** is designed to be both easy to use and incredibly versatile. Whether you're performing basic single port checks or diving into advanced subnet scans and real-time monitoring, SnakeScan has you covered.
22
-
23
- ## 🌟 Key Features:
24
-
25
- * **Unmatched Flexibility:** Scan single ports, defined ranges, or pre-configured sets with ease.
26
-
27
- * **Blazing Fast Multithreading:** Leverage multithreading for significantly faster scanning speeds.
28
-
29
- * **Get the Details:** Retrieve valuable information about IP addresses (supports both IPv4 and IPv6).
30
-
31
- * **Real-time Monitoring with Watcher:** Keep a constant eye on critical ports and their statuses.
32
-
33
- * **Intuitive Design:** Clean and simple command-line parameters and API for effortless use.
34
-
35
- ## ⬇️ Installation:
36
-
37
- Get started with SnakeScan in seconds!
38
-
39
- bash
40
-
41
- pip install SnakeScan
42
-
43
- ## ⚙️ Command Line Usage: Unleash the Power!
44
-
45
- ### 💡 Mastering Attribute Usage:
46
-
47
- * **-p**: Specify ports to scan (single or ranges). **Important:** When specifying ranges, the beginning of the range is only included from the second time. For example, to scan from 80 to 443, use `79-443`. Examples: `snake -p 80,443` or `snake -p 80,3437,8080,20-30,79-443`
48
-
49
- * **-h**: Display a complete list of available attributes and their descriptions. Example: `snake -h` or `snake -help`
50
-
51
- * **-sp**: Use a predefined set of common ports for scanning with `ProcessPoolExecutor`. Example: `snake -sp`
52
-
53
- * **-v**: Show the current version of the SnakeScan library. Example: `snake -v`
54
-
55
- * **-gs**: Retrieve the SSL/TLS certificate from a specified website. Example: `snake www.google.com -gs` (Without specifying a host, you’ll encounter a connection error).
56
-
57
- * **-t**: Enable multithreading to speed up your port scans. Example: `snake -t`
58
-
59
- * **-ch**: Scan a subnet to discover other IP addresses on the network. Example: `snake -ch`
60
-
61
- * **-l**: Display your public IP address (requires an active internet connection). Example: `snake -l`
62
-
63
- * **-i**: Show detailed information about a specific IP address (supports both IPv4 and IPv6). Example: `snake www.google.com -i`
64
-
65
- ## 💻 Python Code Integration:
66
-
67
- ### ⏱️ Watcher: The Real-Time Port Sentinel!
68
-
69
- `Watcher` allows you to continuously monitor the status of a designated port.
70
-
71
- python
72
-
73
- from SnakeScan import Watcher
74
-
75
- watcher = Watcher("localhost", 53, 2) # Host, port, check interval (in seconds)
76
-
77
- watcher.start() # Begin monitoring!
78
-
79
- #### `Watcher` Command Set:
80
-
81
- * `Watcher.start()` - Starts the port monitoring process.
82
-
83
- * `Watcher.stop()` - Halts the port monitoring process.
84
-
85
- ---
86
-
87
- **Latest Update:** 1.7.5 (Enhanced port designations for even clearer understanding)
88
-
File without changes
File without changes