渗透测试培训之网络协议详解
利刃信安
2021.01
第一章TCP/IP协议
OSI七层参考模型分层包括物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
分层 |
关键字 |
设备 |
功能 |
应用层 |
计算机、上层数据、HTTP超文本传输协议、FTP文件传输协议、TFTP普通文本传送协议、SMTP邮件传输协议、SNMP网络管理协议、DNS域名系统、Finger、Whois域名查询服务、Gopher信息检索协议、Telent远程终端协议、IRC因特网中继会话、NNTP网络新闻传输协议 |
计算机 |
网络服务与最终用户的一个接口 |
数据的表示、安全、压缩,编码和解码、压缩解压缩、加密解密 |
|||
会话层 |
建立、管理、中止会话 |
||
传输层 |
防火墙、TCP传输控制协议、UDP用户数据报协议、端口、数据段、差错校验 |
防火墙 |
定义传输数据的协议端口号,以及流控和差错校验 |
网络层 |
路由器、IP地址、数据包、ICMP网间控制报文协议、IGMP因特网组管理协议、IP互联网协议、RIP路由信息协议、ARP地址解析协议、RARP反向地址解析协议 |
路由器 |
进行逻辑地址寻址,实现不通网络之间的路径选择 |
数据链路层 |
交换机、以太网、MAC地址、差错校验 |
交换机 |
建立逻辑连接、进行硬件地址寻址、差错校验等功能 |
物理层 |
网卡、比特流 |
网卡、网线、光纤、IC卡、ID卡 |
建立、维护、断开物理连接 |
注意:
ARP协议在TCP/IP模型中属于IP层(网络层),在OSI模型中属于数据链路层。ARP协议即地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。它可以解决同一个局域网内主机或路由器的IP地址和MAC地址的映射问题。
分层的优点:
1.促进标准化工作,允许各个供应商进行开发。
2.各层间相互独立,把网络操作分为复杂性单元。
3.灵活性好,某一层变化不会影响到别层,设计者可专心设计和开发模块功能。
4.各层间通过一个接口在相邻上下通信。
TCP/IP各层主要功能
第一层:网络接口层(物理层和数据链路层)
提供TCP/IP协议的数据结构和实际物理硬件之间的接口。
物理层的任务就是为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性。
数据链路层的主要功能是如何在不可靠的物理线路上进行数据的可靠传递。
第二层:网络层
对应OSI七层参考模型的网络层。本层包含IP协议、RIP协议(Routing Information Protocol,路由信息协议),负责数据的包装、寻址和路由。网络层负责在源地址和目的地址之间建立它们所使用的路由。这一层本身没有任何错误检测和修正机制,因此,网络层必须依赖于端对端的可靠传输服务。
第三层:传输层
对应于OSI七层参考模型的传输层,它提供两种端对端的通信服务。其中TCP协议(Transmission Control Protocol)提供可靠的数据流传输服务,UDP(Use Datagram Protocol)提供不可靠的用户数据报服务。
第四层:应用层
对应于OSI七层参考模型的应用层和表示层。因特网的应用层协议包括Finger、Whois、FTP(文件传输协议)、Gopher、HTTP(超文本传输协议)、Telent(远程终端协议)、SMTP(简单邮件发送协议)、IRC(因特网中继会话)、NNTP(网络新闻传输协议)等。
第二章物理层安全
ID卡信息的读取和复制
ID卡的构造简单,根据设备的频段读取设备信息,然后根据读取的信息,重新写入到新卡中,ID卡因为没有存储和加密的功能,所以读出只是一串号码,把号码重新写入到新卡就可以完成复制。
补充:
结合《GB-T 22239-2019 信息安全技术 网络安全等级保护基本要求》8.1安全通用要求中8.1.1安全物理环境要求:
物理位置选择要求防震、防风、防雨、避免设在顶层或地下室、防水和防潮;
物理访问控制要求配置电子门禁,控制、鉴别和记录进入的人员;
防盗窃和防破坏要求设备或主要部件固定并设置明显标识、通信线缆铺设在隐蔽安全处、设置机房防盗报警系统或专人值守的视频监控系统;
防雷击要求各机柜、设施和设备通过接地系统安全接地、采取措施防止感应雷;
防火要求设置火灾自动消防系统、机房及相关工作房间和辅助房应采用具有耐火等级的建筑材料;
防水和防潮要求防止雨水通过窗户、屋顶和墙壁渗透、防止水蒸气结露和地下积水的转移与渗透、安装对水敏感的检测仪表或元件;
防静电要求采用防静电地板或地面并采用必要的接地防静电措施、采取措施防止静电的产生;
温湿度控制要求设置温湿度自动调节措施;
电力供应要求在机房供电线路上配置稳压器和过电压防护设备、提供短期的备用电力供应、设置冗余或并行的电力电缆线路为计算机系统供电;
电磁防护要求电源线和通信线缆应隔离铺设,避免互相干扰、对关键设备实施电磁屏蔽。
第三章数据链路层安全
数据链路层的功能
交换机工作原理:
根据MAC地址表来转发数据帧
路由器工作原理:
根据路由表来转发数据包
MAC地址表不存在交换机本身的MAC地址
一个接口上可以支持多个MAC地址,一个MAC地址不支持多个接口同时使用。
MAC地址就是在网络接入层上使用的地址,通俗点说就是网卡的物理地址,现在的MAC地址一般都采用6字节48bit,前24位是生产厂家向IEEE申请的厂商地址。
比如我的MAC地址:
物理地址. . . . . . . . . . . . . : 66-A8-B2-A4-9A-6A
交换机以太网接口的工作模式:
1.单工:两个数据站之间只能沿单一方向传输数据,只能接收或只能发送,类似于麦克风和扬声器。
2.半双工:两个数据站之间可以双向数据传输,但不能同时进行,不能同时收发,类似于手机,只能拨出去或者接进来。
3.全双工:两个数据站之间可以双向同时进行数据传输,可以同时收发,类似于终端和路由器。
数据链路层安全
MAC地址泛洪
交换机中一张非常重要的表,叫做MAC地址表,这个表是一个硬件组成的表,主要是完成快速转发,CAM表有大小限制,越是高端的交换机表空间越大,但是作为接入交换机,表空间基本都在8K左右。交换机的一个原理是,接口下回自动学习并记录MAC地址,所以攻击者不断进行MAC地址刷新,充斥整个交换机的整个MAC地址表,导致交换机不得不进行数据广播,从而获取其他人的报文信息。
交换机转发原理
PC1与PC2通信
MAC地址泛洪防御
在公司的接入交换机上限定端口接入的数量,一台接入交换机可以允许一个端口有20个MAC地址,如果这个端口学习超过了20个MAC地址,就停止学习,后来的MAC地址将被丢弃。
交换机端口安全的作用
基于MAC地址限制、允许客户端流量
避免MAC地址扩散攻击
避免MAC地址欺骗攻击(主机使用虚假MAC地址发送非法数据)
第四章网络层安全
IP地址
主机唯一的标识,保证主机间正常通信
一种网络编码,用来确定网路中一个节点
IP地址由32位二级制(32bit)组成
如图我的ip地址:
本地链接 IPv6 地址. . . . . . . . : fe80::c9c7:e029:1514:8af7%22
IPv4 地址 . . . . . . . . . . . . : 192.168.3.130
IP地址的组成
IP地址由两部分组成
网络部分(NETWORK)
主机部分(HOST)
IP地址分为ABCDE五类
A类IP地址范围:1.0.0.0 – 126.255.255.255
其中包含私有地址:A类:10.0.0.0 – 10.255.255.255
B类IP地址范围:128.0.0.0 – 191.255.255.255
其中包含私有地址:B类:172.16.0.0 – 172.31.255.255
C类IP地址范围:192.0.0.0 – 223.255.255.255
其中包含私有地址:C类:192.168.0.0 – 192.168.255.255
D类IP地址范围:D类IP地址在历史上被叫做多播地址(multicast address),即组播地址。在以太网中,多播地址命名了一组应该在这个网络中应用接收到一个分组的站点。多播地址的最高位必须是“1110”,范围从224.0.0.0到239.255.255.255。
E类IP地址范围:E类IP地址中是以“11110”开头,E类IP地址都保留用于将来和实验使用。
子网掩码
用来确定IP的网络地址
32个二进制位
对应IP地址的网络部分用1表示
对应IP地址的主机部分用0表示
IP地址和子网掩码做逻辑“与”运算得到网络地址
0和任何数相与都等于0
1和任何数相与都等于任何数本身
A、B、C三类地址的默认子网掩码
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
配置主机(路由器)的IP地址
网络测试工具
ipconfig
ipconfig——当使用ipconfig时不带任何参数选项,那么它为每个已经配置了的接口显示IP地址、子网掩码和缺省网关值。
ipconfig /all——当使用all选项时,ipconfig能为DNS和Windows服务器显示它已配置且所要使用的附加信息(如IP地址等),并且显示内置于本地网卡中的物理地址(MAC地址)。如果IP地址是从DHCP服务器租用的,ipconfig将显示DHCP服务器的IP地址和租用地址预计失效的日期。
ipconfig /release和ipconfig /renew——这是两个附加选项,只能在向DHCP服务器租用其IP地址的计算机上起作用。如果你输入ipconfig /release,那么所有接口的租用IP地址便重新交付给DHCP服务器(归还IP地址)。如果你输入ipconfig /renew,那么本地计算机便设法与DHCP服务器取得联系,并租用一个IP地址。请注意,大多数情况下网卡将被重新赋予和以前所赋予的相同的IP地址。
总的参数简介(也可以在DOS方式下输入 ipconfig /? 进行参数查询)
ipconfig /all:显示本机TCP/IP配置的详细信息;
ipconfig /release:DHCP客户端手工释放IP地址;
ipconfig /renew:DHCP客户端手工向服务器刷新请求;
ipconfig /flushdns:清除本地DNS缓存内容;
ipconfig /displaydns:显示本地DNS内容;
ipconfig /registerdns:DNS客户端手工向服务器进行注册;
ipconfig /showclassid:显示网络适配器的DHCP类别信息;
ipconfig /setclassid:设置网络适配器的DHCP类别。
ipconfig /renew “Local Area Connection”:更新“本地连接”适配器的由 DHCP 分配 IP 地址的配置
ipconfig /showclassid Local*:显示名称以 Local 开头的所有适配器的 DHCP 类别 ID
ipconfig /setclassid “Local Area Connection” TEST:将“本地连接”适配器的 DHCP 类别 ID 设置为 TEST
ping
用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
[-4] [-6] target_name
选项:
-t Ping 指定的主机,直到停止。
若要查看统计信息并继续操作,请键入 Ctrl+Break;
若要停止,请键入 Ctrl+C。
-a 将地址解析为主机名。
-n count 要发送的回显请求数。
-l size 发送缓冲区大小。
-f 在数据包中设置“不分段”标记(仅适用于 IPv4)。
-i TTL 生存时间。
-v TOS 服务类型(仅适用于 IPv4。该设置已被弃用,
对 IP 标头中的服务类型字段没有任何
影响)。
-r count 记录计数跃点的路由(仅适用于 IPv4)。
-s count 计数跃点的时间戳(仅适用于 IPv4)。
-j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。
-k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。
-w timeout 等待每次回复的超时时间(毫秒)。
-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。
根据 RFC 5095,已弃用此路由标头。
如果使用此标头,某些系统可能丢弃
回显请求。
-S srcaddr 要使用的源地址。
-c compartment 路由隔离舱标识符。
-p Ping Hyper-V 网络虚拟化提供程序地址。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
IP数据包结构
特殊IP地址
1.255.255.255.255 限制广播地址,这个地址不能被路由器转发。
2.127.0.0.1
环回地址是主机用于向自身发送通信的一个特殊地址(也就是一个特殊的目的地址)。
可以这么说:同一台主机上的两项服务若使用环回地址而非分配的主机地址,就可以绕开TCP/IP协议栈的下层。(也就是说:不用再通过什么链路层,物理层,以太网传出去了,而是可以直接在自己的网络层,运输层进行处理了)
IPv4的环回地址为:127.0.0.0到127.255.255.255都是环回地址(只是有两个特殊的保留),此地址中的任何地址都不会出现在网络中。
网络号为127的地址根本就不是一个网络地址(因为产生的IP数据报就不会到达外部网络接口中,是不离开主机的包)
当操作系统初始化本机的TCP/IP协议栈时,设置协议栈本身的IP地址为127.0.0.1(保留地址),并注入路由表。当IP层接收到目的地址为127.0.0.1(准确的说是:网络号为127的IP)的数据包时,不调用网卡驱动进行二次封装,而是立即转发到本机IP层进行处理,由于不涉及底层操作。因此,ping 127.0.0.1一般作为测试本机TCP/IP协议栈正常与否的判断之一。
所以说:127.0.0.1是保留地址之一,只是被经常的使用,来检验本机TCP/IP协议栈而已。
3.Localhost
localhost首先是一个域名(如同:www.baidu.com),也是本机地址,它可以被配置为任意的IP地址(也就是说,可以通过hosts这个文件进行更改的),不过通常情况下都指向:(如下)
IPv4:表示 127.0.0.1
IPv6:表示 [::1]
整个127.*网段通常被用作loopback网络接口的默认地址,按照惯例通常设置为127.0.0.1。我们当前这个主机上的这个地址,别人不能访问,即使访问,也是访问自己。因为每一台TCP/IP协议栈的设备基本上都有local/127.0.0.1。
4.本机地址
本机IP,我们可以理解为本机有三块网卡,一块网卡叫做loopback(虚拟网卡),一块叫做ethernet(有线网卡),一块叫做wlan(你的无线网卡)。
联网,网卡传输,受防火墙和网卡限制
用于本机和外部访问
5.224.0.0.1 组播地址,注意它和广播的区别。从224.0.0.0到239.255.255.255都是这样的地址。
224.0.0.1特指所有主机,224.0.0.2特指所有路由器。
6.169.254.x.x 如果你的主机使用了DHCP功能自动获得一个IP地址,那么当你的DHCP服务器发生故障,或响应时间太长而超出了一个系统规定的时间,Windows系统会为你分配一个这样的地址。
子网划分
有类网络就是指把IP地址能归结到A类、B类、C类IP。
例如:
IP地址为192.168.1.22 mask 255.255.255.0 那么这个IP属于C类IP地址。
IP地址为190.4.64.33 mask 255.255.0.0 那么这个IP属于B类IP地址(解释:B类IP从128~191,子网掩码是255.255.0.0)。
- A类地址:前8位是1~126的IP地址。它们的网络ID是前8位,主机ID是后24位。
- B类地址:前8位是128~191的IP地址。它们的网络ID是前16位,主机ID是后16位。
- C类地址:前8位是192~223的IP地址。他们的网络ID是前24位,主机ID是后8位。
- D类和E类地址:前8位是224~255之间的地址。D类用于组播,E类用于科学实验。
路由
直连路由:路由器本身的接口产生的路由,叫做直连路由,但是需要路由器端口UP,协议正常才可以产生有效的直连路由。
静态路由:手工配置的路由,就是静态路由。
动态路由:通过路由协议自动获取的路由,叫做动态路由。
ARP攻击与ARP欺骗原理
ARP协议
ARP相关命令
显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr] [-v]
-a 通过询问当前协议数据,显示当前 ARP 项。
如果指定 inet_addr,则只显示指定计算机
的 IP 地址和物理地址。如果不止一个网络
接口使用 ARP,则显示每个 ARP 表的项。
-g 与 -a 相同。
-v 在详细模式下显示当前 ARP 项。所有无效项
和环回接口上的项都将显示。
inet_addr 指定 Internet 地址。
-N if_addr 显示 if_addr 指定的网络接口的 ARP 项。
-d 删除 inet_addr 指定的主机。inet_addr 可
以是通配符 *,以删除所有主机。
-s 添加主机并且将 Internet 地址 inet_addr
与物理地址 eth_addr 相关联。物理地址是用
连字符分隔的 6 个十六进制字节。该项是永久的。
eth_addr 指定物理地址。
if_addr 如果存在,此项指定地址转换表应修改的接口
的 Internet 地址。如果不存在,则使用第一
个适用的接口。
示例:
> arp -s 157.55.85.212 00-aa-00-62-c6-09.... 添加静态项。
> arp -a .... 显示 ARP 表。
ARP攻击防御
主机强行绑定MAC地址,交换机端口绑定MAC地址。
第五章传输层安全
待补充
第六章应用层安全
待补充
本文始发于微信公众号(利刃信安二狗子):渗透测试培训之网络协议详解
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论