首页 > 其他分享 >ping内网Ip,找出内网21网段未被使用的ip地址

ping内网Ip,找出内网21网段未被使用的ip地址

时间:2024-07-22 11:08:52浏览次数:6  
标签:网段 network ip ping unused ips host 内网

 

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-


import subprocess
import ipaddress


def ping_ip(ip, count=3):
    """Ping an IP address using the system's ping command with a given count."""
    # 构造ping命令
    param = ['ping', '-c', str(count), ip]

    # 执行ping命令
    response = subprocess.run(param, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)

    # 检查ping是否成功
    if response.returncode == 0:
        return True
    else:
        return False


def find_unused_ips(network, prefix_len=24, ping_count=3):
    """Find unused IPs in a given network."""
    net = ipaddress.ip_network(f"{network}/{prefix_len}", strict=False)
    unused_ips = []

    # 跳过.1(通常是网关)和.255(广播地址)
    for host in net.hosts():
        if host.is_private and not (host.exploded[-1] == '1' or host.exploded[-1] == '255'):
            if not ping_ip(str(host), ping_count):
                unused_ips.append(str(host))

    return unused_ips


# 假设我们要扫描的网段是192.168.21.x
network = '192.168.21.0'
unused_ips = find_unused_ips(network)
print("Unused IPs in the network:", unused_ips)

 

标签:网段,network,ip,ping,unused,ips,host,内网
From: https://www.cnblogs.com/music-liang/p/18315648

相关文章

  • [NOIP2012 普及组] 摆花(含代码)
    [NOIP2012普及组]摆花题目描述小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共mmm盆。通过调查顾客的喜好,小明列出了顾客最喜欢的......
  • 使用 pip 22.3.1 和 python 3.11.0 安装 MetaTrader5 错误
    我正在尝试使用pip在Windows上安装MetaTrader5。python--versionPython3.11.0pip--versionpip22.3.1pipinstallMetaTrader5ERROR:CouldnotfindaversionthatsatisfiestherequirementMetaTrader5(fromversions:none)ERROR:Nomatchingdistribu......
  • NBT 解析器 Minecraft mca 文件不是 gzip 压缩文件错误
    我尝试使用NBT1.4.1模块(命名二进制标签读取器/写入器)从文件系统和.mca区域/anvil文件中使用Python读取Minecraft世界,该模块应该读取NBT格式在《我的世界》中使用。它对于level.dat等文件工作正常,但对于r.0.0.mca等区域文件会抛出错误编辑:我指的是Min......
  • pytorch中MultiScaleRoIAlign及MultiScaleRoIPooling实现
    文章目录ROIpooling及ROIAlign原理介绍ROIPoolingROIAlign代码解析使用方式MultiScaleRoIOperation代码解析MultiScaleRoIPooling代码解析MultiScaleRoIAlign代码解析结果引用ROIpooling及ROIAlign原理介绍ROIPoolingRoIPooling用于将任意尺寸感兴趣区域......
  • 内网安全:各类密码的抓取
    Mimikatz在线读取SAM文件离线读取SAM文件在线读取lsass进程离线读取lsass进程BrowserGhost浏览器密码抓取Sharp-HackBrowserData浏览器密码抓取SharpDecryptPwd数据库密码抓取LaZagne各类密码的抓取Windows其他类型抓NTLMHash工具sam文件和lsass进程就是Windows存......
  • React+TypeScript 组件库开发全攻略:集成Storybook可视化与Jest测试,一键发布至npm
    平时我除了业务需求,偶尔会投入到UI组件的开发中,大多数时候只会负责自己业务场景相关或者一小部分公共组件,极少有从创建项目、集成可视化、测试到发布的整个过程的操作,这篇文章就是记录组件开发全流程,UI组件在此仅作为调试用,重点在于集成项目环境。组件我们使用React+TypeScri......
  • TypeScript与面向对象编程
    引言TypeScript简介TypeScript是JavaScript的一个超集,由微软开发,它在JavaScript的基础上添加了类型系统和对ES6+的新特性的支持。TypeScript最终会被编译成纯JavaScript代码,以便在任何支持JavaScript的环境中运行。面向对象编程(OOP)概念面向对象编程是一种编程范式,它使用“......
  • 安装CentOS Stream 8时,报错 “started cancel waiting for multipath siblings of nvm
    【系列】真机安装CentOSStream8问题第一步解决安装过程报错(❗︎本节内容❗︎)第二步分区第三步配置软件源第四步安装显卡驱动第五步挂载U盘第六步解决没有1920x1080分辨率的问题文章目录【系列】真机安装CentOSStream8问题一、报错描述二、解决方法常见启动......
  • TypeScript体操(一):从基础到进阶
    目录前言UtilityTypes是什么?常用UtilityTypes前置知识`typeof``keyof``typeof`和`keyof`的区别`never`关键字`extends`关键字结合条件判断`infer`类型推断(模式匹配)判断是与非判断两个类型是否相等或兼容循环递归嵌套字符串数组协变(Covariance)逆变(Contravarian......
  • javascript中常规操作节点的方法
    JavaScript常用操作DOM节点的方法包括获取节点、创建节点、添加节点、删除节点、替换节点等。1.获取节点(1)通过ID获取使用document.getElementById(“元素ID”)方法,通过元素的ID获取单个元素。这是最常用的方法之一,因为ID在页面中是唯一的,可以直接定位到具体元素。<d......