目录
先来了解一下网络层的功能:
1、定义了基于IP协议的逻辑地址;
2、连接不同网段;
3、选择最佳路径,把最佳的路径放进路由表中
最佳路径分为以下几种:
最精准:子网掩码最长的一个路径
最优先:路由协议优先级最小的一个
路质最好:TTL值越高越好。
网络层主要是以上三个功能。
一、IP数据包格式
协议字段下面我列了一张表,都是用到的包头。
大致的介绍一下主要的信息:
版本:占用4位二进制,是用来证明IP地址是IPv4还是IPv6
首部长度:占用4位二进制,定义包头的头部有多长
优先级与服务类型:占用8位,优先级就是你可以设定,然后来决定路径选择之类的判定优先级。服务类型就是根据数据类型来分类,像语音,信息等这些数据的类型来分类。
总长度:占用16位,总的IP包头的长度
标识符:占用16位,用来标识这个文件是否被分段,因为单次传输的文件不能超过1500字节,超过1500就会被分成两部分发送,标识符用来确定文件是否是被分段
标志:占用3位,如果数据被分段过,用来标识这是第几段数据
段偏移量:占用13位,用来记录每段的起始和结束的字节ID
TTL:占用8位,用来表示生命周期,数据传输出去之后,每经过一个路由器,数值减一,总255开始,如果数值到0,数据则不会继续传输。
协议号:占用8位,用来标识占用的什么协议
首部校验和:占用16位,为了确保数据完整性,进行数据校验。
源地址:发送方的IP地址
目标地址:接收方IP地址
二、ICMP协议介绍
1、ICMP的定义
ICMP的定义分为三个:
1.是一个错误侦查回馈机制
2.通过IP数据包封装
3.用来发送错误和控制信息
主要组成是:ping、tracert
ping:测试能否连接对方IP
tracert:路由跟踪
2、ICMP协议的封装
ICMP属于网络层协议,封装过程是:在传输层添加TCP头部之后到达网络层,先添加ICMP头部之后再进行添加IP头部。
三、ping的命令
ping,是连接对方地址,看看是否能够网络连通。
可以测试自己网络,也可以测试能不能连通目标。’
ping的命令也不止这一个,ping -t
ping -t加上目标IP或者网址,可以一直不停的连接,用于测试长时间连接是否会丢包或者是网络稳定性。想要停止直接按Ctrl+C就可以强制退出
ping -a
ping -a加上目标IP地址或者网址,是可以显示给你回馈的主机名称,下面哪一行就是显示出了我的主机名称。
ping -l
ping -l是设置ping包的字节大小,-l后面直接设置字节大小就可以
四、ARP协议介绍
ARP全称是:Address Resolution Protocol,地址解析协议
ARP 是IP地址与MAC地址的一个映射关系
1、arp的工作原理
PC1已知PC2的IP地址,未知PC2的MAC地址,PC1用ARP广播给二层交换机,二层交换机接收到之后进行泛洪处理,连接到交换机下的除了PC1的PC机都接收到广播,每个PC都将IP地址与自身IP地址对比,若一致就回数据包给PC1,PC1接收到返回信息后会记录PC2的IP地址和MAC地址,记录到ARP缓存表,若不一致丢弃处理
APR是正向地址解析协议:
已知目标IP地址未知目标MAC地址的时候用。
RARP是反向地址解析协议:
已知目标MAC地址未知目标IP地址的时候用。
2、ARP的命令
ARP -a
这个命令是查看当前ARP缓存表,可以看到目前PC机交互的地址,分别是网络地址和物理地址,还有静态动态的区分
我现在在用的地址是192.68.1.56这个地址,有两个正在同一个网段建立联系的设备,跟一个广播地址,还有一些组播地址。
arp -d 清除arp缓存(一般不会清除静态arp缓存,一般清除的是动态缓存)
清除arp缓存表需要在管理员权限下清除,这就是清除之后剩余的地址数量。或者arp -d后面跟随一个IP地址,就是删除指定缓存。例如:arp -d 192.168.1.27 就是删除这一个指定的ARP缓存
arp -s 捆绑IP地址,建立一个静态地址
设备上也能进行ARP缓存表的查看
因为身边没有设备,就用拓扑图演示一下
<>display arp //显示当前缓存表
现在还没有任何交互跟配置,表里面是空的
[ ]arp static 192.168.10.10 aaaa-aaaa-aaaa //增加ARP缓存表,地址是192.168.10.10 MAC地址是aa-aa-aa-aa-aa-aa
现在成功的手动增加了一个缓存表信息
<>reset arp all //是清除所有缓存表信息
<>reset arp static //清除静态缓存表信息
如果现在已经存在的是静态缓存信息,用两条哪一个都行,如果动态静态都有用清除所有,清除全部。
五、ARP欺骗原理
1、欺骗其他所有计算机
简单来说就是欺上瞒下,欺骗路由器说我就是你要找的目标,把数据传输给我,然后对其他所有PC机发出数据说我是路由器,把所有数据给我,我帮你传达。欺骗所有计算机,这种事把所有PC机的数据都传达给PC2,PC2再交给路由器,起到中转然后复制信息
另一种比较严重,是PC2把MAC地址跟路由器的IP进行额捆绑,达成欺骗所有计算机,结果是导致PC机都无法上网,因为所有PC机都跟PC2进行交互,PC2又无法往上传达,或者PC2干脆用虚假的MAC地址跟路由器IP绑定,这样信息没有地方转达,导致大面积掉网。
2、欺骗主机
是一台计算机欺骗别得PC机,给别的PC机发消息说,我是你要找的目标,我的地址是XXXXXXX 是在同网段内欺骗,起到一个流量复制的作用。
欺骗是ARP攻击一种非常常见的方式,杜绝这种现象也很简单,那就是事先把需要联系的正确IP地址与MAC地址进行绑定,保存在ARP缓存表里面,这样接收到欺骗信息的时候也正常给缓存表里面的PC正常通信。
假如在公司或者学校,你的电脑突然不能上网了,但是别的人的电脑都是正常的,排除外在原因之后先看下是不是被欺骗了,打开命令行输入arp -a 找到正在使用的网络的IP跟MAC地址,看看MAC地址跟旁边人的MAC地址是否一致,不一致就是被欺骗了。解决方案就是获得正确的MAC地址,进行捆绑就好了。
还有一些别的ARP欺骗的防范手段,我这边就不一一介绍了,大致说下名字:开启ARP防火墙、开启长角牛网络监控机等
总结:
通过这些内容了解到ICMP的包装格式,ARP的命令行这些内容,最关键的就是懂得如何防范自己的计算机被别人欺骗攻击了,万一哪一天被别人用ARP欺骗攻击到了,能快速处理,或者是直接排挤在外,让他攻击不进来。