使用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 小时前
linux提取指定前缀文件到其他文件夹
linux·运维·服务器·bash·终端
Altair123115 小时前
实验6 基于端口和域名的虚拟主机
linux·运维·服务器·云计算
wa的一声哭了15 小时前
WeBASE管理平台部署-WeBASE-Web
linux·前端·网络·arm开发·spring boot·架构·区块链
YJlio15 小时前
进程和诊断工具学习笔记(8.19):Hyper-V 来宾调试与符号配置 —— 在虚拟化场景下用 LiveKd 抓现场
网络·笔记·学习
青果网络_xz15 小时前
全球代理IP是什么?它和普通代理有什么区别?
网络·网络协议·tcp/ip
z***y86216 小时前
后端服务限流配置,Nginx与Spring Cloud Gateway
java·服务器·nginx
果子没有六分钟16 小时前
【Linux】进程调度器
linux·运维·服务器
ghie909016 小时前
在Linux中设定账户密码的安全性
linux·运维·服务器
qq_3660862216 小时前
sql server中日期类型转字符串几种写法比较
运维·服务器·数据库
q***133417 小时前
电脑可以连接wifi,但是连接后仍然显示没有网络
网络·电脑·php