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

相关推荐
爬山算法1 分钟前
Redis(153)Redis的网络使用如何监控?
网络·redis·bootstrap
傲世(C/C++,Linux)3 分钟前
Linux系统编程——TCP服务器
linux·服务器·tcp/ip
杨云龙UP22 分钟前
SQL Server 备份异地同步 + 清理脚本
运维·服务器·数据库·sql·mysql·sqlserver
极地星光35 分钟前
C++链式调用设计:打造优雅流式API
服务器·网络·c++
橘子真甜~1 小时前
C/C++ Linux网络编程8 - epoll + ET Reactor TCP服务器
linux·服务器·网络
_lst_2 小时前
linux进程状态
linux·运维·服务器
贝塔实验室2 小时前
红外编解码彻底解析
网络·嵌入式硬件·信息与通信·信号处理·代码规范·基带工程·精益工程
就叫飞六吧2 小时前
“电子公章”:U盾(U-Key)实现身份认证、财务支付思路
网络·笔记
wanderist.2 小时前
Linux使用经验——离线运行python脚本
linux·网络·python
biter00883 小时前
Ubuntu 22.04 有线网络时好时坏?最终解决方案
linux·网络·ubuntu