with ThreadPoolExecutor(100) as t:
for p in range(start,end):
t.submit(scan, ip=ip, port=p)
#单个端口
else:
scan(ip,int(args.port))
#探测ip存活
def check_ip(ip):
check = os.popen(f"ping {ip} -w 1 -n 1")
data=check.read()
if(“TTL” in data):
return True;
parser = argparse.ArgumentParser()
#ip为必填:python scan.py ip
parser.add_argument(‘ip’,type=str,help=“give your ip”)
#可以指定端口号,也可以指定端口范围
(1)不指定-p,默认就是全端口扫描
(2)指定特定的端口号,例如指定80和3306端口 -p 80,3306
(3)可以指定端口范围,例如0-3306 -p 0-3306
(4)指定一个端口:例如只扫描445端口,-p 445
parser.add_argument(‘-p’,‘–port’,type=str,help=“give your port”)
args = parser.parse_args()
ip=args.ip
if(“/” in ip):
ips = ip.split(‘.’)