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

相关推荐
SmartRadio1 分钟前
基于泰山派PiKVM的多电脑KVM共享方案(HDMI采集+虚拟USB键鼠+无缝切换+剪贴板/文件共享)
网络·lora·计算机外设·电脑
linux kernel4 分钟前
第四部分:传输层
服务器·网络
hmywillstronger5 分钟前
【Rhino】【Python】对包含特定关键词的文字的MTEXT对象添加指定内容
linux·服务器·python
ICT董老师6 分钟前
通过OpenSSL 生成自签名证书
linux·运维·服务器·https·ssl
詹某某34116 分钟前
什么是 IP SSL 证书?该如何申请
服务器·https·ssl
skywalk81638 分钟前
cbsd的clonos/control-pane web管理页面一直闪烁和网页打开显示500error 的问题解决(500error问题未解决)
服务器·前端·freebsd·cbsd
2501_9458374310 分钟前
火山引擎边缘云服务器,AI+5G协同赋能实时场景
服务器
weixin_4365250711 分钟前
若依多租户版 - modules中创建子模块
java·服务器·前端
m0_7373025814 分钟前
火山引擎安全增强型云服务器,筑牢AI时代数据屏障
网络·人工智能
板面华仔19 分钟前
Linux基础(下)——工作中常用命令总结
linux·运维·服务器