python检测端口是否被侦听

2023-01-31 02:01:34 端口 检测 侦听

Python检查端口是否被监听


关于Socket.connect_ex和socket.connect, 前者是返回状态值而不是抛出异常. 适合这种判断可连接的情景.

Like connect(address), but return an error indicator instead of raising an exception for errors returned by the C-level connect() call

当然, 复杂的判断还可以增加连接后和服务的交互, 使用send/sendall来发送数据以及recv/recvall来接收数据.

样例

import socket


port_number = [80, 135, 445, 3306, 8080, 1080]

for index in port_number:
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    result = sock.connect_ex(('127.0.0.1', index))
    if result == 0:
        print("Port %d is open" % index)
    else:
        print("Port %d is not open" % index)
    sock.close()

另外, psutils也可以在这里使用,博文转载自网站.

相关文章