使用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语句来关闭套接字,以确保程序能够正确地释放资源。

相关推荐
观测云3 分钟前
保姆级服务可观测教学:高可靠 NetStat 可观测实践
网络·观测云
MonkeyKing_sunyuhua5 分钟前
本地将镜像打包推送到阿里云的镜像服务器
java·服务器·阿里云
奥地利落榜美术生灬9 分钟前
知识点总结(二)POSIX API 、 tcp/ip网络协议栈、dpdk
网络·网络协议·tcp/ip
桌面运维家17 分钟前
Linux VHD 更新指南:提升虚拟磁盘性能
linux·运维·服务器
Shining059619 分钟前
AI 编译器系列(四)《AI 编译器中的后端优化》
linux·服务器·人工智能·线性代数·算法·triton·ai编译器
主角1 724 分钟前
Nginx性能优化与监控
网络·nginx·性能优化
NGC_661129 分钟前
从URL输入到页面显示:浏览器背后的完整工作流程解析
网络
川石课堂软件测试41 分钟前
接口测试需要注意的一些BUG
网络·数据库·python·单元测试·bug·压力测试·tornado
小糖学代码1 小时前
计算机网络理论:2.物理层
网络·计算机网络
Xzq2105091 小时前
Reactor模式
linux·网络