以下是一个简单的 Python 程序,用于扫描指定的 IP 地址范围内的指定端口是否开放。程序使用了 Python 的 socket 库来连接主机和端口,如果连接成功,则说明端口开放,否则端口关闭。

import socket

def scan_port(host, port):
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(1)
        s.connect((host, port))
        print(f'Port {port} is open')
        s.close()
    except:
        pass

def scan_host(host, ports):
    print(f'Scanning {host}')
    for port in ports:
        scan_port(host, port)

def main():
    ip_range = input('Enter IP range to scan (e.g. 192.168.1.1-255): ')
    start_ip, end_ip = ip_range.split('-')
    ports = input('Enter ports to scan (e.g. 80,443): ')
    ports = [int(port) for port in ports.split(',')]    
    for i in range(int(start_ip), int(end_ip)+1):
        host = f'192.168.1.{i}'
        scan_host(host, ports)

if __name__ == '__main__':
    main()

使用方法:

  1. 运行程序
  2. 输入要扫描的 IP 地址范围,格式为'起始IP地址-结束IP地址',例如'192.168.1.1-255'
  3. 输入要扫描的端口,多个端口用逗号分隔,例如'80,443'
  4. 程序开始扫描指定的 IP 地址范围内的指定端口
  5. 扫描完成后,程序会显示哪些端口在指定 IP 地址范围内开放
Python 端口扫描工具:快速扫描指定IP范围内的端口

原文地址: https://www.cveoy.top/t/topic/mLpF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录