Python写一个IP端口扫描器

这个例子可以扫描指定的 IP 地址和端口是否在活动状态:

import socket  
  
def is_port_open(ip, port):  
    try:  
        # 创建一个 TCP 套接字  
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
        s.settimeout(0.5)  
        s.connect((ip, port))  
        s.close()  
        return True  
    except socket.error:  
        return False  
  
def scan_ip_ports(ip, start_port, end_port):  
    for port in range(start_port, end_port + 1):  
        if is_port_open(ip, port):  
            print(f"Port {port} is open")  
        else:  
            print(f"Port {port} is closed")  
  
if __name__ == "__main__":  
    ip = input("Enter the IP address: ")  
    start_port = int(input("Enter the start port: "))  
    end_port = int(input("Enter the end port: "))  
    scan_ip_ports(ip, start_port, end_port)

        首先定义了两个函数:is_port_open 和 scan_ip_portsis_port_open 函数用于检查指定的 IP 地址和端口是否在活动状态。如果端口是开放的,则返回 True,否则返回 False。scan_ip_ports 函数用于扫描指定的 IP 地址和端口,并输出扫描结果。

        在 main 函数中,我们首先要求用户输入要扫描的 IP 地址、起始端口和结束端口。然后,我们调用 scan_ip_ports 函数来扫描指定的 IP 地址和端口,并输出扫描结果。

        这只是一个简单的示例,还不能处理较为复杂的情况。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发光发热小流星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值