交流一个 IP 地址,计算 10.1.1.30/8 的 网段区间 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 A 生成的内容
daijinming
V2EX    程序员

交流一个 IP 地址,计算 10.1.1.30/8 的 网段区间

  •  
  •   daijinming 2020-12-11 11:37:17 +08:00 4120 次点击
    这是一个创建于 1773 天前的主题,其中的信息可能已经有所发展或是发生改变。

    又拿起 TCP/IP 教程学习起来,这种 IP 地址的写法感觉还不是太熟悉,哪位能给分析下,这个 IP 如何计算网段区间

    27 条回复    2020-12-12 19:19:05 +08:00
    lululau
        1
    lululau  
       2020-12-11 11:44:36 +08:00
    slash 后面的数是个十进制表示的数,它表示的是 IP 数值的二进制表示的位数
    Te11UA
        2
    Te11UA  
       2020-12-11 11:45:04 +08:00
    百度 ip 地址计算
    这些工具都很明晰地告诉你是怎么算的
    ThirdFlame
        3
    ThirdFlame  
       2020-12-11 11:45:06 +08:00
    10.0.0.0~10.255.255.255
    wql
        4
    wql  
       2020-12-11 11:53:27 +08:00 via Android
    /8 就是点分十进制的第一段,10.0.0.0-10.255.255.255
    Wincer
        5
    Wincer  
       2020-12-11 12:07:19 +08:00
    python:
    ```
    from ipaddress import IPv4Network
    net = IPv4Network("10.1.1.30/8", strict=False)
    >>> net.network_address, net.broadcast_address
    (IPv4Address('10.0.0.0'), IPv4Address('10.255.255.255'))
    ```
    Dvel
        6
    Dvel  
       2020-12-11 12:09:48 +08:00
    子网掩码的另一种写法。
    写 x.x.x.x/8 和 255.0.0.0 是一样的。
    6IbA2bj5ip3tK49j
        7
    6IbA2bj5ip3tK49j  
    2020-12-11 12:13:27 +08:00
    /8 就是前 8 位不变动,只变后面 24 位。
    /24 就是前 24 位不动,只动后面 8 位,最常见就是 192.168.1.x/24 。
    ccbikai
        8
    ccbikai  
    PRO
       2020-12-11 12:16:48 +08:00
    关键字 IP CIDR
    9LCRwvU14033RHJo
        9
    9LCRwvU14033RHJo  
       2020-12-11 12:17:18 +08:00
    3 、4 、5 、6 楼都对。
    9LCRwvU14033RHJo
        10
    9LCRwvU14033RHJo  
       2020-12-11 12:17:41 +08:00
    漏了一个,7 楼也对
    sdh
        11
    sdh  
       2020-12-11 12:20:08 +08:00 via Android
    9,10 楼也对
    9LCRwvU14033RHJo
        12
    9LCRwvU14033RHJo  
       2020-12-11 12:35:57 +08:00
    10 PRINT "对"
    20 GOTO 10
    JJstyle
        13
    JJstyle  
       2020-12-11 12:48:52 +08:00 via iPhone
    8 楼也算对这是 ip 或者 ip 范围的一种表达方式,这种表达方式就叫 cidr
    fasionchan
        14
    fasionchan  
       2020-12-11 13:13:40 +08:00   2
    来关注我的网络协议教程,快写到 IP 了: https://www.yuque.com/coding-fan/network
    huaxing0211
        15
    huaxing0211  
       2020-12-11 13:20:22 +08:00
    综上,楼上都对!
    mcone
        16
    mcone  
       2020-12-11 13:28:21 +08:00   1
    @fasionchan 要是真的有干货,不需要每个回帖都推广的,你这样每个回帖都是推广,还推广不到点子上(例如你这个链接哪里解决楼主的问题了?),只会引来更多人的反感。

    @livid 这个 ID 的发帖和回帖放在一起,似乎可以做一个很好的 spam pattern 了……
    Livid
        17
    Livid  
    MOD
    PRO
       2020-12-11 13:30:44 +08:00   1
    @mcone 谢谢举报。这种就是这里所描述的链接搬运:

    help/spam

    看了一下,那个账号之前已经有过违规记录,这次就彻底 ban 了。
    iptables
        18
    iptables  
       2020-12-11 13:53:39 +08:00
    mijazz
        19
    mijazz  
       2020-12-11 14:15:41 +08:00
    10.1.1.30 参考 4 楼的说法, 这四个数字是为了给人能看清楚来划分的.
    点分十进制的意思就是, ipv4 地址共有 32bit 组成, 分出来 4 段, 所以每一段长度为 8bit, 最高表示十进制的 255. 并且根据 ABC 类地址来划子网
    10.1.1.30 其实是
    0000 1010 0000 0001 0000 0001 0001 1110 来组成的
    每 8bit 取一断点化十进制就是 ipv4 地址的常见形式.
    这个时候为了建立子网来进行路由, 进而有子网掩码这东西, 假设你的子网掩码(subnet mask)在这里是 255.0.0.0
    其实就是
    1111 1111 0000 0000 0000 0000 0000 0000
    上述两个二进制, 你如果对他们做 AND 运算, 你得到的就是 5 楼给你的 IPv4Address
    0000 1010 0000 0000 0000 0000 0000 0000 -> 10.0.0.0
    , 我没记错的话他叫网络地址, 在这个 10.0.0.0/255.0.0.0 的网络之外, 它只是一个大子网, 对于外部来说会减少路由表的 entry 增加效率, 因为我只需要知道这个网络下对应的 ip 硬怼给它就行了, 没必要一个 ip 多开一个路由表 entry.
    相对应的网络里最后一个主机号 / 或者是网络号后的 bit 全填 1, 就是用于 broadcast, 在这里就是
    0000 1010 (第 9 位开始全是 1) 1111 1111 1111 1111 1111 1111 -> 10.255.255.255
    所以有 10.0.0.0/255.0.0.0 <=>10.0.0.0/8 <=> 10.0.0.0 ~ 10.255.255.254
    然后 VLSM/Variable Length Subnet Mask, 因为发现直接通过 ABC 类地址划出来的子网太浪费?
    然后就有引入 CIDR/无分类编址
    划分网络 /辨认主机可以使用网络号和主机号, 此时他们两个的分界线就是 /后面的这个十进制数 8
    10.0.0.0/8 <=> 10.0.0.0/255.0.0.0
    如果是 /20, subnetmask 的前 20 位就都是 1, 假设里面有个地址是 172.17.3.1, 按你题目的表示就是 172.17.3.1/20
    1010 1100 0001 0001 0000 0011 0000 0001 (ip)
    1111 1111 1111 1111 1111 0000 0000 0000 (/20) <=> 255.255.240.0
    做 AND 可以很容易得到
    1010 1100 0001 0001 0000 0000 0000 0000 -> 172.17.0.0(网络号)
    还是上面的操作, 第 21 位开始全是 1
    1010 1100 0001 0001 0000 (21 位开始) 1111 1111 1111 -> 172.17.15.255
    所以
    172.17.0.0/20 <=> 172.17.0.0/255.255.240.0 <=> 172.17.0.0 ~ 172.17.15.255
    小弟还是个在校大学生 hhhh 如果错误请指出
    iptables
        20
    iptables  
       2020-12-11 14:17:34 +08:00
    IP 地址 1.1.1.30/8

    /8 也就是 255.0.0.0 (二进制前 8 位为 1,后面都是 0 )
    子网掩码和 IP 转换成二进制,分别是

    11111111 . 00000000 . 00000000 . 00000000
    00001010 . 00000001 . 00000001 . 00011110

    按位与( AND )运算:
    00001010 . 00000000 . 00000000 . 00000000
    也就是十进制的 10.0.0.0,得到网络地址

    子网掩码等于 0 的部分是后 24 位,因此将网络地址后 24 位设置为 1,即
    00001010 . 11111111 . 11111111 . 11111111
    也就是十进制的 10.255.255.255 ,得到广播地址
    Tink
        21
    Tink  
    PRO
       2020-12-11 14:54:13 +08:00
    cidr 这种写法就是用 /后面的数字控制前面 ip 地址的掩码,说简单点就是前几位可以变
    lavvrence
        22
    lavvrence  
       2020-12-11 18:58:32 +08:00
    KenGe
        23
    KenGe  
       2020-12-11 19:19:34 +08:00
    proxychains
        24
    proxychains  
       2020-12-12 01:53:18 +08:00   1
    @fasionchan 哇,我一直在追更你的文章呐,不过需要注册就没回复.期待大佬的文章
    baobao1270
        25
    baobao1270  
       2020-12-12 08:04:06 +08:00
    Address: 10.1.1.30 00001010 .00000001.00000001.00011110
    Netmask: 255.0.0.0 = 8 11111111 .00000000.00000000.00000000
    Wildcard: 0.255.255.255 00000000 .11111111.11111111.11111111
    =>
    Network: 10.0.0.0/8 00001010 .00000000.00000000.00000000 (Class A)
    Broadcast: 10.255.255.255 00001010 .11111111.11111111.11111111
    HostMin: 10.0.0.1 00001010 .00000000.00000000.00000001
    HostMax: 10.255.255.254 00001010 .11111111.11111111.11111110
    Hosts/Net: 16777214 (Private Internet)

    http://jodies.de/ipcalc?host=10.1.1.30&mask1=8&mask2=
    xyjincan
        26
    xyjincan  
       2020-12-12 17:45:48 +08:00 via Android
    https://dev.aduo.xyz/tools/ip-tools.html

    写了个计算器,不想再算了
    /td>
    CrazyBoyFeng
        27
    CrazyBoyFeng  
       2020-12-12 19:19:05 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2571 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 04:03 PVG 12:03 LAX 21:03 JFK 00:03
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86