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

相关推荐
两点王爷14 小时前
常用的 Docker 镜像拉取地址仓库及常用命令详解
运维·服务器·容器
神.秘.人14 小时前
【BIOS/UEFI 与 MBR/GPT 的区别详解】
运维·服务器
第十人i14 小时前
Linux 一键重装系统脚本:reinstall 工具详解
linux·服务器
Thomas.Sir14 小时前
第13课:PyTorch|经典CNN网络模型从零复现【从LeNet到VGG的逐行实现】
网络·pytorch·cnn
en.en..15 小时前
网络分层封装 与 TCP粘包的因果关系
网络·单片机·嵌入式硬件
aramae15 小时前
Python 使用库:标准库与第三方库实战
服务器·开发语言·windows·python
yuzhiboyouye15 小时前
XML写接口适用场景举例
java·服务器·前端
IMPYLH15 小时前
HTML 的 <slot> 元素
前端·网络·html
yuzhiboyouye16 小时前
零sql和xml写接口,的区别是什么,过程是什么,举例一下下,用mybatis-plus+ spring-boot
java·服务器·前端
星恒讯工业路由器16 小时前
“铸链计划”第三批启动,工业5G产品从“有”到“优”的淘汰赛开始了
网络·物联网·智能路由器·工业物联网·铸链计划·工业5g·工业路由器选型