python中的端口扫描

问题描述:

我是一名新的Python学习者。任何人都可以使用基本脚本来扫描http和https端口,并在用户输入子网(例如192.168.1.0/24)后返回IP地址吗?感谢您的帮助python中的端口扫描

+0

欢迎*上,Python_Learner!不幸的是,你对这个网站的问题太广泛了。我们很乐意帮助您解决编程时遇到的具体问题,但您必须先尝试并发布更多详细信息。请参阅“[如何提出一个好问题](http://*.com/help/how-to-ask)”以获取更多信息。 – fusion3k

后来,我用Python写了一个TCP端口扫描器。它很好地工作,并且易于配置。您输入IP或互联网地址,并输出您扫描的端口。它在Python 2.7的50行中。玩的开心!

#!/usr/bin/env python 
# PIES v1.1 
# SYZYGY-DEV333 
# Simple TCP port scanner in Python 
# Apache Version 2 

from socket import * 
import sys, time 
from datetime import datetime 

host = '' 
max_port = 5000 
min_port = 1 

def scan_host(host, port, r_code = 1): 
    try: 
     s = socket(AF_INET, SOCK_STREAM) 
     code = s.connect_ex((host, port)) 
     if code == 0: 
      r_code = code 
     s.close() 
    except Exception, e: 
     pass 
    return r_code 

try: 
    host = raw_input(">> Enter Target Host Address: ") 
except KeyboardInterrupt: 
    print("\n\n>> User Requested An Interrupt.") 
    print(">> Application Shutting Down.") 
    sys.exit(1) 

hostip = gethostbyname(host) 
print("\n>> Host: %s IP: %s" % (host, hostip)) 
print(">> Scanning Started At %s...\n" % (time.strftime("%H:%M:%S"))) 
start_time = datetime.now() 

for port in range(min_port, max_port): 
    try: 
     response = scan_host(host, port) 
     if response == 0: 
      print(">> Port %d: Open" % (port)) 
    except Exception, e: 
     pass 

stop_time = datetime.now() 
total_time_duration = stop_time - start_time 
print("\n>> Scanning Finsihed At %s ..." % (time.strftime("%H:%M:%S"))) 
print(">> Scanning Duration: %s ..." % (total_time_duration)) 
print(">> Have a nice day!") 

见我的项目在这里:https://github.com/SYZYGY-DEV333/PIES