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

相关推荐
zhao3266857513 小时前
如何有效利用数据采集HTTP代理
网络·网络协议·http
单片机社区4 小时前
随笔十七、eth0单网卡绑定双ip的问题
网络·嵌入式硬件·网络协议·udp·智能路由器
安静的做,安静的学5 小时前
网络仿真工具Core环境搭建
linux·网络·网络协议
华纳云IDC服务商6 小时前
超融合服务器怎么优化数据管理?
运维·服务器
小度爱学习7 小时前
数据链路层协议
运维·服务器·网络·网络协议·网络安全
Ciderw9 小时前
TCP三次握手和四次挥手
开发语言·网络·c++·后端·网络协议·tcp/ip·golang
爱吃喵的鲤鱼10 小时前
Linux——网络(udp)
linux·网络·udp
乐茵安全10 小时前
《网络安全中的“泛洪”攻击:揭秘、防范与应对策略》
服务器·网络·web安全
是阿根11 小时前
tcp局域网简单通讯
网络·网络协议·tcp/ip
爱思考的发菜_汽车网络信息安全11 小时前
汽车网络信息安全-ISO/SAE 21434解析(中)
网络·汽车·21434·cybersecurtiy