一、网路通信三要素
1、IP地址:互联网协议地址,分为公网地址和私有地址
1.1、公网地址的范围
- A类:地址范围1.0.0.0~127.255.255.255,主要分配给主机数量多、局域网数量少的大型网络;
- B类:地址范围为128.0.0.0至191.255.255.255,一般为国际大公司及政府机构使用;
- C类:地址范围为192.0.0.0至223.255.255.255,为一般小型公司校园网研究机构;
1.2、私网地址的范围
- A类地址:10.0.0.0~10.255.255.255
- B类地址:172.16.0.0~172.31.255.255
- C类地址:192.168.0.0~192.168.255.255
2、端口
2.1、周知端口:
- 0~1023,被预先定义的知名应用占用(如:HTTP占用 80,FTP占用21)
2.2、注册端口:
- 1024~49151,分配给用户进程或某些应用程序。(如:Tomcat占 用8080, MySQL占用3306)
2.3、动态端口:
- 49152到65535,之所以称为动态端口,是因为它 一般不固定分配某种进程, 而是动态分配。
3、协议
- 数据在网络中传输的规则,常见的协议有UDP协议和TCP协议。
- 通信协议:计算机网络中,连接和通信数据的规则被称为网络通信协议。
二、两个终端间通信的五大要素
- 1、发送者
- 2、接收者
- 3、介质
- 4、数据
- 5、协议
通信时双向的。主机A要发送数据给主机B,主机B也要回复。
三、设备
- 交换机:可以实现多台主机互联,分为广域交换机和局域网交换机
- 路由器:可以跨网段通信
四、企业网络基本架构
五、OSI模型(理论上是七层模型,实际使用的五层模型)
1、七层模型结构
- 通俗易懂就是:小明要寄快递(应用层),把快递打包(表示层),选择快递公司(会话层),选择快递保价还是不保价(传输层),填写寄件的目的地址(网络层),快递公司开始运输并且打电话叫收件人来收件(数据链路层),收件人处理快递方式(物理层)
2、TCP/IP模型
3、各层对应的
- 3.1、应用层、表示层、会话层
(应用层)
:HTTP、FTP、DNS、SMTP,应用程序要关注的:浏览器、邮箱,程序员一般是在这一层开发。 - 3.2、传输层:TCP、UDP这两种,选择数据传输的方式。
- 3.3、网络层:IP、ICMP、ARP、RARP,封装源和目的IP,进行路径选择。
- 3.4、数据链路层:
MAC(物理地址)
- 3.5、物理层:常见为IEEE 802中定义的规范
六、数据封装(从上往下一级一级封装)
七、数据链路层
数据链路层功能是:向该层用户提供透明的和可靠的数据传送服务。
- 1、透明性是指该层上传输的数据的内容、格式及编码没有限制,也没有必要解释信息结构的意义;可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心。
- 2、在物理层中这些情况都可能发生,在数据链路层中必须用纠错码来检错与纠错。
- 3、数据链路层是基于MAC地址进行帧的传输。
(洪泛攻击)
八、数据链路层——以太网帧格式
1、Ethernet_II
1.1、D.MAC:目的地址、C.MAC:源地址
- 两者的区别:
*假设:A和B通信
A——>B
Refer——>host
C.MAC——>D.MAC
1.2、Type
- 标识符。使用的协议的标识符,用于区别上层使用什么协议。例如:0x0800(IP协议)、0x0806(ARP协议)
1.3、Data
- 也称为载荷。是所传输的上层数据帧,而这个数据帧的长度在64-1518字节之间。其中Windows最长在1518字节,Linux数据最长在1500个字节
1.4、FCS
- 帧检验的序列,相当于校验码。用来保证数据完整性,检验传输的数据有没有出错,一般长度是4个字节。
2、以太网的MAC地址
- MAC地址由两部分组成,分别是供应商代码(OUI)和序列号。其中前24位代表该供应商代码,由IEEE管理和分配。剩下的24位序列号由厂商自己分配。
3、MAC地址(单播、组播、广播)
- 3.1、单播:就是一对一通信。其中就是通过MAC地址识别通信目标的。
- 3.2、组播:一对多,在以太网中的部分主机通信,相当于只跟我关系好的通信。
- 3.3、广播:一对多,以太网中的所有主机都能接收,相当于是大喇叭。
4、数据帧的传输
- 第一步:主机检查帧头中的目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是 本机侦听的组播或广播MAC地址,则主机会丢弃收到的帧。如果目的MAC地址是本机MAC 地址,则接收该帧。
- 第二步:检查帧校验序列(FCS)字段,并与本机计算的值对比来确定帧在传输过程中 是否保持了完整性。
- 第三步:如果检查通过,就会剥离帧头和帧尾,然后根据帧头中的Type字段来决定把数 据发送到哪个上层协议进行后续处理。
5、数据帧的发送和接收
- 当主机接收到的数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉后送往上层协议。
- 其中就是通过Type来判断发送给上层哪个协议来处理。
九、网络层
网络层位于数据链路层与传输层之间。网络层中包许多协议,其中最为重要的协议就是IP协议。网络层提供了IP路由功能。理解IP路由除了要熟悉IP协议的工作机制之外,还必须理解IP编址以及如何合理地使用IP地址来设计网络。
十、网络层——协议
1、ICMP
- 控制报文协议。面向无连接的协议,对应UDP,一般用来传输报错的信息(报告错误,交换机受限制等相关信息的传递)
2、ARP
- 地址解析协议。根据IP地址来获得MAC地址的(IP——>ARP——>物理地址)。
- 常见攻击手法有ARP欺骗,因为ARP协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自 主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入 本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法 到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。(协议缺少核验导致的)
3、RARP
- 反向地址转换协议。假如一个设备不知道它自己的IP地址,但是知道自己的物理地址(物理地址——>RARP——>IP)。
十一、IP地址
1、IP报文头部
1.1、TTL:time to live,报文的生存时间,防止协议呈环状。
- 报文在网段间转发时,如果网络设备上的路由规划不合理,就可能会出现环路,导致报文在网络中无限循环,无法到达目的端。环路发生后,所有发往这个目的地的报文都会被循环转发,随着这种报文逐渐增多,网络将会发生拥塞。
为避免环路导致的网络拥塞
,IP报文头中包含一个生存时间TTL(Time To Live)字段。报文每经过一台三层设备,TTL值减1
。初始TTL值由源端设备设置。当报文中的TTL降为0时,报文会被丢弃。同时,丢弃报文的设备会根据报文头中的源IP地址向源端发送ICMP错误消息。
- 默认情况下,
Linux系统
的TTL值为64或255,Windows NT/2000/XP系统
的TTL值为128,Windows 98系统
的TTL值为32,UNIX主机
的TTL值为255,当数据包传送到一个路由器之后,TTL就自动减1, 所以:52 = 系统TTL默认值 - 经过的路由个数。
1.2、Protocol
- 协议号,其中:TCP(6) 、UDP(17)、 ICMP(1) 、IGMP(2)
2、网络通信
- 同网段不过路由,不同网段需要路由
3、IP编址
- 3.1、IP = 网络位 + 主机位
- 3.2、同网段的IP地址数量是256-2=254个,减去的两个分别是网络地址(00000000)和广播地址(11111111)
4、IP地址类型
分为两大类:私有地址和特殊地址
4.1、私有地址范围
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
4.2、特殊地址范围
127.0.0.0 ~ 127.255.255.255
0.0.0.0
255.255.255.255
5、子网掩码
5.1、子网掩码作用
- 用来区分IP地址的网络号与主机号。用来将网络分割为多个子网,减少网络上的通信量,节省IP地址,便于管理。
5.2、常见的IP地址包含子网掩码写法
- 192.168.1.1/24,后面的24就是代表子网掩码的网络位,是C类掩码。
本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。
最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。
最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。
学习路线图
其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。
相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。
网络安全工具箱
当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。
项目实战
最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~
面试题
归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!