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

2023-11-17

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 数据结构-将升序数组转化为平衡二叉搜索树-java

    1 题目 给定一个升序排序的数组 将其转化为平衡二叉搜索树 BST 平衡二叉搜索树指树上每个节点 node 都满足左子树中所有节点的的值都小于 node 的值 右子树中所有节点的值都大于 node 的值 并且左右子树的节点数量之差不大于1
  • 笔试算法题

    转自 http www cnblogs com xwdreamer archive 2011 12 13 2296910 html 1 把二元查找树转变成排序的双向链表 题目 输入一棵二元查找树 将该二元查找树转换成一个排序的双向链表 要求
  • 【TVM系列二】TVM介绍

    文章同步更新在公众号 AIPlayer 欢迎扫码关注 共同进步 目录 一 TVM的工作流程 1 整体流程 2 关键数据结构 3 Transformations 4 搜索空间和基于机器学习的转换 5 目标代码转化 二 逻辑架构组件 三 运行T
  • Android图形显示系统4 图像生产者(下)

    一 概述 在上一篇文章 Android图形显示系统2 图像消费者 中 我们详细地讲解了图像消费者 我们已经了解了 Android 中的图像元数据是如何被 SurfaceFlinger HWComposer 或者 OpenGL ES 消费的
  • 传统企业数字化转型难点有哪些?传统企业数字化转型战略方向

    互联网时代下 市场发展瞬息万变 企业数字化转型迫在眉睫 如何做好数字化转型 需要从以下这几个方面出发 1独立不孤立 企业需要积极主动加强对于数字化转型的认知 理解数字化转型的价值所在 开利网络认为 企业数字化转型首先是观念上的转换 通过贯彻
  • MATLAB生成单位矩阵、三角矩阵、零矩阵、1矩阵

    单位矩阵 eye m n 稀疏单位矩阵 speye m n ps I speye 1000 构成 1000 1000 单位矩阵的稀疏表示形式 它只需要大约 16 KB 的存储 这与 I sparse eye 1000 1000 的最终结果相
  • 概率论知识回顾(十七):方差

    概率论知识回顾 十七 重点 方差 知识回顾用于巩固知识和查漏补缺 知识回顾步骤 查看知识回顾中的问题 尝试自己解答 自己解答不出来的可以查看下面的知识解答巩固知识 对知识解答有疑问的 说明有关这一点的知识或者公式没有理解透彻或者没有记住 要
  • Win11 VSCode远程连接WSL2数据库

    首先 在VSCode中打开远程连接 可能会提示远程连接失败 无法连接到远程扩展主机服务器 错误 websocket close with status code 1006 这时启动wsl2 终端输入 vim etc ssh sshd con
  • CTFHub

    0x00 前言 CTFHub 专注网络安全 信息安全 白帽子技术的在线学习 实训平台 提供优质的赛事及学习服务 拥有完善的题目环境及配套 writeup 降低 CTF 学习入门门槛 快速帮助选手成长 跟随主流比赛潮流 0x01 题目描述 S
  • 单片机毕设选题 - 基于STM32自行车智能无线防盗报警器 -物联网 单片机 嵌入式

    hr style border solid width 100px height 1px color 000000 size 1 quot 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到
  • k8s_day01_01

    k8s day01 01 1 it发展趋势 it 的发展趋势中 我们最早的资源粒度从最早的物理机时代 到达十年之前的 kvm 还有xen 为代表的虚拟化代表的虚拟机时代 那个时候 VMware是如日中天的时期 vmware 以产品众多且成熟
  • 【安全知识】——如何绕过cdn获取真实ip

    作者名 白昼安全 主页面链接 主页传送门 创作初心 以后赚大钱 座右铭 不要让时代的悲哀成为你的悲哀 专研方向 web安全 后渗透技术 每日鸡汤 现在的样子是你想要的吗 cdn简单来说就是 通过不同地理位置的缓存来加快访问速度 所以我们有可
  • centos7离线升级gcc到9.3.1,解决redis6安装失败

    我们在安装Redis6的时候会编译出错 大概率是因为centos7的gcc版本 centos7的默认版本是4 8 5 需要将gcc版本升级到9 如果服务器是互联网环境 可以直接通过yum命令升级 yum y install centos r
  • MFC多字节和宽字节转换方式

    第一种转换 代码中可以直接用宏定义转换 可以使用 L 或者 T 但是对于传过来的值 就不能这样了 需要写函数转换 第二种转换 必须在一个函数中执行 否则上一次调用并不会释放栈中的空间 要直到函数结束才会释放空间 测试是否释放内存空间可以使用
  • 单片机——PWM调光工作原理

    前言 如果只用单片机做一个调光系统 pwm是可以实现的 但是如果有其它的功能 比如传感器要检测 显示屏显示数据等等功能 就不推荐了 其它函数一多 定时器的时间又比较短 以至于单片机大多数时间都用在定时中断函数里去了 处理其它函数的时间太少
  • 京东云鼎服务器系统时间问题-时间戳参与与服务器时间差异大于设定值

    业务背景 目前业务对接了各大电商平台的订单 按照规定京东需要入鼎进行调用jos接口来拉取订单 相当于与订单API之间多一个应用中转 如图 该文章暂时不讨论对接的细节 后面打算出个专题文章细说各大电商平台的对接 目前好像比较少这个业务的分享
  • ios 无法发起ajax请求,PhoneGap的iOS的Ajax请求无法完成(Phonegap iOS ajax request

    请阅读更新这个答案在底部 原来的答案 我已经找到了问题所在 并设法得到基本的认证工作 问题是 Web服务器期待基本身份验证的细节与请求一起发送先发制人 要做到这一点使用 头 的jQuery AJAX的特性如下图所示 ajax type GE
  • 【debug】error: subprocess-exited-with-error

    在安装Python的某个三方包时 出现了下面的报错方式 error subprocess exited with error 解决办法 解决方案重新安装importlib metadata pip install importlib met
  • 经典面试题-大厂SQL题目

    1 如何用一个SQL找出部门下所有员工的平均工资大于某个数 例如20000元 的所有部门 正确答案 select depno avg sal as avgsal from emp group by depno having avgsal g
  • 使用python编写脚本测试目标主机的TCP端口连通性

    使用Python的Socket模块的connect 函数来尝试连接目标主机的特定端口 如果连接成功 则说明该端口是打开的 否则 该端口是关闭的 下面是一个示例脚本 可以检测目标IP的22端口是否开启 import socket def ch