aboutsummaryrefslogtreecommitdiff
path: root/scanner.py
diff options
context:
space:
mode:
Diffstat (limited to 'scanner.py')
-rw-r--r--scanner.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/scanner.py b/scanner.py
index 73c82bd..0a6fa91 100644
--- a/scanner.py
+++ b/scanner.py
@@ -22,6 +22,7 @@ class TCPScanner:
self.timeout = timeout
self.results = []
self.q = queue.SimpleQueue()
+ self.failed = False
def scan(self, num_threads=5):
for port in self.ports:
@@ -36,12 +37,18 @@ class TCPScanner:
for t in threads:
t.join()
- return self.results
-
def run(self):
try:
while True:
- self._scan(self.q.get(block=False))
+ if self.failed:
+ break
+
+ try:
+ self._scan(self.q.get(block=False))
+ except Exception as e:
+ logger.exception(e)
+ self.failed = True
+ break
except queue.Empty:
return
@@ -73,4 +80,4 @@ class TCPScanner:
conn.close()
except socket.timeout:
- self.results.append((port, PortState.FILTERED))
+ self.results.append((port, PortState.FILTERED)) \ No newline at end of file