以下是一个简单的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 写一个 网段端口扫码工具

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

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