目录
IP包
(IP数据包在现实中不换行)
数据代表四层和五层数据
每行的单位是比特,不包括“可选项”,共20个字节,每行32bit,IP包头长度不固定,范围:20~60个字节
可选项最多可达10行,一般不会使用到
IP包头字节长度:(可变的,一般是20个字节)
20~60个字节
IP包头具体分析:
1.版本(4):
表名是Ipv4版本还是Ipv6版本
0100(ipv4)、0110(ipv6)
2.首部长度(4):
表名IP包头的长度
首部长度占了4个bit,最终转换为的单位是字节 例如:首部长度为0101,故IP数据包长度20字节
3.优先级(QOS)与服务类型(TOS)(8):
前三个比特代表优先级,中间四个比特代表服务类型,最后一个保留,用于拓展与开发
优先级最高为5,用于语音流量,优先级应用:大公司的专线;
服务类型:低延迟、多通道
4.总长度(16):
IP包的长度,即3、4、5层加起来的长度(两个包头加应用层的数据),最大承载量为1500字节,超过将进行数据分片 (IP包等于3、4、5层加起来)
eg:
1)复制三份IP包头,其中有两个值不同(段偏移量,其值永远是1480的倍数,用于决定分片组合时的顺序)(标识符,相当于id,对分片进行分类,是发送方随机生成的,同一数据包的分片id相同,不同数据包的分片标识符不同、)
2)将3,4,5层数据合并,分成三个IP分片
三个帧所选的路径不同
5.标识符(16):
相当于id,对分片进行分类,是发送方随机生成的,
区分不同的IP数据包的分片数据,在目的端重组分片数据时能快速找到同一数据包的分片数据
6.标志(3):
第一个比特预留,永远为0,
第二个比特:0代表IP包进行了分片,1代表P包没有进行分片
第三个比特:表明本分片是不是最后一个分片 ,1代表还有后续分片,0代表最后一个分片
7.段偏移量(13):
决定IP分片数据的先后顺序,
只能是0或1480的倍数,
第一个分片数据发送时偏移量为0,第二个为1480,第三个为2960,以此类推。
目的端重组数据包时靠偏移量来按顺序组合分片数据
泪滴攻击:
伪造三个帧,标志位001,001,000
第一个分片偏移量0,第二个分片段偏移量小于1480,两个出现重叠
让受害者重组数据包失败,然后一直重组直到死机,也是Ddos攻击的一种。
让防火墙挡在门外
遭受Ddos攻击后,请求流量清洗
流量清洗服务是提供给租用IDC服务的政企客户
针对对其发起的DOS/DDOS攻击的监控、告警和防护的一种网络安全服务。
一般防火墙只允许标志为010的IP包通过(过滤进行了分片IP包),当数据字节过大,需要分片,应用层会将数据切分
8.TTL(8):
Time To Live :0~255(生存时间)
可以通过TTL的初始值判断主机类型
ping 回显的TTL值大于100一般是window,小于100一般是Liunx; 单位不是秒,是跳。每经过一个路由器TTL的初始值-1,默认255,主要用于防环。 TTL应用:tracert跟踪,跳了多少跳。 作用:TTL防止一个数据包在网络上永久的循环,浪费资源 Ping 返回的TTL值是初始TTL值,处理的TTL值在可选项
9.协议号(8):
为上层提供服务,用来标识封装的上层数据是UDP还是TCP TCP:6、UDP:17、ICMP:1、IGMP:88 还有很多(网关选择协议,被路由器的hsrp技术替代了,vrrp)
10.首部校验和(16)
校验三层IP包头是否有误
11.源地址(32):
指发送数据包的主机地址
12.目标地址(32):
指接收数据包的目标主机地址
13.选项字段(长度可变,0-40Byte):
通常不会使用到,因为IP包头部分的长度单位为32bit,因此可选项字段的长度必须为32bit的整数倍, 当使用时且剩余部分不足32bit会自动填充无用数据来补足32bit。
路由器
一、定义
路由器是(连接不同的网段)(通过转发数据包)实现网络互连,在不同网络之间转发数据单元的重要网络设备。路由器主要工作在OSI参考模型的第三层(网络层),路由器的主要任务就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。
在我国绝大多数路由器运行TCP/IP协议
工作原理:
路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是 转发分组。
也就是说,将路由器某个输入端口收到的分组,按照分组要去的目的地,把该分组从路由器的某个合适的输出端口转发给下一跳的路由器。
下一跳的路由器也按照这种方法处理分组,直到该分组到达终点为止。
二路由表
路由器中时刻维持着一张路由表,所有报文的发送和转发都通过查找路由表。从相应端口发送。这张路由表可以是静态配置的,也可以是动态路由协议产生的。
路由器中维护的路由条目的集合
路由器根据路由表做路径选择
路由表的形成
直连网段:配置IP地址,端口UP状态,形成直连路由(直连路由)
非直连网段:需要静态路由或者动态路由,将网段添加到路由表中(静态、动态路由)
三静态路由
-
由管理员手工配置,是单向的
-
缺乏灵活性
-
静态路是由网络管理员根据网络拓扑,使用命令在路由器上配置的路由,这些静态路由信息指导报文发送,静态路由方式也无需路由器进行计算,但它完全依赖于网络管理员的手动配置。
配置:
conft iproute目标网段子网掩码下一跳IP//设置路由表 如: iproute70.1.1.0255.255.255.020.1.1.2//这句话的意思,要跳到70.1.1.0这个网段
四默认路由
-
当路由器在路由表中找不到目标网络的路由条目时,路由器把请求转发到默认路由接口
-
默认路由是一种特殊的静态路由,网络管理管理员手工配置了默认路由后,当路由表中与目的地址之间没有匹配的表项时路由器将把数据包发送给默认网关。
配置 conft iproute0.0.0.00.0.0.0下一跳IP//0.0.0.0代表任何网段 如: iproute0.0.0.00.0.0.020.1.1.2//任何网段的数据都丢到20.1.1.2处理
五浮动路由
在静态或默认路由后加空格+数字(正整数)
动态路由是指路由器能够自动地建立自己的路由表,且能根据网络拓扑状态变化进行动态调整。 动态路由机制依赖于对路由表的维护以及路由器间动态的路由信息。
六三者之间的区别
直连路由:只能使用于直接相连的路由器端口,非直连的路由器端口是没有直连路由的。 静态路由:静态路由静态路由信息在缺省情况下是私有的,不会传递给其他的路由器。当然,网络管理员也可通过对路由器设置使之成为共享的。网络管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由信息。一般适用于简单的环境 浮动路由:当网络规模较大或网络拓扑经常发生改变时,此时宜采用动态路由的方式,路由器能够按照相关路由算法自动计算新的路由信息,适应网络拓扑结构的变化。大型和复杂的网络环境通常不宜采用静态路由。网络管理员难以全面地了解整个网络拓扑,同时当网络拓扑和链路状态发生变化时,路由器中的静态路由信息需要大范围地调整,这一工作的难度和复杂程度非常高,所以宜采用动态路由的方式。
七交换与路由的区别对比
-
ARP协议
1.广播与广播域
广播:将广播地址做为目的地址的数据帧 广播域:网络中能接收到同一个广播所有节点的集合 MAC地址广播 广播地址为FF-FF-FF-FF-FF-FF
IP地址广播 1)255.255.255.255
2)广播IP地址为IP地址网段的广播地址,如192.168.1.255/24
2.ARP协议
百度百科: 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址mac的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。
ARP相关命令(windows)
arp -a 查看ARP缓存表
arp -d 清楚ARP缓存
arp -s ARP绑定
ARP协议讲解:
-
地址解析协议
-
作用:将IP解析为MAC地址
-
原理:
1)发送ARP广播请求
ARP报文内容:我是10.1.1.1 我的mac:AA,谁是10.1.1.3 你的mac是多少?
2)接收ARP单播应答
-
ARP攻击或欺骗的原理是: 通过发送伪造虚假的ARP报文(广播或单播),来实现的攻击或欺骗!
如虚假报文的mac是伪造的不存在的,实现ARP攻击,结果为中断通信/断网如虚假报文的mac是攻击者自身的mac地址,实现ARP欺骗,结果可以监听、窃取、篡改、控制流量,但不中断通信!
-
ARP协议没有验证机制,所以容易被arp投毒攻击
ARP攻击者通过发送虚假伪造的arp报文对受害者进行ARP缓存投毒
ARP协议没有验证机制,所以容易被arp投毒攻击
ARP攻击者通过发送虚假伪造的arp报文对受害者进行ARP缓存投毒
ARP攻击
1.需要先明白
-
ARP攻击是一种内网渗透手段
-
路由器是能隔离广播的设备,不可能到达网关
-
ARP协议属于内网的范围
-
交换机没有mac地址,路由器有mac地址全球唯一(需要配ip的设备的才有mac地址)
-
ping的原理就是利用ARP广播包,扫描软件也是此原理,通过广播请求和单播应答实现
2.ARP的两种渗透手段 区分:目的不同,其实二者并不完全相同
-
ARP攻击
-
ARP欺骗
1)ARP攻击:终止通讯,上不了网 通过应答报文攻击
-
原理: 假的IP应答,伪装虚假mac地址,不断捏造虚假包
arp协议是后到后得,不断更新,没有身份验证协议
-
断网原理: 访问外网的时候,不会广播问谁是外网目标IP,需要把信息给网关
先给交换机,然后送到路由器
发送ARP广播报文,带着自己的mac地址先找网关,此时在网关的记录被替换,数据包到达不了
通过广播报文攻击
-
原理同上 假的IP和假的mac,局域网都知道了,记录下来,无法通讯
2)ARP欺骗:作为中间人,监听、窃取、篡改、控制流量,但不中断通信! 原理:
留下自己的mac地址,获取信息,作为第三方中间人
-
arp欺骗主机:不断网,截获数据监听,修改控制数据等
-
arp欺骗网关:外网时候,作为网关用户中间人,细思极恐~
ARP防御
1.静态ARP绑定:
网关的IP、mac地址,静态的存在自己的电脑里,不用在看广播的动态ARP缓存,手工绑定 发包顺利到网关,为防止回来的时候还可以攻击网关 还得去路由器上设置,手动设置路由器,该用户的ip、mac地址 完成双向绑定 缺点:麻烦耗时,工作量大,维护量大
2.ARP防火墙
不断重复自己的ip、mac给网关,自动绑定静态arp,主动防御(手段和攻击类似) 自动绑定静态ARP 主动防御 优点:简单易用 缺点:当开启人数较多时,会增大网络负担
3.硬件级的arp防御
交换机支持“端口”做动态ARP绑定(配合DHCP服务器)或做静态ARP绑定 就是交换机更加高级,能记录ARP信息,可以逮住坏蛋 前面我们已经知道DHCP攻击最好效果可以在交换机防御 交换机识别DHCP的包,在DHCP返回分配的IP地址确认之后,记录端口的动态ARP绑定 之后经过端口的IP报文,需要验证,不一致就干掉,或者关闭端口