Skip to content

Commit 4d254d6

Browse files
committed
refactor(ping, ssl): optimize IP resolution logic to avoid unnecessary calls during CIDR scans
1 parent 052df9b commit 4d254d6

2 files changed

Lines changed: 20 additions & 15 deletions

File tree

bugscanx/modules/scanners_pro/scanners/ping.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,16 @@ def task(self, payload):
6464
result = sock.connect_ex((host, int(port)))
6565

6666
if result == 0:
67-
ip = self.resolve_ip(host)
6867
data = {
6968
'host': host,
70-
'port': port,
71-
'ip': ip
69+
'port': port
7270
}
71+
72+
# Only resolve IP when not scanning CIDR
73+
if not self.is_cidr_input:
74+
ip = self.resolve_ip(host)
75+
data['ip'] = ip
76+
7377
self.success(data)
7478
self.log_info(**data)
7579

bugscanx/modules/scanners_pro/scanners/ssl.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,6 @@ def task(self, payload):
5454
if not sni:
5555
return
5656

57-
response = {
58-
'sni': sni,
59-
'tls_version': 'Unknown',
60-
}
61-
62-
if not self.is_cidr_input:
63-
ip = self.resolve_ip(sni)
64-
response['ip'] = ip
65-
6657
try:
6758
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as socket_client:
6859
socket_client.settimeout(2)
@@ -73,9 +64,19 @@ def task(self, payload):
7364
server_hostname=sni,
7465
do_handshake_on_connect=True,
7566
) as ssl_socket:
76-
response['tls_version'] = ssl_socket.version()
77-
self.success(sni)
78-
self.log_info(**response)
67+
68+
# Create unified data dictionary for both saving and logging
69+
data = {
70+
'sni': sni,
71+
'tls_version': ssl_socket.version()
72+
}
73+
74+
# Only resolve IP when not scanning CIDR
75+
if not self.is_cidr_input:
76+
data['ip'] = self.resolve_ip(sni)
77+
78+
self.success(data)
79+
self.log_info(**data)
7980
except Exception:
8081
pass
8182

0 commit comments

Comments
 (0)