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

相关推荐
雷工笔记几秒前
KingFusion|最近开发调试中遇到的几个问题及解决办法(2)
运维·服务器
蓝天居士7 分钟前
Linux网络驱动之Fixed-Link(29)
linux·运维·网络
切糕师学AI8 分钟前
家庭网络“双网关”现象解析与通用桥接配置指南
网络·网关
techdashen21 分钟前
把 Matrix 聊天服务器搬到 Serverless 上,还顺便免费升级了量子加密
运维·服务器·serverless
计算机安禾31 分钟前
【计算机网络】第2篇:端到端通信的形式化刻画——时延、带宽、丢包与吞吐量的数学模型
网络·计算机网络
似水এ᭄往昔34 分钟前
【Linux】--文件系统之软硬链接
linux·运维·服务器
灰子学技术38 分钟前
Envoy TCP 层面的 Metric 指标分析
开发语言·网络·网络协议·tcp/ip·php
乌萨奇也要立志学C++1 小时前
【Linux】Socket编程UDP Echo 服务器→翻译服务器→多人聊天室
linux·服务器·udp
yyuuuzz1 小时前
国际云服务器的技术特性与使用场景
运维·服务器
代码中介商1 小时前
Linux多线程编程进阶:fork与锁的交互及网络编程入门
linux·运维·服务器