从“flag助力大红包”到 IPv4

起因是hackgame的“flag助力大红包”题目。

  题目不难,X-Forwarded-For写个脚本就搞定了。

  

 但问题是,IP这块我其实完全不懂原理;如果X-Forwarded-For没用就直接G。

  所以,简单的了解了一下IPv4。

 

IPv4使用32位地址,一般采用点分十进制写法(eg:192.168.1.100)

一、IP分类

考虑到有的网络拥有很多主机,而有的网络主机很少,因此为了便于对IP地址进行管理,将IP地址划分为五类,即A类到E类。

  

当我们说“申请到一个IP地址时”,实际上只是获得了一个网络号;而主机号由我们自己分配。

约定俗成的,有:

 此处的IP都是指“公网IP”,即“广域网IP”;

而我们在电脑上查询到的IP,大部分都是内网IP,即“局域网IP”。

广域网和局域网是两种Internet的接入方式;

  广域网可以直接接入Internet,而局域网IP需要通过NAT连接Internet。

  NAT(Network Address Translation)是网络地址转换,它实现局域网的IP地址与广域网的地址之间的相互转换,将广域网IP地址转换为大量的局域网IP地址,减少对公网IP地址的占用。

  因此,我们上述A-E类公网IP表中,需要扣除一些,作为私用IP(内网IP):

 

二、子网

  此处略过一些子网掩码的产生和发展中的规定,仅讲述CIDR(无分类编址)及之后的内容。

之前,我们提到过“申请到一个IP地址“;然而,即使是主机号最少的C类IP地址,也可容纳2^8-2=254台机器。

  对于一个只拥有数十台乃至更少台机器的网络,申请这样一个IP会导致大量的地址浪费;而如果数个这样的小网络直接使用一个IP,又会导致这些小网络之间可以直接进行局域网通信,安全性较差。

  这时候,我们就要使用子网掩码。它在一个IP地址的内部主机号部分“划分子网”。子网之间不能互相通讯,这就保证了安全性。

  将子网掩码和分组中的目的IP地址(用户主机IP地址)进行逐二进制位与运算,即可得到子网的网络地址。外界只能看到这个“子网的网络地址”而看不到内部用户的具体地址。每一个子网中有一个网关,内部计算机通过这个网关访问Internet。

 

三、举例

  校园网:

这显示了公网IP是一个A类IP地址,这台主机被划分在子网10.136.0.0/16中,以10.136.0.1作为网关,子网可容纳2^16-2台主机。

  家用网络:

这显示了公网IP是一个C类IP地址,这台主机被划分在子网192.168.3.0/24中,以192.168.3.1作为网关,子网可容纳2^8-2=254台主机。

  个人热点:

 这显示了公网IP是一个B类IP地址,这台主机被划分在子网172.20.10.0/28中,以172.20.10.1作为网关,子网可容纳2^4-2=14台主机。

 

posted @   hiddener  阅读(75)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示