简介
网络掩码生成和转换程序
如果您使用防火墙或路由器,这是一个非常方便的小程序偶尔(可能使用它作为 shell 脚本的助手)。它可以确定指定主机范围的最小网络掩码集。 它还可以在常见的 IP 网络掩码和地址格式之间进行转换。
安装
源码安装
通过以下命令克隆项目。建议请先提前挂好代理。不然可能克隆不了。
bash
git clone https://github.com/tlby/netmask.git

进入目录并查看。
bash
cd netmask/
ls

运行以下命令安装 Texinfo 软件包
bash
sudo apt install texinfo

运行以下命令生成 configure 文件
bash
./autogen

生成 Makefile
bash
./configure

使用 make 进行编译
bash
make

如果编译和测试均正常,可将其安装到系统中
bash
sudo make install

输入以下命令,如果出现这个界面就说明安装成功了。
bash
netmask --help

APT包管理器安装
Kali Linux 默认安装好 netmask 工具了。也可以通过以下命令进行安装。
bash
sudo apt install netmask
使用
1. -h,--help
打印选项摘要
bash
netmask -h

2. 常规使用
spec 可以是以下任意一种:
- ip地址
- ip地址:ip地址
- ip地址:+ip地址
- ip地址/掩码
ip地址可以是以下任意一种:
- N 十进制数
- 0N 八进制数
- 0xN 十六进制数字
- N.N.N.N 点分四组
- 主机名 dns 域名
掩码是从左边设置为 1 的位数
1. ip地址
bash
netmask 192.168.174.134

2. ip地址:ip地址
bash
netmask 192.168.174.134:192.168.174.145

3. ip地址:+ip地址
bash
netmask 192.168.174.134:+192.168.174.145

4. ip地址/掩码
bash
netmask 192.168.174.134/255.255.255.0

5. 主机名
bash
netmask www.google.com

3. -v,--version
打印版本号
bash
netmask -v

4. -d,--debug
打印状态/进度信息
bash
netmask -d www.google.com

5. -s,--standard
输出地址/网络掩码对
bash
netmask -s www.google.com
netmask -s 192.168.174.134

6. -c,--cidr
输出 CIDR 格式地址列表
bash
netmask -c www.google.com
netmask -c 192.168.174.134

7. -i,--cisco
输出 Cisco 样式地址列表
bash
netmask -i www.google.com
netmask -i 192.168.174.134

8. -r,--range
输出 IP 地址范围
bash
netmask -r www.google.com
netmask -r 192.168.174.134
netmask -r 192.168.174.0/24

9. -x,--hex
以十六进制输出地址/网络掩码对
bash
netmask -x www.google.com
netmask -x 192.168.174.134
netmask -x 192.168.174.0/24

10. -o,--octal
以八进制输出地址/网络掩码对
bash
netmask -o www.google.com
netmask -o 192.168.174.134
netmask -o 192.168.174.0/24

11. -b,--binary
以二进制输出地址/网络掩码对
bash
netmask -b www.google.com
netmask -b 192.168.174.134
netmask -b 192.168.174.0/24

12. -n,--nodns
禁用地址的 DNS 查找
bash
netmask -n 192.168.174.134
netmask -n 192.168.174.0/24
netmask -n 8.8.8.8

13. -f,--files
将参数视为输入文件
bash
netmask -f addresses.txt

总结
Netmask 工具是一款强大的网络地址处理工具,支持多种格式的地址定义与转换,功能丰富、灵活实用,适用于网络运维和安全测试等场景,是网络从业者不可或缺的助手。
在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。
欢迎各位大佬,小白来找我交流。