Bash:For 循环 - Ping 整个 IPV4 地址 space

Bash: For loop - Ping entire IPV4 address space

如何使用 bash for 循环 ping 整个 IPV4 地址 space?
显然,它不是很实用,但它只是一个例子。
问题不在于网络实用程序,而在于将 for 循环与 bash 分层以生成一组数字的所有排列。
如果这听起来像胡言乱语,那基本上就像试图通过在每个组合中输入 来在访问控制键盘上强行输入 4 位 PIN 码; 顺序;00009999.

我认为这样就可以了:

for x in {0..255}; 
do
    ping -c1 $x.$x.$x.$x; 
done

但不是 运行 每个八位字节分开,像这样:

0.0.0.0; 0.0.0.1; 0.0.0.2; → 255.255.255.253; 255.255.255.254; 255.255.255.255;

结果看起来更像是这样:

0.0.0.0; 1.1.1.1; 2.2.2.2; → 253.253.253.253; 254.254.254.254; 255.255.255.255;

您需要制作 4 个嵌套循环,如下所示:

for i in {0..255}
do
  for j in {0..255}
  do
    for k in {0..255}
    do
      for l in {0..255}
      do 
        ping -c1 $i.$j.$k.$l
      done
    done
  done
done