Python测网络连通性、能否访问某个网络或者端口号<网络检测、ping主机、测试端口>
一、ping命令及其使用
ping命令是在计算机网络领域中用来测试目标主机是否可达以及其延迟时间的命令。对于Python来说,我们可以通过subprocess模块来实现执行命令。下面是示例代码:
import subprocessdef ping(host):result = subprocess.run(['ping', '-c', '3', '-W', '5', host],capture_output=True,encoding='utf8')if result.returncode == 0:return True, result.stdoutelse:return False, result.stderrreachable, output = ping('www.google.com')
print(output)
以上代码将执行ping命令来检测www.google.com是否可达,ping命令将执行3次且等待5秒钟,如果目标主机可达,则函数将返回True和ping命令的输出;否则将返回False和错误信息。
二、使用urllib和requests检测是否连接到特定站点
urllib和requests是Python中最受欢迎和使用的HTTP网络请求库之一。我们可以使用这些库来检查是否连接到特定站点。下面是一个简单的使用urllib的示例:
import urllib.requestdef is_internet_available():try:urllib.request.urlopen('https://www.google.com')return Trueexcept:return Falseif is_internet_available():print('Internet is available!')
else:print('Internet is unavailable!')
以上代码尝试访问Google网站,如果该网站可访问,则将打印消息。否则将打印不可用消息。
以下是一个使用requests库的示例,您可能会发现它更加具有可读性:
import requestsdef is_internet_available():try:requests.get('https://www.google.com')return Trueexcept:return Falseif is_internet_available():print('Internet is available!')
else:print('Internet is unavailable!')
与上面的代码示例类似,此代码尝试访问Google网站。如果该站点可用,则将打印消息。否则将打印不可用消息。
三、使用socket库测试TCP/UDP端口的可用性
socket库允许我们使用TCP或UDP协议在本地或远程计算机上的特定端口测试可用性。我们可以使用如下示例代码:
import socketdef is_port_open(ip_address, port):sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)result = sock.connect_ex((ip_address, port))if result == 0:return Trueelse:return Falseif is_port_open('127.0.0.1', 80):print('Port 80 is open!')
else:print('Port 80 is closed!')
以上代码使用socket库测试本地计算机上的端口80。如果端口开放,则将打印Port 80 is open!;否则,将打印Port 80 is closed!。
同样,我们可以使用该库来测试TCP和UDP协议的远程端口的可用性。
四、使用ping3库实现更多ping功能
如果要在Python中执行更加高级的ping命令,您可以使用ping3库。ping3库提供了许多高级功能,如单个数据包的ping、发现局域网内的主机等。以下是示例代码:
import ping3# Ping a host
response_time = ping3.ping('127.0.0.1')
print(response_time)# Ping a host with a custom timeout
response_time = ping3.ping('127.0.0.1', timeout=2)
print(response_time)# Scan a local network for hosts that respond to ping
hosts = ping3.ping_scan('192.168.1.1/24')
print(hosts)
以上示例演示了如何使用ping3库来执行ping命令、设定自定义超时时间以及扫描局域网内的主机。
五、使用multiping库同时ping多个主机
如果你需要在Python中同时ping多个主机,可以使用multiping库。这个库使用了多线程来加快ping的速度。以下是示例代码:
import multiping# Ping multiple hosts
hosts = ['127.0.0.1', 'google.com', 'bing.com']
results = multiping.multi_ping(hosts)for addr, rtt in results.items():if rtt is None:print('%s timeout' % addr)else:print('%s responded in %d ms' % (addr, rtt))
以上代码将同时ping多个主机,并输出结果。
相关文章:
Python测网络连通性、能否访问某个网络或者端口号<网络检测、ping主机、测试端口>
一、ping命令及其使用 ping命令是在计算机网络领域中用来测试目标主机是否可达以及其延迟时间的命令。对于Python来说,我们可以通过subprocess模块来实现执行命令。下面是示例代码: import subprocessdef ping(host):result subprocess.run([ping, -c…...
【沧元图】玉阳宫主是正是邪,和面具人有勾结吗?现在已有答案了
Hello,小伙伴们,我是小郑继续为大家深度解析沧元图。 沧元图这部动漫中,有一个很特殊的人物,也是一个让人看不透的人物,因为很多人都不知道这个人是正还是邪,这个人就是玉阳宫主。 因为这个人明面上是掌管东宁府维护东…...
C++笔记之popen()和std_system()和std_async()执行系统命令比较
C笔记之popen()和std_system()和std_async()执行系统命令比较 code review! 文章目录 C笔记之popen()和std_system()和std_async()执行系统命令比较1.popen()2.std::system()3.std::async()——C11提供的异步操作库,适合在多线程中执行外部命令,建议使…...
pycharm2020无法打开,点击无反应
pycharm 2020 无法打开,点击无反应,今天我碰到这现象,总结大体原因 C:\Users\ygw\AppData\Roaming\JetBrains (删除该目录即可,一般由于升级安装 或 安装两个不同版本 会存在老旧文件影响导致)...
深度学习之微调
在现代深度学习领域,精细调整(Fine-tune)已经成为一种非常重要的技术手段。 预训练模型 在介绍finetune之前,先了解一下什么是预训练模型。在搭建一个网络模型来完成一个特定的图像分类的任务时,首先,需要…...
【# 完美解决 node.js 模块化后报错 ReferenceError: require is not defined】
完美解决 node.js 模块化后报错 ReferenceError: require is not defined 错误信息如图 直接改插件源码:(不是cnpm里的插件,而是下载下来的export2Excel.js) 在export2Excel.js内只要改动头部一行源码即可 改之前:…...
Jackson忽略json数组中null元素
问题 前端传过来的json字符串中,其中json数组包含null字符。类型如下: ["0","1","2",null]这边Spring使用Jackson进行反序列化是会出现List对象中,包含null的数组元素。即List大小为4,本来List的…...
基于SpringBoot的网上订餐系统
基于SpringBoot的网上订餐系统的设计与实现 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色:用户、管理员管理员:登录、个人中心、会员管理、…...
【04】基础知识:React组件实例三大核心属性 - state
一、state 了解 理解 1、state 是组件对象最重要的属性,值是对象(可以包含多个 key-value 的组合) 2、组件被称为 “状态机”, 通过更新组件的 state 来更新对应的页面显示(重新渲染组件) 强烈注意 1、…...
SpringBoot 过滤器filter当中的自定义异常捕获问题
需求描述:需要根据用户的请求路径拦截做权限控制: 但是这样做全局异常无法捕获 解决方案: 在filter当中引入HandlerExceptionResolver类,通过该类的resolveException方法抛出自定义异常: public class OpenInvokeFil…...
实验3:左右循环LED灯
获取流水灯工程: 方式一: keilproteus 完成最小系统,点亮led 灯实验_吴小凹的博客-CSDN博客 方式二: Flowing_led.zip - 蓝奏云直接下载。 原理图修改: 无须修改只需要使用流水灯的工程即可,解压到桌面…...
行业追踪,2023-10-13
自动复盘 2023-10-13 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…...
【实用小工具】一键分离音频中的纯人声~
音分轨——能够一键分离出音频中的【人声】和【音乐】,并单独输出为新的音频文件。可以用来扒谱、提取人声、消除背景音等。 第一步:打开【音分轨】APP,进入首页点击【人声分离】 第二步:选择导入方式,上传需要提取伴…...
如何在虚幻引擎中渲染动画?
大家好,今天我将展示如何在虚幻引擎中渲染动画,以及虚幻引擎渲染动画怎么设置的方法步骤。 需要提前了解: 虚幻引擎本地运行慢、渲染慢、本地配置不够,如何解决? 渲云云渲染支持虚幻引擎离线渲染,可批量…...
Hadoop3教程(三):HDFS文件系统常用命令一览
文章目录 语法格式(44) HDFS的文件系统命令(开发重点)参考文献 语法格式 hdfs命令的完整形式: hdfs [options] subcommand [subcommand options]其中subcommand有三种形式: admin commandsclient comman…...
2023年中国手机回收量、手机回收价值及行业细分现状分析[图]
手机回收的主要去向包括再销售及环保降解两类。其中进行再交易的二手手机多为9成新及以上手机。二手手机最终去向主要为再销售及环保降解。 2016年以来,我国手机总体出货量持续下滑,2022年全年,国内市场手机总体出货量累计2.72亿部࿰…...
格式转换 ▏Python 实现Word转HTML
将Word转换为HTML能将文档内容发布在网页上,这样,用户就可以通过浏览器直接查看或阅读文档而无需安装特定的软件。Word转HTML对于在线发布信息、创建在线文档库以及构建交互式网页应用程序都非常有用。以下是用Python将Word转换为HTML网页的攻略…...
自己在家给电脑重装系统Win10教程
自己在家怎么给电脑重装系统Win10?Win10电脑系统如果操作时间特别长了,就可能出现卡顿、蓝屏等系统问题,这时候用户就想给电脑重装系统,却不知道重装具体的操作步骤,下面小编给大家详细介绍自己在家给电脑重装Win10系统…...
198、RabbitMQ 的核心概念 及 工作机制概述; Exchange 类型 及 该类型对应的路由规则;了解什么是JMS。
目录 JMS 讲解★ RabbitMQ的核心概念★ RabbitMQ工作机制★ Connection(连接) 与 Channel(通信信道)★ Exchange★ Exchange与Queue★ Exchange的类型(4种)及 该类型对应的路由规则 看RabbitMQ 之前&#x…...
怎样理解伦敦金交易的点差
不管大家做的是什么投资品种,只要过程中有中间商提供了一定的服务,那么就需要支付一定的费用,这也是十分合理的事情。在伦敦金的市场上,交易平台主要通过点差的形式,向客户征收一定的投资服务费用。 伦敦金买卖过程中的…...
ElastAlert vs Prometheus:2024年日志告警与指标告警终极选型指南
ElastAlert vs Prometheus:2024年日志告警与指标告警终极选型指南 【免费下载链接】elastalert Easy & Flexible Alerting With ElasticSearch 项目地址: https://gitcode.com/gh_mirrors/el/elastalert 在当今复杂的IT环境中,有效的监控告警…...
AI开发者必备:PyTorch 2.8镜像在视频生成场景下的完整应用教程
AI开发者必备:PyTorch 2.8镜像在视频生成场景下的完整应用教程 1. 环境准备与快速部署 1.1 镜像基础信息 PyTorch 2.8深度学习镜像是一个专为高性能AI任务设计的预配置环境,特别针对RTX 4090D显卡和视频生成任务进行了优化。主要特点包括:…...
成本透明化:OpenClaw+GLM-4.7-Flash任务消耗实时监控
成本透明化:OpenClawGLM-4.7-Flash任务消耗实时监控 1. 为什么需要关注AI任务成本 当我把OpenClaw接入GLM-4.7-Flash模型后,最初几天的兴奋很快被账单浇了一盆冷水。作为一个习惯用自动化处理各种事务的技术爱好者,我发现自己陷入了典型的&…...
Go语言中的工具链:从go build到go generate
Go语言中的工具链:从go build到go generate 前言 作为一个在小厂挣扎的Go后端老兵,我对工具链的理解就一句话:能自动化的绝不手动。 想当年在大厂时,工具链那叫一个完善,从代码编译到部署上线,全程自动化。…...
.NET 11 预览版1:CoreCLR 在 WebAssembly 上的全面集成与性能突破
摘要随着.NET 11 Preview 1 的正式发布,.NET 生态系统迎来了一次具有分水岭意义的基础架构演进。本次发布的核心亮点在于.NET 的 CoreCLR 运行时现在已经能够原生运行在 WebAssembly (WASM) 平台上。这是一个重大的技术突破,标志着微软在跨平台战略上的全…...
STM32F103重映射实战:GPIO_Remap1_CAN1与GPIO_Remap2_CAN1到底选哪个?
STM32F103重映射实战:GPIO_Remap1_CAN1与GPIO_Remap2_CAN1到底选哪个? 第一次在STM32F103上配置CAN总线时,看到GPIO_Remap1_CAN1和GPIO_Remap2_CAN1这两个选项,我完全懵了——它们有什么区别?为什么需要两个重映射选项…...
模拟IC设计中的‘效率’权衡:深入理解gm/ID如何平衡增益、带宽与噪声
模拟IC设计中的‘效率’权衡:深入理解gm/ID如何平衡增益、带宽与噪声 在模拟电路设计的浩瀚海洋中,gm/ID参数犹如一座灯塔,指引着工程师们在增益、带宽与噪声的复杂权衡中寻找最优解。这个看似简单的比值背后,蕴含着晶体管工作的…...
如何利用WiFi信号实现无摄像头人体姿态跟踪:RuView完整指南
如何利用WiFi信号实现无摄像头人体姿态跟踪:RuView完整指南 【免费下载链接】RuView Production-ready implementation of InvisPose - a revolutionary WiFi-based dense human pose estimation system that enables real-time full-body tracking through walls u…...
Windows下用rclone挂载S3存储到本地磁盘的完整指南(含MinIO/Ceph配置)
Windows下用rclone挂载S3存储到本地磁盘的完整指南(含MinIO/Ceph配置) 在数据驱动的现代开发环境中,对象存储已成为基础设施的重要组成部分。无论是个人开发者处理海量数据集,还是企业团队协作处理云端资源,将S3兼容存…...
Python实战:M3FD红外数据集高效转YOLO格式的完整指南
1. 为什么需要转换M3FD数据集格式 红外目标检测在夜间安防、自动驾驶等领域越来越重要,而M3FD作为优质的红外数据集却采用了VOC格式标注。这就像你买了台进口电器,却发现插头不匹配国内插座——虽然东西是好东西,但直接使用会遇到麻烦。 YO…...
