Python端口扫描

2023-03-04 17:32:45 浏览数 (2)

Python可以使用socket模块来实现端口扫描。下面是一个简单的端口扫描示例代码:

代码语言:javascript复制
import socket

# 要扫描的主机IP
host = "192.168.1.1"

# 要扫描的端口范围
start_port = 1
end_port = 1024

# 创建套接字对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(1)

# 扫描端口
for port in range(start_port, end_port   1):
    try:
        result = sock.connect_ex((host, port))
        if result == 0:
            print("端口 %d 开放" % port)
    except Exception as e:
        print("扫描出错:%s" % str(e))

# 关闭套接字
sock.close()

在这个例子中,我们首先指定要扫描的主机IP,以及要扫描的端口范围。然后,我们创建一个TCP套接字对象,并使用socket.connect_ex()函数来连接每个端口。如果端口是开放的,connect_ex()函数会返回0,否则会返回一个错误码。最后,我们根据返回值来判断端口是否开放。

需要注意的是,使用Python进行端口扫描时需要小心,不要进行未经授权的端口扫描,否则可能会违反法律法规或者引起网络安全问题。另外,实际应用中,一些防火墙和安全策略可能会阻止端口扫描,所以在进行端口扫描前,需要获取管理员或网络安全人员的授权,并遵守相应的安全规定。

0 人点赞