0%

《Kali攻防》netmask(网络掩码生成工具)

前言

netmask是一个计算网络掩码的工具。

该工具不仅可以根据IP地址范围生成对应的掩码,还可以在地址/掩码对、CIDR、思科风格地址之间转化。

同时,该工具可以给出最小地址范围划分规则,帮助安全人员更有效的划分网络。

基本使用

帮助文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[email protected]:~$ netmask --help
This is netmask, an address netmask generation utility
Usage: netmask spec [spec ...]
-h, --help Print a summary of the options
-v, --version Print the version number
-d, --debug Print status/progress information
-s, --standard 输出address/netmask对
-c, --cidr 输出CIDR格式地址列表
-i, --cisco 输出思科风格地址列表
-r, --range 输出IP地址列表
-x, --hex 十六进制输出address/netmask对
-o, --octal 八进制输出address/netmask对
-b, --binary 二进制输出address/netmask对
-n, --nodns 禁用DNS反向查询
-f, --files Treat arguments as input files
Definitions:
spen可以是下面任何一种:
address
address:address
address:+address
address/mask
一个地址可能是下面任意一种:
N decimal number
0N octal number
0xN hex number
N.N.N.N dotted quad
hostname dns domain name
a mask is the number of bits set to one from the left

使用案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[email protected]:~$ netmask 192.168.0.0:192.168.1.34
192.168.0.0/24
192.168.1.0/27
192.168.1.32/31
192.168.1.34/32

[email protected]:~$ netmask 192.168.0.0:192.168.1.34 -s
192.168.0.0/255.255.255.0
192.168.1.0/255.255.255.224
192.168.1.32/255.255.255.254
192.168.1.34/255.255.255.255

[email protected]:~$ netmask 192.168.0.0/24 -i
192.168.0.0 0.0.0.255

涉及到的理论知识

IPv4

IPv4 的地址 32 位长,8 位一组,中间以点分割。

例如:

  • 192.168.0.1
  • 12.45.2.134

特殊用途的地址

  1. 0.0.0.0/8 本网络(仅作为源地址时合法)
  2. 10.0.0.0/8 专用网络
  3. 100.64.0.0/10 电信级NAT
  4. 127.0.0.0/8 环回
  5. 169.254.0.0/16 链路本地
  6. 172.16.0.0/12 专用网络
  7. 192.0.0.0/24 保留(IANA)
  8. 192.0.2.0/24 TEST-NET-1,文档和示例
  9. 192.88.99.0/24 6to4中继
  10. 192.168.0.0/16 专用网络
  11. 198.18.0.0/15 网络基准测试
  12. 198.51.100.0/24 TEST-NET-2,文档和示例
  13. 203.0.113.0/24 TEST-NET-3,文档和示例
  14. 224.0.0.0/4 多播(之前的D类网络)
  15. 240.0.0.0/4 保留(之前的E类网络)
  16. 255.255.255.255 受限广播

专用网络

在IPv4所允许的大约四十亿地址中,三个地址块被保留作为专用网络

通过网络地址转换(NAT),使用这些地址的主机可以像拥有共有地址的主机在互联网上通信

  1. 10.0.0.0–10.255.255.255
  2. 172.16.0.0–172.31.255.255
  3. 192.168.0.0–192.168.255.255

环回地址

地址块127.0.0.0/8被保留作环回通信用。此范围中的地址绝不应出现在主机之外,发送至此地址的报文被作为同一虚拟网络设备上的入站报文(环回),主要用于检查TCP/IP协议栈是否正确运行和本机对本机的链接。

CIDR表示法

CIDR是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。

比如 192.168.0.0/24。24代表IP地址前面24位是子网,也就是 192.168.0.可以是0-255),24位如果全部置为1的话,就是255.255.255.0,这就是子网掩码,所以 192.168.0.0/24 的子网掩码是255.255.255.0,代表了 192.168.0.0 - 192.168.0.255 这些地址

在比如 192.168.0/26。子网掩码是 255.255.252.0,地址范围是 192.168.0.0-192.168.0.63

1
2
3
4
5
[email protected]:~$ netmask 192.168.0.0/22 -s
192.168.0.0/255.255.252.0

[email protected]:~$ netmask 192.168.0.0/26 -r
192.168.0.0-192.168.0.63 (64)

IPv6

由于整个互联网主机越来越多,就在去年2019年,43亿个IPv4地址已分配完毕。

当前广泛使用网络地址转换技术(NAT)缓解IP地址紧张问题,但终究不是长久之计。所以出现了IPv6

IPv6大大增加了地址的可用空间,及时地球表面全部覆盖计算机,也不可能用得完。

IPv6 128 位长,16 位为一组,以冒号分割。

例如:

  • AD80:0000:0000:0000:ABAA:0000:00C2:0002
  • 2000:0:0:0:0:0:0:1

NAT(网络地址转换技术)

网络地址转换技术是解决IPv4地址不足而生的。目前被广泛使用。

你可以看看你机器的IP地址是多少,是不是类似于192.168.0.100的内网地址,这就是NAT的结果。

因特网服务提供商(电信、移动、联通带宽)不会给你分配一个公网地址。当然你也可以申请一个公网地址,但是划不来。

如果一个办公室内所有主机都去申请一个公网地址,那价钱是相当昂贵的。

NAT其实还带来了另外一个好处,就是安全。外部是无法察觉到你的存在的。你访问互联网是通过对外网关的公网IP访问的

当然NAT也会导致你无法使用一些功能。比如外部主机想要跟你主动建立TCP连接,是没有办法的,因为他都不知道你在哪里(当然,可以通过路由器设置端口映射解决这个问题)

NAT-PAT

生活中的路由器用的都是NAT技术,且用了端口多路复用技术(PAT),路由器会对内部主机发出的包进行网络层的源ip替换,且进行传输层的源端口替换(端口替换成路由器分配的一个唯一端口。路由器中有一张路由器端口与内部主机ip:端口的映射表)。

路由器收到数据包后,根据包中的端口号从映射表中找到内部主机的ip 以及端口,将包转发给内部主机。

下篇预告

maltego 一款交互式的情报搜集软件(带图形界面)




微信关注我,及时接收最新技术文章