关于 IP 计算 段位或者标识的疑问

2015-01-24 15:27:42 +08:00
 fever
阿里云服务器被恶意攻击(用的是win2008 linux该吐槽了 - -)
38.99.82.**
直接防火墙添加阻断 ip从38.99.82.1到 38.99.82.255 屏蔽失败
后提交工单 阿里云让屏蔽 改成 38.92.0.0/16 就好了 说什么子网 网络标识的 我也不懂
大家知道这个38.92.0.0/16 是怎么算出来的吗 这个叫什么 叫ip段位?还是其它的
根据攻击ip添加防火墙都是要怎么算的

Google之,看到一种算法,这里以38.99.82.22为例:
A类IP段  0.0.0.0 到127.255.255.255
B类IP段  128.0.0.0 到191.255.255.255
C类IP段  192.0.0.0 到223.255.255.255
  
A类的默认子网掩码 255.0.0.0     
B类的默认子网掩码 255.255.0.0
C类的默认子网掩码 255.255.255.0

于是乎认为 38.99.82.**属于A类
A类子网掩码 转换成二进制 11111111.00000000.00000000.00000000
38.99.82.22 转换成二进制 00100110.01100011.01010010.00010110
算法把IP和子网掩码的每位数AND (AND方法:0和1=0 0和0=0 1和1=1)
得到 00100110.00000000.00000000.00000000 换成十进制
得到 38.0.0.0 (说这个应该是网络标识?)
.......然后就不知道38.92.0.0/16 这个该如何算出 38.92.0.0的 后面 /16 的意思又是什么
在网上好像还见过后面是/24的 = =
3506 次点击
所在节点    问与答
33 条回复
linhua
2015-01-24 15:38:31 +08:00
IP的CIDR表示法。38.92.0.0/16表示ip范围为38.92.0.0-38.92.255.255,16表示前面16位是固定的。可参考维基百科
http://zh.wikipedia.org/zh/%E6%97%A0%E7%B1%BB%E5%88%AB%E5%9F%9F%E9%97%B4%E8%B7%AF%E7%94%B1
fever
2015-01-24 15:51:09 +08:00
@linhua 谢谢 看了还是不太懂 ==... 比如第一眼看到38.92.82.22
不用算吗 就直接能看出段位为 38.92.0.0吗?
那是不是所有的ip都能这样 比如 12.13.14.15这个ip 就能直接 12.13.0.0/16吗?
linhua
2015-01-24 15:58:59 +08:00
当然不能,/16只是比/24范围大了一些,屏蔽的ip多了一些而已。
tanyuxiang
2015-01-24 16:06:50 +08:00
你要用二进制,别用10进制。

你先把你所有ip用二进制写出来。

比如1.1.1.1就是
00000001.00000001.00000001.00000001
1.1.1.2就是
00000001.00000001.00000001.00000010

看到有多少位是相同的吗? 相同的用1表示就是
11111111.11111111.11111111.11111100 这个就是/30

00000001.00000001.00000001.00000000 /30就包含上面那两个ip。
即1.1.1.0/30包括1.1.1.1和1.1.1.2(还包括1.1.1.0和1.1.1.3)
fever
2015-01-24 16:13:19 +08:00
@linhua 您能再给我举个例子吗 就说看到12.13.14.15 要屏蔽 应该怎么写
不考虑后面的/16 是12.13.0.0吗?
fever
2015-01-24 16:15:16 +08:00
@tanyuxiang 这是解释后面的/16怎么出来的是吗? = =

"你先把你所有ip用二进制写出来" 这一句 有很多 随意拿同一个段位的两个ip写出来二进制 在看相同的有多少位 就是后面的/多少吗
bellchu
2015-01-24 16:16:32 +08:00
每8位含255个地址段
世界上ipv4地址数总共有255x255x255x255=4,228,250,625。42亿多已经差不多全用光了 其中还有很多保留地址 组播地址等
bellchu
2015-01-24 16:18:02 +08:00
单独一个地址 2.13.14.15/32
@fever
linhua
2015-01-24 16:18:05 +08:00
@fever 屏蔽单个ip,如果用CIDR表示就是12.13.14.15/32。
fever
2015-01-24 16:20:24 +08:00
@linhua 我的意思是段位 例如看到了这个ip12.13.14.15 然后就想屏蔽多一些 (12.13.14.1-12.13.14.255)这样的
Showfom
2015-01-24 16:21:04 +08:00
CIDR 是网管必备基础知识
linhua
2015-01-24 16:23:18 +08:00
@fever 那就是12.13.14.15/24
bellchu
2015-01-24 16:23:19 +08:00
11111111=/8=255.0.0.0=ip地址范围xxx.0.0.0-xxx.255.255.254
11111111 11111111=/16=255.255.0.0=ip地址范围xxx.xxx.0.0-xxx.xxx.255.255

推荐你看Cisco Press的TCP/IP第二版第一卷
fever
2015-01-24 16:23:56 +08:00
@Showfom 见谅= =
linhua
2015-01-24 16:24:39 +08:00
@fever 错了,是12.13.14.0/24
fever
2015-01-24 16:25:17 +08:00
@linhua 谢谢
fever
2015-01-24 16:26:21 +08:00
@linhua 有空研究下这些知识 = =
@bellchu 好的
bellchu
2015-01-24 16:52:48 +08:00
@fever 其实没你想的那么复杂,就只会出现8个掩码,对下面几个数敏感一点就行了
255.255.255.255=32
255.255.255.254=31
255.255.255.252=30
255.255.255.248=29
255.255.255.240=28
255.255.245.224=27
255.255.255.192=26
255.255.255.128=25

当然还有/24 就是255.255.255.0

再上去就是/23了,255.255.254.0
以此类推吧

如果你只是偶尔写下iptables也不需要看tcp/ip看那么透,搞个web什么的也只会涉及到这么点了也足够了,除非你还要自己做接入,CCNA第一课也就讲这些。但是很多paper CCIE lab都过了算子网掩码还要用计算器
ryd994
2015-01-24 16:55:12 +08:00
网上有cidr calculator,自己多试试就知道了
lincanbin
2015-01-24 17:01:29 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/165054

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX