cyber-security-resources/python_ruby_and_bash/quick_scanner.py

56 lines
1.3 KiB
Python
Raw Normal View History

2018-03-13 23:11:29 +00:00
#!/usr/bin/python
# Author: Omar Santos @santosomar
# version 1.0
# This is a quick demonstration on how to create a
# basic TCP port scanner using python.
#####################################################################
2018-06-02 13:34:19 +00:00
from __future__ import print_function
2018-03-13 23:11:29 +00:00
2018-06-02 13:34:19 +00:00
import socket, subprocess, sys
2018-03-13 23:11:29 +00:00
try:
raw_input # Python 2
except NameError:
raw_input = input # Python 3
2018-06-02 13:34:19 +00:00
subprocess.call('clear', shell=True)
2018-03-13 23:11:29 +00:00
2018-06-02 13:34:19 +00:00
print('''\t
2019-04-05 20:34:35 +00:00
#####################
OMAR'S QUICK SCANNER
#####################
2018-03-13 23:11:29 +00:00
2018-06-02 13:34:19 +00:00
''')
2018-03-13 23:11:29 +00:00
target_ip = raw_input("\t Please enter the IP address of the target host:").strip()
port_1 = int(raw_input("\t Enter the first port to scan:\t").strip())
port_2 = int(raw_input("\t Enter the last port to scan:\t").strip())
2018-06-02 13:34:19 +00:00
print("~"*50)
print("\n ...scanning target now. ", target_ip)
print("~"*50)
2018-03-13 23:11:29 +00:00
try:
2018-06-02 13:34:19 +00:00
for port in range(port_1, port_2):
sock= socket.socket(socket.AF_INET, socket.SOCK_STREAM)
2018-03-13 23:11:29 +00:00
socket.setdefaulttimeout(1)
2018-06-02 13:34:19 +00:00
result = sock.connect_ex((target_ip, port))
2018-03-13 23:11:29 +00:00
if result==0:
2018-06-02 13:34:19 +00:00
print("Found open port:\t", port)
2018-03-13 23:11:29 +00:00
sock.close()
except KeyboardInterrupt:
2018-06-02 13:34:19 +00:00
print("[!] Scan stopped by user... ")
2018-03-13 23:11:29 +00:00
sys.exit()
except socket.gaierror:
2018-06-02 13:34:19 +00:00
print("[!] The target's hostname could not be resolved...")
2018-03-13 23:11:29 +00:00
sys.exit()
except socket.error:
2018-06-02 13:34:19 +00:00
print("[!] Target is unreachable...")
2018-03-13 23:11:29 +00:00
sys.exit()
2018-06-02 13:34:19 +00:00
print("The scan is complete. Happy hacking!")