遍历子网所有ip地址,寻找空闲ip

在cmd窗口下输入如下代码:

复制代码
for /l %i in (1,1,255) do ping -n 1 -w 60 10.183.27.%i | find "Reply" >> d:\pingall27.log

得到如下结果

上图中,有reply的代表该IP已经被占用。但是观察红框中 22-->25之间缺少23 24 则说明23/24 是空闲IP地址;同理29-->40之间也是空闲地址。

需要注意的是:没有reply的并不代表一定是空闲地址,也有可能是该IP地址所属的主机开启了防火墙,导致你ping不通该地址。

以下是代码解释:

复制代码
这段命令是一个Windows批处理命令,用于批量ping一系列IP地址并将结果保存到日志文件中。我将为你详细解释每部分的功能:

    for /l %i in (1,1,255):这是一个for循环,/l参数表示对一个数字序列进行迭代。这里,数字序列从1开始,每次增加1,直到255。%i是循环变量的表示。

    do ping -n 1 -w 60 10.183.27.%i:这是在每次循环中要执行的操作。ping命令用于发送ICMP回应请求到目标主机。
        -n 1:表示只发送一个ping请求。 
        -w 60:表示等待每个回应的超时时间为60毫秒。 
        10.183.27.%i:这是目标IP地址的格式。它表示从10.183.27.1到10.183.27.255的所有IP地址。通过使用%i,我们可以为每个循环迭代生成一个不同的IP地址。

    |:这是一个管道符号,用于将前一个命令的输出传递给后一个命令作为输入。

    find "Reply":这是一个find命令,用于搜索特定的字符串。在这里,它搜索字符串"Reply",这通常表示ping请求成功地得到了回应。

    >> d:\pingall27.log:这将上述find命令的输出追加到名为"pingall27.log"的文件中。如果文件不存在,它将被创建。如果文件已存在,新的输出将被追加到文件的末尾,而不是覆盖现有内容。

综上所述,这个命令将ping从10.183.27.1到10.183.27.255的所有IP地址,并将每个成功回应的IP地址及其对应的ping时间追加到一个日志文件中。
相关推荐
TheRouter5 分钟前
把 ClaudeCode 换成DeepSeek V4:两行配置,成本立省80%(含 Anthropic 兼容接口)
网络·架构
hweiyu0010 分钟前
Linux命令:ip6tables
linux·运维·服务器
ITyunwei098724 分钟前
灾难恢复与业务连续性:如何确保天灾人祸下,业务也能“屹立不倒”?
运维·服务器
爱喝水的鱼丶1 小时前
SAP-ABAP:新手入门篇——从0到1写出你的第一个ABAP Hello World程序并完成调试运行
运维·服务器·数据库·学习·sap·abap
云游牧者1 小时前
K8S网络策略全解-NetworkPolicy与GlobalNetworkPolicy实战
网络·容器·kubernetes·cni
学术小李1 小时前
VSCode上传文件到服务器
服务器·vscode·sftp·数据上传
志栋智能2 小时前
安全、稳定是超自动化运维的底座
网络·数据库·人工智能
Rust研习社2 小时前
Ubuntu 全面拥抱 Rust 后,我意识到 Rust 社区要变了
linux·服务器·开发语言·后端·ubuntu·rust
Shingmc32 小时前
【Linux】传输层协议TCP
linux·网络·tcp/ip
csdn小瓯2 小时前
AI质量评估体系:LLM-as-a-Judge实现与自动化测试实战
前端·网络·人工智能