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

相关推荐
sdszoe4922几秒前
思科ACL技术基础1
网络·思科acl技术
*星星之火*14 分钟前
【大白话 AI 答疑】第6篇 大模型指令微调:instruction/input/output核心解析及案例
服务器·前端·人工智能
古城小栈15 分钟前
吃透Cron表达式
linux·服务器·数据库
IT狂人日志23 分钟前
天翼云电脑:助您办公如虎添翼
网络·电脑
xian_wwq1 小时前
【学习笔记】威胁情报
网络·笔记·学习
香煎三文鱼1 小时前
数据库查询超时,并发问题处理
服务器·数据库
2501_915921431 小时前
Bundle Id 创建与管理的工程化方法,一次团队多项目协作中的流程重构
服务器·ios·小程序·重构·https·uni-app·iphone
2345VOR1 小时前
【创龙RK3576开发板与电脑直连网络配置指南】
网络·电脑
qqssss121dfd2 小时前
计算机网络(第8版,谢希仁)第二章习题解答
服务器·网络·计算机网络
4t4run2 小时前
21、Linux常用命令-进程内存CPU相关命令
linux·运维·服务器