Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/projectdiscovery/mapcidr
侦察网络映射信息收集实用工具与框架
GitHubprojectdiscovery/mapcidr

mapcidr

针对给定的子网/CIDR范围执行多种操作的工具程序。

查看仓库网站
1.2k1113天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

mapCIDR

一个用于对给定子网/CIDR范围执行多种操作的工具程序。

功能 • 安装 • 用法 • 库 • 加入 Discord


mapCIDR 的开发旨在简化大规模扫描操作的负载分配;它既可以作为库使用,也可以作为独立的 CLI 工具使用。

功能

mapCIDR

  • CIDR 扩展 支持(默认)
  • CIDR 切片 支持(sbh、sbc)
  • CIDR/IP 聚合 支持(a、aa)
  • CIDR/IP 匹配器 支持(match-ip)
  • CIDR/IP 过滤器 支持(filter-ip)
  • CIDR/IP 排序 支持(s、sr)
  • CIDR 主机计数 支持(count)
  • 多种 IP 格式 支持(ip-format)
  • IP/端口打乱 支持(si、sp)
  • IPv4/IPv6 转换 支持(t4、)

安装

root@kitploit:~
go install -v github.com/projectdiscovery/mapcidr/cmd/mapcidr@latest

用法

root@kitploit:~
mapcidr -h

这将显示工具的帮助信息。以下是它支持的所有开关。

root@kitploit:~
输入:
   -cl, -cidr string[]  要处理的CIDR/IP/文件(包含CIDR/IP列表)

处理:
   -sbc int                  按给定CIDR数量切片
   -sbh int                  按给定主机数量切片
   -a, -aggregate            将IP/CIDR聚合为最小子网
   -aa, -aggregate-approx    将稀疏IP/CIDR聚合为最小近似子网
   -c, -count                计算给定CIDR中的IP数量
   -t4, -to-ipv4             将IP转换为IPv4格式
   -t6, -to-ipv6             将IP转换为IPv6格式
   -ip-format, -if string[]  IP格式(0,1,2,3,4,5,6,7,8,9,10,11)
   -zpn, -zero-pad-n int     使用的填充零的数量(默认3)
   -zpp, -zero-pad-permute   启用每个八位组从0到zero-pad-n的排列

过滤:
   -f4, -filter-ipv4         从输入中过滤IPv4 IP
   -f6, -filter-ipv6         从输入中过滤IPv6 IP
   -skip-base                在输出中跳过基础IP(以.0结尾)
   -skip-broadcast           在输出中跳过广播IP(以.255结尾)
   -mi, -match-ip string[]   要匹配的IP/CIDR/文件列表(逗号分隔、文件输入)
   -fi, -filter-ip string[]  要过滤的IP/CIDR/文件列表(逗号分隔、文件输入)

杂项:
   -s, -sort                  按升序排序输入的IP/CIDR
   -sr, -sort-reverse         按降序排序输入的IP/CIDR
   -si, -shuffle-ip           随机打乱输入的IP顺序
   -sp, -shuffle-port string  随机打乱输入的IP:Port顺序

更新:
   -up, -update                 将mapcidr更新到最新版本
   -duc, -disable-update-check  禁用自动mapcidr更新检查

输出:
   -verbose            详细模式
   -o, -output string  输出文件路径
   -silent             静默模式
   -version            显示项目版本

运行 mapCIDR

要获取给定 CIDR 的 IP 列表,请使用以下命令:

CIDR 扩展

root@kitploit:~
mapcidr -cidr 173.0.84.0/24
root@kitploit:~
                   ____________  ___    
  __ _  ___ ____  / ___/  _/ _ \/ _ \
 /  ' \/ _ '/ _ \/ /___/ // // / , _/   
/_/_/_/\_,_/ .__/\___/___/____/_/|_| v0.5
          /_/                                                     	 

		projectdiscovery.io

[WRN] 请谨慎使用。您应对自己的行为负责
[WRN] 开发者不承担任何责任,且不对任何误用或损害负责。

173.0.84.0
173.0.84.1
173.0.84.2
173.0.84.3
173.0.84.4
173.0.84.5
173.0.84.13
173.0.84.14
173.0.84.15
173.0.84.16

也可以使用以下命令获取给定 IP 范围的 IP 列表:

root@kitploit:~
$ echo "192.168.0.0-192.168.0.5" | mapcidr
root@kitploit:~
192.168.0.0
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5

按 CIDR 数量切片

要按 CIDR 数量切片给定的 CIDR 或 CIDR 列表,或将其分割为多个相等的较小子网,请使用以下命令:

root@kitploit:~
mapcidr -cidr 173.0.84.0/24 -sbc 10 -silent
root@kitploit:~
173.0.84.0/27
173.0.84.32/27
173.0.84.64/27
173.0.84.96/27
173.0.84.128/27
173.0.84.160/27
173.0.84.208/28
173.0.84.192/28
173.0.84.240/28
173.0.84.224/28

按主机数量切片

要按每个 CIDR 中的相等主机数量切片给定的 CIDR,请使用以下命令:

root@kitploit:~
mapcidr -cidr 173.0.84.0/16 -sbh 20000 -silent
root@kitploit:~
173.0.0.0/18
173.0.64.0/18
173.0.128.0/18
173.0.192.0/18

注意:仅当所需切片数量或每个子网的主机数量是 2 的幂时,才能实现完美分割。否则,工具将尝试自动找到最佳分割策略以获得所需结果。

CIDR/IP 聚合

要将多个 CIDR 范围合并为较小的子网块,请使用以下命令:

root@kitploit:~
$ mapcidr -cl cidrs.txt -aggregate

要列出给定 IP 列表的 CIDR 块,请使用以下命令:

root@kitploit:~
$ mapcidr -il ips.txt -aggregate

也可以对稀疏 IP 组执行近似聚合(仅限版本 4)。最终区间将包含不属于输入的连续 IP:

root@kitploit:~
$ cat ips.txt 

1.1.1.1
1.1.1.16
1.1.1.31
root@kitploit:~
$ cat ips.txt | mapcidr -aggregate-approx

1.1.1.0/27

要列出给定 IP 范围(IPv4 | IPv6)的 CIDR 块,请使用以下命令:

root@kitploit:~
 $ mapcidr  -cl 192.168.0.1-192.168.0.255 -aggregate
 或者
 $ echo 192.168.0.1-192.168.0.255 | mapcidr -aggregate
root@kitploit:~
192.168.0.1/32
192.168.0.2/31
192.168.0.4/30
192.168.0.8/29
192.168.0.16/28
192.168.0.32/27
192.168.0.64/26
192.168.0.128/25

从 CIDR 匹配/过滤 IP

要从给定的 CIDR 范围列表中匹配 IP,请使用以下命令:

root@kitploit:~
$ mapcidr -cidr 192.168.1.0/24 -mi 192.168.1.253,192.168.1.252
$ mapcidr -cidr 192.168.1.0/24 -mi ip_list_to_match.txt

要从给定的 CIDR 范围列表中过滤 IP,请使用以下命令:

root@kitploit:~
$ mapcidr -cidr 192.168.1.224/28 -fi 192.168.1.233,192.168.1.234
$ mapcidr -cidr 192.168.1.224/28 -fi ip_list_to_filter.txt

IP 格式

要将给定的 IP 表示为多种格式,可以使用 -if 0 标志显示所有支持的格式值,也可以使用特定的索引号显示特定类型的格式,索引列表见 这里。目前支持 10 种独特格式。

root@kitploit:~
$ echo 127.0.1.0 | mapcidr -if 0 -silent

127.0.1.0
127.1
0177.0.01.0
0x7f.0x0.0x1.0x0
0x7f000100
0xabfa659dfa7f000100
281472812450048
111111111111111101111111000000000000000100000000
0x7f.0.01.0x0
::ffff:7f00:0100
%31%32%37%2E%30%2E%31%2E%30
127.000.001.000

IP 转换

IPv4 | IPv6 地址可以从 v6 转换为 v4 表示法,或者从 IPv4 映射表示法转换为 IPv4 地址,分别使用 -t4 和 -t6。

root@kitploit:~
$ cat ips.txt 

1.1.1.1
2.2.2.2
root@kitploit:~
$ mapcidr -cl ips.txt -t6

00:00:00:00:00:ffff:0101:0101
00:00:00:00:00:ffff:0202:0202

注意:

并非所有 IPv6 地址都可以转换为 IPv4。您只能转换有效的 IPv4 表示的 IPv6 地址。

CIDR 主机计数

要计算给定 CIDR 或 CIDR 列表中的主机数量,请使用以下命令:

root@kitploit:~
$ echo 173.0.84.0/16 | mapcidr -count -silent

65536

ASN 输入

要获取 ASN 号码的 IP 地址,请使用以下命令:

root@kitploit:~
echo AS15133 | mapcidr -silent

5.104.64.0
5.104.64.1
5.104.64.2
5.104.64.3
5.104.64.4

将 mapCIDR 作为库使用

可以直接在 Go 程序中使用该库。以下代码片段概述了如何将 CIDR 划分为子网,以及如何将其划分为包含特定数量主机的子网:

root@kitploit:~
package main

import (
	"fmt"

	"github.com/projectdiscovery/mapcidr"
)

func main() {
	// 将 CIDR 划分为两个子网
	subnets1 := mapcidr.SplitN("192.168.1.0/24", 2)
	for _, subnet := range subnets1 {
		fmt.Println(subnet)
	}
	// 将 CIDR 划分为两个包含 128 个主机的子网
	subnets2 := mapcidr.SplitByNumber("192.168.1.0/24", 128)
	for _, subnet := range subnets2 {
		fmt.Println(subnet)
	}

	// 列出 CIDR 中的所有 IP
	ips, _ := mapcidr.IPAddresses("192.168.1.0/24")
	for _, ip := range ips {
		fmt.Println(ip)
	}
}

mapCIDR 由 projectdiscovery 团队倾心打造 🖤。

下载工具
t6
  • CIDR 标准输入(管道) 输入支持