SnakeScan 1.6.6__tar.gz → 1.6.8__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,98 @@
1
+ Metadata-Version: 2.4
2
+ Name: SnakeScan
3
+ Version: 1.6.8
4
+ Summary: IPv4 address scanner for collecting address information.Use carefully for your network safety.Scan only IPv4 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
+ Project-URL: Homepage, https://github.com/Den-Ram/SnakeScan
14
+ Project-URL: Repository, https://github.com/Den-Ram/SnakeScan
15
+
16
+ # SnakeScan
17
+ ![PyPI version](https://badge.fury.io/py/SnakeScan.svg)
18
+ ![License](https://img.shields.io/badge/License-MIT-blue.svg)
19
+ ![Requires-python](https://img.shields.io/badge/requires--python-3.7+-black)
20
+ ![Status](https://img.shields.io/badge/State-In%20development-black)
21
+ ![Platforms](https://img.shields.io/badge/Platforms-macOS%20%7C%20Linux%20%7C%20Windows-blue)
22
+
23
+ Use the library in the terminal, because that's what it's focused on. If you don't want to use the terminal, run it in code, but then some new functions won't be present there.You will need to use it differently.
24
+
25
+ # Help with using the library
26
+
27
+ ## If you use the library directly in your code:
28
+ ```
29
+ import SnakeScan
30
+ SnakeScan.run()
31
+ ```
32
+ - -l need internet to view public ip you device
33
+ - -t threading port search
34
+ - -s single search ports
35
+ - -i information about host
36
+ - -help in host /-help port in host
37
+ - -check [host] scan subnet in ip
38
+ - exit in host or port off script
39
+
40
+ ## Watcher commands
41
+ ```
42
+ Watcher.start() - Starts checking ports
43
+ Watcher.stop() - Stops port checking
44
+ ```
45
+ ## Help with attributes
46
+ ```
47
+ -P:
48
+ snake -p 80,443 #Scanning specific ports
49
+ snake -p 80,3437,8080,20-30,79-443 #Scanning individual ports and ranges. If you use ranges, then one port from the beginning is not be taken into account. For example:80-443 then it will start with 81-443, so you need to enter it from 79-443, then it will be taken into account
50
+ snake -p 80,3437,10-0,20-10,443-79 #You can enter ranges the other way around: 80-443,443-80 but the first value will start one port higher
51
+ -H:
52
+ #Displays a list of attribute usages
53
+ snake -h
54
+ snake -help
55
+ -SP:
56
+ -sp:snake -sp #Uses selected pre-selected range and uses for scanning ProcessPoolExecutor
57
+ -V:
58
+ snake -v #Shows the library version
59
+ -GS:
60
+ snake www.google.com -gs #Get a certificate from the official website. If you don't enter the hostname, you'll get this error [Errno 111] Connection refused
61
+ -T:
62
+ snake -t #Uses threads for port scanning
63
+ -CH:
64
+ snake -ch #Scans the subnet for others IP
65
+ -L:
66
+ snake -l #Shows your public internet IP address. Internet connection required for use
67
+ -I:
68
+ snake www.google.com -i #Shows information about the IP address.Can receive information from IPV4 and IPV6
69
+ # Library changes
70
+
71
+ ## Added class Watcher:
72
+ ```
73
+ from SnakeScan import Watcher
74
+ Watcher = Watcher(host="localhost",port="80",timeout=1)
75
+ Watcher.start()
76
+ ```
77
+ ## Library added for use in terminal to use enter snake or Snake
78
+ ```
79
+ usage: snake [-h] [-sp] [-v] [-i] [-p PORTS] [-t] [-ch]
80
+ [-l]
81
+ [host]
82
+
83
+ Snake - It's a command line module SnakeScan. Use him for
84
+ more fast starting
85
+
86
+ positional arguments:
87
+ host
88
+
89
+ options:
90
+ -h, --help show this help message and exit
91
+ -sp, --speed speed scan
92
+ -v, --version version
93
+ -i, --info ip info
94
+ -p, --ports PORTS range ports to scan host
95
+ -t, --thread fast scan
96
+ -ch, --check scan subnet
97
+ -l, --local view you public ip - need internet
98
+ ```
@@ -0,0 +1,83 @@
1
+ # SnakeScan
2
+ ![PyPI version](https://badge.fury.io/py/SnakeScan.svg)
3
+ ![License](https://img.shields.io/badge/License-MIT-blue.svg)
4
+ ![Requires-python](https://img.shields.io/badge/requires--python-3.7+-black)
5
+ ![Status](https://img.shields.io/badge/State-In%20development-black)
6
+ ![Platforms](https://img.shields.io/badge/Platforms-macOS%20%7C%20Linux%20%7C%20Windows-blue)
7
+
8
+ Use the library in the terminal, because that's what it's focused on. If you don't want to use the terminal, run it in code, but then some new functions won't be present there.You will need to use it differently.
9
+
10
+ # Help with using the library
11
+
12
+ ## If you use the library directly in your code:
13
+ ```
14
+ import SnakeScan
15
+ SnakeScan.run()
16
+ ```
17
+ - -l need internet to view public ip you device
18
+ - -t threading port search
19
+ - -s single search ports
20
+ - -i information about host
21
+ - -help in host /-help port in host
22
+ - -check [host] scan subnet in ip
23
+ - exit in host or port off script
24
+
25
+ ## Watcher commands
26
+ ```
27
+ Watcher.start() - Starts checking ports
28
+ Watcher.stop() - Stops port checking
29
+ ```
30
+ ## Help with attributes
31
+ ```
32
+ -P:
33
+ snake -p 80,443 #Scanning specific ports
34
+ snake -p 80,3437,8080,20-30,79-443 #Scanning individual ports and ranges. If you use ranges, then one port from the beginning is not be taken into account. For example:80-443 then it will start with 81-443, so you need to enter it from 79-443, then it will be taken into account
35
+ snake -p 80,3437,10-0,20-10,443-79 #You can enter ranges the other way around: 80-443,443-80 but the first value will start one port higher
36
+ -H:
37
+ #Displays a list of attribute usages
38
+ snake -h
39
+ snake -help
40
+ -SP:
41
+ -sp:snake -sp #Uses selected pre-selected range and uses for scanning ProcessPoolExecutor
42
+ -V:
43
+ snake -v #Shows the library version
44
+ -GS:
45
+ snake www.google.com -gs #Get a certificate from the official website. If you don't enter the hostname, you'll get this error [Errno 111] Connection refused
46
+ -T:
47
+ snake -t #Uses threads for port scanning
48
+ -CH:
49
+ snake -ch #Scans the subnet for others IP
50
+ -L:
51
+ snake -l #Shows your public internet IP address. Internet connection required for use
52
+ -I:
53
+ snake www.google.com -i #Shows information about the IP address.Can receive information from IPV4 and IPV6
54
+ # Library changes
55
+
56
+ ## Added class Watcher:
57
+ ```
58
+ from SnakeScan import Watcher
59
+ Watcher = Watcher(host="localhost",port="80",timeout=1)
60
+ Watcher.start()
61
+ ```
62
+ ## Library added for use in terminal to use enter snake or Snake
63
+ ```
64
+ usage: snake [-h] [-sp] [-v] [-i] [-p PORTS] [-t] [-ch]
65
+ [-l]
66
+ [host]
67
+
68
+ Snake - It's a command line module SnakeScan. Use him for
69
+ more fast starting
70
+
71
+ positional arguments:
72
+ host
73
+
74
+ options:
75
+ -h, --help show this help message and exit
76
+ -sp, --speed speed scan
77
+ -v, --version version
78
+ -i, --info ip info
79
+ -p, --ports PORTS range ports to scan host
80
+ -t, --thread fast scan
81
+ -ch, --check scan subnet
82
+ -l, --local view you public ip - need internet
83
+ ```
@@ -9,6 +9,7 @@ from threading import Thread
9
9
  from tqdm import tqdm
10
10
  from SnakeScan.Check_subnet import Check_network
11
11
  from SnakeScan.PoolExecutor import PoolProcessExecutor
12
+ from SnakeScan.Get_ssl import Get_ssl
12
13
 
13
14
 
14
15
  def main():
@@ -50,6 +51,8 @@ ports = {
50
51
  515: "PRINTER",
51
52
  554: "RTSP",
52
53
  587: "TLS/STARTTLS",
54
+ 636: "LDAPS",
55
+ 990: "FTPS",
53
56
  993: "IMAPS",
54
57
  995: "POP3S",
55
58
  1080: "SOCKS",
@@ -66,7 +69,7 @@ ports = {
66
69
  8080: "Tomcat",
67
70
  10000: "Webmin",
68
71
  }
69
- version = "1.6.6"
72
+ version = "1.6.8"
70
73
 
71
74
 
72
75
  def is_port_open(host, port):
@@ -126,6 +129,9 @@ def SnakeArgs():
126
129
  description="Snake - It's a command line module SnakeScan. Use him for more fast starting"
127
130
  )
128
131
  parser.add_argument("host", nargs="?", default="None")
132
+ parser.add_argument(
133
+ "-gs", "--getssl", action="store_true", help="get official ssl certificate"
134
+ )
129
135
  parser.add_argument("-sp", "--speed", action="store_true", help="speed scan")
130
136
  parser.add_argument("-v", "--version", action="store_true", help="version")
131
137
  parser.add_argument("-i", "--info", action="store_true", help="ip info")
@@ -326,3 +332,5 @@ if SnakeArgs().version:
326
332
  if SnakeArgs().speed:
327
333
  print(f"ProcessPoolExecutor".center(60, "-"))
328
334
  PoolProcessExecutor(host)
335
+ if SnakeArgs().getssl:
336
+ Get_ssl(host)
@@ -0,0 +1,17 @@
1
+ import socket
2
+ import ssl
3
+ import sys
4
+
5
+
6
+ def Get_ssl(host, port=443, timeout=2, protocol="HTTP/1.0"):
7
+ try:
8
+ sock = socket.create_connection((host, port), timeout)
9
+ context = ssl.create_default_context()
10
+ ssock = context.wrap_socket(sock, server_hostname=host)
11
+ ssock.sendall(f"GET / {protocol}\r\nHost:{host}\r\n\r\n".encode("utf-8"))
12
+ data = ssock.recv(4096)
13
+ print(data.decode(errors="replace"))
14
+ ssock.close()
15
+ except Exception as e:
16
+ print(e)
17
+ sys.exit()
@@ -1,6 +1,6 @@
1
- """IPv4 address scanner for collecting address information.Use carefully for your network safety.Use to get IPV4 from IPV6 address.Don't use it to scan IPV6 because it's not designed for it. Scan only IPv4 or get the IPv4 address from the IPv6 host"""
1
+ """IPv4 address scanner for collecting address information.Use carefully for your network safety.Scan only IPv4 or get the IPv4 address from the IPv6 host"""
2
2
 
3
- __version__ = "1.6.6"
3
+ __version__ = "1.6.8"
4
4
  import socket
5
5
  import ipaddress
6
6
  from art import tprint
@@ -47,7 +47,7 @@ class Watcher:
47
47
  self.work = False
48
48
  self.thread.join()
49
49
 
50
-
50
+ #Run SnakeScan
51
51
  def run():
52
52
  portsopen = 0
53
53
  portsclosed = 0
@@ -84,6 +84,8 @@ def run():
84
84
  515: "PRINTER",
85
85
  554: "RTSP",
86
86
  587: "TLS/STARTTLS",
87
+ 636: "LDAPS",
88
+ 990: "FTPS",
87
89
  993: "IMAPS",
88
90
  995: "POP3S",
89
91
  1080: "SOCKS",
snakescan-1.6.6/PKG-INFO DELETED
@@ -1,108 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: SnakeScan
3
- Version: 1.6.6
4
- Summary: IPv4 address scanner for collecting address information.Use carefully for your network safety.Use to get IPV4 from IPV6 address.Don't use it to scan IPV6 because it's not designed for it. Scan only IPv4 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
- Project-URL: Homepage, https://github.com/Den-Ram/SnakeScan
14
- Project-URL: Repository, https://github.com/Den-Ram/SnakeScan
15
-
16
- # SnakeScan
17
- ![PyPI version](https://badge.fury.io/py/SnakeScan.svg)
18
- ![License](https://img.shields.io/badge/License-MIT-blue.svg)
19
- ![Requires-python](https://img.shields.io/badge/requires--python-3.7+-red)
20
- Use to scan Ports and use carefully.Use the library in the terminal, because that's what it's focused on. If you don't want to use the terminal, run it in code, but then some new functions won't be present there.You will need to use it differently.
21
- # Help with using the library
22
- ## If you use the library directly in your code:
23
- ```
24
- import SnakeScan
25
- SnakeScan.run()
26
- ```
27
- - -l need internet to view public ip you device
28
- - -t threading port search
29
- - -s single search ports
30
- - -i information about host
31
- - -help in host /-help port in host
32
- - -check [host] scan subnet in ip
33
- - exit in host or port off script
34
-
35
- ## Watcher commands
36
- ```
37
- Watcher.start() - Starts checking ports
38
- Watcher.stop() - Stops port checking
39
- ```
40
- ## Help with attributes
41
- ```
42
- -P:
43
- snake -p 80,443 **Scanning specific ports**
44
- snake -p 80,3437,8080,20-30,79-443 **Scanning individual ports and ranges. If you use ranges, then one port from the beginning is not be taken into account. For example:80-443 then it will start with 81-443, so you need to enter it from 79-443, then it will be taken into account
45
- snake -p 80,3437,10-0,20-10,443-79** **You can enter ranges the other way around: 80-443,443-80 but the first value will start one port higher**
46
- -H:
47
- **Displays a list of attribute usages**
48
- snake -h
49
- snake -help
50
- -SP:
51
- -sp:snake -sp **Uses selected pre-selected range and uses for scanning ProcessPoolExecutor**
52
- -V:
53
- snake -v **Shows the library version**
54
- -T:
55
- snake -t **Uses streams for port scanning**
56
- -CH:
57
- snake -ch **Scans the subnet for others IP**
58
- -L:
59
- snake -l **Shows your public internet IP address. Internet connection required for use**
60
- -I:
61
- snake www.google.com -i **Shows information about the IP address.Can receive information from IPV4 and IPV6**
62
- **You can also use all attributes in place:**
63
- ```
64
- snake -p 100,200,79-443 www.google.com -i -l -t -ch -sp
65
- ```
66
- # Library changes
67
-
68
- ## Added class Watcher:
69
- ```
70
- from SnakeScan import Watcher
71
- Watcher = Watcher(host="localhost",port="80",timeout=1)
72
- Watcher.start()
73
- ```
74
- ## Added multiple use Watcher:
75
- ```
76
- from SnakeScan import Watcher
77
- ports=[53,80,100,160]
78
- Watchers=[]
79
- for i in range(len(ports)):
80
- Watchers.append(Watcher("127.0.0.1",ports[i]))
81
- Watchers[i].start()
82
- ```
83
- ## Library added for use in terminal to use enter snake or Snake
84
- ```
85
- usage: snake [-h] [-sp] [-v] [-i] [-p PORTS] [-t] [-ch]
86
- [-l]
87
- [host]
88
-
89
- Snake - It's a command line module SnakeScan. Use him for
90
- more fast starting
91
-
92
- positional arguments:
93
- host
94
-
95
- options:
96
- -h, --help show this help message and exit
97
- -sp, --speed speed scan
98
- -v, --version version
99
- -i, --info ip info
100
- -p, --ports PORTS range ports to scan host
101
- -t, --thread fast scan
102
- -ch, --check scan subnet
103
- -l, --local view you public ip - need internet
104
- ```
105
- ## Added Info about ipv6
106
- ```
107
- snake 2001:db8:: -i or snake [2001:4860:4860::8888] -i
108
- ```
snakescan-1.6.6/README.md DELETED
@@ -1,93 +0,0 @@
1
- # SnakeScan
2
- ![PyPI version](https://badge.fury.io/py/SnakeScan.svg)
3
- ![License](https://img.shields.io/badge/License-MIT-blue.svg)
4
- ![Requires-python](https://img.shields.io/badge/requires--python-3.7+-red)
5
- Use to scan Ports and use carefully.Use the library in the terminal, because that's what it's focused on. If you don't want to use the terminal, run it in code, but then some new functions won't be present there.You will need to use it differently.
6
- # Help with using the library
7
- ## If you use the library directly in your code:
8
- ```
9
- import SnakeScan
10
- SnakeScan.run()
11
- ```
12
- - -l need internet to view public ip you device
13
- - -t threading port search
14
- - -s single search ports
15
- - -i information about host
16
- - -help in host /-help port in host
17
- - -check [host] scan subnet in ip
18
- - exit in host or port off script
19
-
20
- ## Watcher commands
21
- ```
22
- Watcher.start() - Starts checking ports
23
- Watcher.stop() - Stops port checking
24
- ```
25
- ## Help with attributes
26
- ```
27
- -P:
28
- snake -p 80,443 **Scanning specific ports**
29
- snake -p 80,3437,8080,20-30,79-443 **Scanning individual ports and ranges. If you use ranges, then one port from the beginning is not be taken into account. For example:80-443 then it will start with 81-443, so you need to enter it from 79-443, then it will be taken into account
30
- snake -p 80,3437,10-0,20-10,443-79** **You can enter ranges the other way around: 80-443,443-80 but the first value will start one port higher**
31
- -H:
32
- **Displays a list of attribute usages**
33
- snake -h
34
- snake -help
35
- -SP:
36
- -sp:snake -sp **Uses selected pre-selected range and uses for scanning ProcessPoolExecutor**
37
- -V:
38
- snake -v **Shows the library version**
39
- -T:
40
- snake -t **Uses streams for port scanning**
41
- -CH:
42
- snake -ch **Scans the subnet for others IP**
43
- -L:
44
- snake -l **Shows your public internet IP address. Internet connection required for use**
45
- -I:
46
- snake www.google.com -i **Shows information about the IP address.Can receive information from IPV4 and IPV6**
47
- **You can also use all attributes in place:**
48
- ```
49
- snake -p 100,200,79-443 www.google.com -i -l -t -ch -sp
50
- ```
51
- # Library changes
52
-
53
- ## Added class Watcher:
54
- ```
55
- from SnakeScan import Watcher
56
- Watcher = Watcher(host="localhost",port="80",timeout=1)
57
- Watcher.start()
58
- ```
59
- ## Added multiple use Watcher:
60
- ```
61
- from SnakeScan import Watcher
62
- ports=[53,80,100,160]
63
- Watchers=[]
64
- for i in range(len(ports)):
65
- Watchers.append(Watcher("127.0.0.1",ports[i]))
66
- Watchers[i].start()
67
- ```
68
- ## Library added for use in terminal to use enter snake or Snake
69
- ```
70
- usage: snake [-h] [-sp] [-v] [-i] [-p PORTS] [-t] [-ch]
71
- [-l]
72
- [host]
73
-
74
- Snake - It's a command line module SnakeScan. Use him for
75
- more fast starting
76
-
77
- positional arguments:
78
- host
79
-
80
- options:
81
- -h, --help show this help message and exit
82
- -sp, --speed speed scan
83
- -v, --version version
84
- -i, --info ip info
85
- -p, --ports PORTS range ports to scan host
86
- -t, --thread fast scan
87
- -ch, --check scan subnet
88
- -l, --local view you public ip - need internet
89
- ```
90
- ## Added Info about ipv6
91
- ```
92
- snake 2001:db8:: -i or snake [2001:4860:4860::8888] -i
93
- ```
File without changes
File without changes