如何创建嵌套for循环ping扫地机?

时间:2017-06-29 21:20:59

标签: windows batch-file for-loop cmd ping

好的,所以我在编程方面是一个完整的新手,(我在大学课程中使用Javascript,SQL和一点视觉基础的唯一语言。) 无论如何,我正在参加SANS安全/道德黑客攻击课程,我学到的一个有用的小花絮就是在Windows命令提示符中创建一个ping清扫器:

for /L %i in (1,1,255) do @ping -n 1 10.10.10.%i | find "TTL"

现在我想要做的不仅是迭代第四个八位字节,还要遍历第三个八位字节和第二个八位字节。来自SANS类的功率点表示这可以通过嵌套for循环和其他变量(%j,%k)来实现,但它们没有显示如何执行此操作的示例。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

以下是

中的概念
@echo off
for /L %%i in (1,1,255) do (
    for /L %%j in (1,1,255) do (
        for /L %%k in (1,1,255) do (
            for /L %%l in (1,1,255) do (
                echo %%i.%%j.%%k.%%l
            )
        )
    )
)

单行

for /L %i in (1,1,255) do for /L %j in (1,1,255) do for /L %k in (1,1,255) do for /L %l in (1,1,255) do echo %i.%j.%k.%l

说明:

  • 第1步: @echo off删除此提示 - C:\...>
  • 第2步:四个for循环分别从1到255循环。
  • 第3步:合并
  • 第4步:循环从1.1.1.1开始
    • 然后到下一个IP 1.1.1.2
    • 一直到255.255.255.255
      • 第5步: echo循环IP地址