使用python编写脚本测试目标主机的TCP端口连通性

使用Python的Socket模块的connect()函数来尝试连接目标主机的特定端口。如果连接成功,则说明该端口是打开的;否则,该端口是关闭的。

下面是一个示例脚本,可以检测目标IP的22端口是否开启:

python 复制代码
import socket
def check_port(ip, port):
   # 设置超时时间为3秒钟
   socket.setdefaulttimeout(3)
   s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
   try:
       s.connect((ip, port))
       print("端口开放")
   except socket.timeout:
       print("端口关闭")
   except ConnectionRefusedError:
       print("连接被拒绝")
   except Exception as e:
       print("发生异常:", e)
   finally:
       s.close()

   if __name__ == '__main__':
       check_port("127.0.0.1", 22)

在这个程序中,我们首先使用socket模块创建一个TCP套接字。然后,我们使用try-except语句来尝试连接指定的IP地址和端口。如果连接成功,则说明端口开放;如果连接超时,则说明端口关闭;如果连接被拒绝,则说明目标主机存在但是目标端口未开放;如果发生其他异常,则输出异常信息。最后,我们使用finally语句来关闭套接字,以确保程序能够正确地释放资源。

相关推荐
175063319455 分钟前
EtherCAT ubuntu wireshark
网络·ubuntu·wireshark
小宇的天下13 分钟前
Synopsys Technology File and Routing Rules Reference Manual (1)
java·服务器·前端
lph00928 分钟前
mqtt broker (mosquitto)创建服务器、订阅与发布
运维·服务器
maosheng114637 分钟前
HCIP中mgre的练习题
网络
酒醉的胡铁44 分钟前
uniapp运行到鸿蒙证书配置
服务器·uni-app·harmonyos
汉克老师1 小时前
GESP2025年9月认证C++二级真题与解析(单选题1-8)
网络·循环结构·表达式·gesp二级·gesp2级·双重循环
AI科技星1 小时前
光子的几何起源与量子本质:一个源于时空本底运动的统一模型
服务器·人工智能·线性代数·算法·机器学习
米羊1211 小时前
关于 免杀(上)
网络·安全
MMME~1 小时前
Linux下的软件管理
linux·运维·服务器
迷途之人不知返1 小时前
Linux操作系统的基本指令
linux·服务器