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

相关推荐
乾元20 小时前
API 安全: 保护 AI 应用的交互接口
网络·人工智能·安全·web安全·机器学习·架构·安全架构
gaize121320 小时前
腾讯云内存型服务器|数据库缓存适用
服务器·数据库·腾讯云
文刀竹肃21 小时前
Nuclei 基于模板的高速漏洞扫描器
网络·web安全·网络安全
va学弟1 天前
Java 网络通信编程(6):视频通话
java·服务器·网络·音视频
chy000011 天前
视频播放器无法连接网络问题排查与解决总结
网络·音视频
幸福指北1 天前
我用 Tauri + Vue 3 + Rust 开发了这款跨平台网络连接查看工具PortView,性能炸裂!
运维·网络·监控
V__KING__1 天前
systemd-remount-fs,fstab之间的渊源
linux·服务器·网络
小杰帅气1 天前
基础的数据链路层理解
网络
2301_775602381 天前
创龙评估板代码分析
网络
Titan20241 天前
Linux环境变量个人笔记
linux·服务器·c++