1
linhua 2015-01-24 15:38:31 +08:00 1
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 |
2
fever OP @linhua 谢谢 看了还是不太懂 ==... 比如第一眼看到38.92.82.22
不用算吗 就直接能看出段位为 38.92.0.0吗? 那是不是所有的ip都能这样 比如 12.13.14.15这个ip 就能直接 12.13.0.0/16吗? |
3
linhua 2015-01-24 15:58:59 +08:00
当然不能,/16只是比/24范围大了一些,屏蔽的ip多了一些而已。
|
4
tanyuxiang 2015-01-24 16:06:50 +08:00 4
你要用二进制,别用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) |
5
fever OP @linhua 您能再给我举个例子吗 就说看到12.13.14.15 要屏蔽 应该怎么写
不考虑后面的/16 是12.13.0.0吗? |
6
fever OP |
7
bellchu 2015-01-24 16:16:32 +08:00 via iPhone
每8位含255个地址段
世界上ipv4地址数总共有255x255x255x255=4,228,250,625。42亿多已经差不多全用光了 其中还有很多保留地址 组播地址等 |
10
fever OP @linhua 我的意思是段位 例如看到了这个ip12.13.14.15 然后就想屏蔽多一些 (12.13.14.1-12.13.14.255)这样的
|
11
Showfom 2015-01-24 16:21:04 +08:00 via iPhone
CIDR 是网管必备基础知识
|
13
bellchu 2015-01-24 16:23:19 +08:00 via iPhone
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第二版第一卷 |
18
bellchu 2015-01-24 16:52:48 +08:00 via iPhone 2
@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都过了算子网掩码还要用计算器 |
19
ryd994 2015-01-24 16:55:12 +08:00 via Android
网上有cidr calculator,自己多试试就知道了
|
20
lincanbin 2015-01-24 17:01:29 +08:00
|
21
fever OP @bellchu 非常感谢 我主要是网站开发的 小公司没有网管什么的 系统是win的 也就没怎么去理 平时装了个安全狗 就没理了 昨天被攻击 阿里叫我屏蔽 才发现填写ip都不会= =
|
23
extreme 2015-01-24 18:31:04 +08:00
我觉得你们说得太抽象了。
不知你是否听说过IPv4是32位的,这个32位就是32个"1"。 CIDR是通过子网掩码计算出来的。 例如子网掩码是255.255.255.0,把这四个数字分别转换为二进制,共24个"1",那CIDR就是24。 CIDR推回子网掩码,就是逆运算了。 例如22这个CIDR,就是22个"1"了(IPv4是32位的,所以要补0): 11111111111111111111110000000000 分成四段,每段八位: 11111111.11111111.11111100.00000000, 然后把各段转换为十进制,就是: 255.255.252.0 网络标识,应该是第一个IP吧,算法比较复杂,用手机中,不方便打太多字。 如果你看得懂PHP的话,考虑看看我写的IP计算的算法(也许大家有更优的算法,别取笑我写的那算法和代码): http://downloads.yzs.me/ip_calculate.php.tar.bz2 只完成了IPv4部分,IPv6的算法已经在纸上设计好了,只不过没时间弄成PHP代码。 $cidr这个数组是2的0次方至2的32次方的值。 这个是用CIDR或者子网掩码计算IP数目的方法,看完后你应该知道$cidr这个数组的作用了: http://yzs.me/2013.html |
24
extreme 2015-01-24 18:32:40 +08:00 1
这句话: 不知你是否听说过IPv4是32位的,这个32位就是32个"1"。
改成这个很准确: 不知你是否听说过IPv4是32位的,这个32位就是一个长度为32的二进制数。 |
25
tanyuxiang 2015-01-24 19:49:28 +08:00 1
@fever 常用的就是这样,只看前面连续的1是多少位就是/多少。
比如1111111.1111111.1111111.1111100就是/30 1111111.1111111.1111111.00000000就是/24 实际上并不止/24 /30这种表示方法,还可以用十进制。 比如1111111.00000000.1111111.1111111就无法用/8来表示,只能用255.0.255.255表示。 |
26
maye696 2015-01-24 22:38:21 +08:00
刚考完计算机网络的路过
|
27
bellchu 2015-01-24 22:57:36 +08:00 via iPhone
@tanyuxiang 没有255.0.255.255这种子网掩码。要么0.0.255.255那是反掩码,ospf和eigrp里面用的。
子网掩码网络位在前面都为1,主机位在后面都为0,不可能有主机位0在中间的情况。 |
28
Draplater 2015-01-24 23:04:45 +08:00 1
38.92.0.0/16表示所有前16位和38.92.0.0相同的IP。
38.92.0.0就是:00100110.01011100.00000000.00000000, 前16位00100110.01011100, 所对应的范围是00100110.01011100.xxxxxxxx.xxxxxxxx, 恰好为38.92.x.x |
29
tanyuxiang 2015-01-25 00:00:10 +08:00
@bellchu LZ是要屏蔽ip段,有的是可以支持随便使用的。
|
30
msg7086 2015-01-25 08:33:42 +08:00 1
以前的ABC类的那种分类已经过时了,现在都用CIDR以提高IP分配效率。
具体要屏蔽多少要根据你的实际情况而定。 一般屏蔽的话,单个IP,也就是/32就够了。 如果遇到攻击IP在一个段内的,那么屏蔽/24甚至/16也可以,当然是要根据实际情况而定,没有一个万能的数字可以给你参考。 总之CIDR数字越小,范围越大。你要是屏蔽一个/8说不定能屏蔽掉一个国家什么的。 |
31
fever OP |
32
jsq2627 2015-01-25 13:57:45 +08:00 2
|