对抓包和ip包头以及路由原理分析

抓包

目的:学会简单的抓包,验证TCP/IP五层架构的存在(TCP/IP协议栈),验证帧的结构
软件:科来x64
最好在虚拟机里面装,在真实机会有冲突。
在这里插入图片描述
在这里插入图片描述
抓到包就是我在向外界发信息,同时外界也在向我发信息,交换机已经认识到我。
这里面每一行代表一个帧。
在这里插入图片描述
数据包不用管,是科来软件做的总结,绿色圈主的就是帧结构。

ping命令用的是icmp协议只用到了三层如图:
在这里插入图片描述
在这里插入图片描述

ip包头

之前讲了二层数据链路层的帧头分析 三样东西 目MAC 源MAC 类型
今天说三层,三层不像二层,协议很多,icmp ip arp 先说最重点的ip协议,上层数据包到达三层之后必经之路就是ip协议,ip协议能做什么呢? ip协议就是为你的数据包封装包头 叫ip包头。

在这里插入图片描述
在现实生活中不换行 标识符在总长度的后面。
现在看到的整张结构就是上三层数据
应用层
传输层
网络层 ----我们今天重点说(第三层)
最后一行是四层加五层的数据
在这里插入图片描述
从版本到可选项就是ip包头的格式
一共有6行 (可选项一般没用)上五行 一共二十个字节,为ip包头的最小字节 为什么最小呢,因为ip包头的长度不像帧头是固定的,他的长度是不固定的,最小是20 个字节
可选项最长可以达到十行,最大容纳40个字节。
ip包头长度可变 是20到六十个字节。

但是抓包之后百分之九十五都是20个字节可选项很少用到。
在这里插入图片描述

1.版本

判断这个包是ipv4协议还是ipv6协议
0110还是 0100

2.首部长度

帧头帧尾长度固定 帧头14个字节 帧尾4个就结束了
那都是一堆二进制数怎么知道你ip包头在哪结束呢,就需要首部长度帮忙,告诉他们我的包头有大,到哪开始是数据。
四个二进制最大表示15 所以要求的每一个数字代表32bit 就是四个字节 四个1就是15x4 最大表示60

3.优先级和服务类型

不多做介绍,qos和tos
其实就是快速通道和慢速通到的意思,你可以理解为qq上vip头衔,有头衔就会享受快服务,没用就不享受这个服务。
正常情况下里面8个0

4.总长度

说的是ip包的长度
桥重点 传输单元 (三层封装完之后 叫ip包 ip包是由ip包头加四五层数据构成)
这里的总长度就是ip包加上四五层的数据 ----ip包的长度。

如果说我要传输4000个字节的数据
到了传输层 (tcp包头也是会变的 也是20到60字节,一般为20)
说白了就是两层包头加上数据 是4040

在这里插入图片描述
但是到数据链路层加上帧头帧尾放不下 最多乘1500多字节,所以就得给他们切开,但是如果直接切
会把ip包头和tcp包头切掉,这个包就废了。

我们要走三趟,所以我们把ip包头复制出来当导员三份
互联网是瞬息万变的,所以得有ip包头当导游,才能知道到哪。
而且这三个复制的ip包头是不完全一样的
第一行一样
第二行不一样,接收方要知道他们哪个是第一个哪个是第二个,分完之后的ip包叫ip分片,分片技术,分片技术在ip层分的。
在这里插入图片描述

这个三个包本来是克隆出来的,该一模一样,但是有一个值不一样,就叫段偏移量

5.段偏移量

----------决定ip分片的先后顺序-------------------

决定你们三个的先后顺序,他们是怎么决定先后顺序的呢
加上段偏移量的值来决定。
在这里插入图片描述
但是光有段偏移量是不行的

6.标识符

下面来自两个数据ip包分段,如果段偏移量一样岂不是要出错???
所以我们要有个标识符也就是id,是发送端随机生成的。左边id号一样 右边id号一样 这俩值不同。

到接收端,先看标识符再看段偏移量。

在这里插入图片描述

7.标志位

三位bit
第一个永远为零 未启用

第二位 0 1 如果为0 就是分配了分片
如果为1 就是未分配我就这一个帧 我没有兄弟姐妹

第三位 0 1
思考一下接收端怎么看有多少分片呢 就是标志位的最后一位表面我是不是最后一个分片
为1是就是还有后续分片
为0就是最后一个分片了

段偏移量攻击—不断伪造ip包
在这里插入图片描述
他就没法重组,然后就一直进行不断的重组,cpu就炸了

(现在防火墙 中间位为0的都不让通过 只有010的能通过,重组都让应用层软件端重组,应用层发的时候分好片,交给应用层了)

8.TLL

TIME TO LIVE 生存时间 单位不是秒 是阿拉伯数字
8bit 0~255 一共256个可能
到网线就是八个电脉冲了
TTL值可以判断对方什么是什么系统主机
苹果 安卓----linux系类
100以上几乎windows 100以下linux主机
假如说我设置初始值128先送到网关 路由器会-1 每经过一个路由器就会减少1。
目的:是防止数据包在网络上永久的循环下去
也可以用于环路检测。
在这里插入图片描述
255为网络设备
在这里插入图片描述

9.协议号

在数据链路层帧头里面有类型字段,作用二层为三层提供服务的时候,识别往哪分。
协议号 和 类型字段类似,识别上层协议。
1是icmp 6是tcp 17 udp 还有其他的 暂时用不到有兴趣可以去查下
在这里插入图片描述
在这里插入图片描述

10.首部校验和

校验的ip包头
20个到60个字节的校验和,怕别人篡改,类似于FSC

源ip地址和目标ip地址就不用多讲了

当别人问你多少位的时候是问二进制

路由原理剖析

先不说路由,什么是路由器?
给数据包提供路由的一种器械,叫路由器。
然后再来剖析路由是什么
先看百度百科中国汉字博大精深
在这里插入图片描述
在这里插入图片描述
提取一下就是 选择道路的过程
总结一下就是:为数据包选择路径的过程就叫路由
在这里插入图片描述
解释一下 包到达第一个路由器之后 路由器有两种选择,选哪个都可以,选择路径,但是到底要怎么选呢,得有依据吧。
交换机的时候有个mac表
路由器就有路由表

包----》到了路由器-------》先检查你要去哪里-------》然后去看路由表-----》路由表说你往上走,你就完成了一次路由

路由就是选择路径的过程
怎么选全靠路由表,和交换机一样买来都是空的,但是交换机的mac表会自动学习,路由表不会,需要人为的去配。

世界之所以有条不紊的一定少不了路由。路由器是连接不同网段的,世界上有成千上网的网段,其中一定有若干路由器组成。

每台路由器收到数据包一定会选择路由, 路由就是为数据包选择路径的过程。

Connected 简写c
首先路由器会看路由表 如果两边接口开启了ip也配好了 ,路由器就会自动的在路由表上形成两条路由条目。
1.路由表里面以段为单位不会轻易体现一个ip地址 他体现的是一个世界 以段为单位,路由表显示我已经知道在这个世界里我知道这个网段了。为了表示跟我直连的我会打个标识 C

在这里插入图片描述
2.路由表是路由器路由的唯一条件,特点,表里面有我就转发,没用我就干掉,然后向源端道歉(icmp报错信息)。

3.60 30 40 50 70这些条目不会在第一个路由器里面自动形成,(没长我身上,我不知道)需要我们去手工配 S Static
在这里插入图片描述
互联网上左1右2 左边是20.1 右边20.2
在这里插入图片描述
在这里插入图片描述
ipv4能提供一亿个ip网段 但是发展太快没用合理规划,国际路由表条目多。
ipv6就是规划ip地址用的国际路由 条目会减少 会加快速度但是ipv6可是有点长有点麻烦

在这里插入图片描述
在这里插入图片描述
s*是手工配置的默认路由 是默认路由
算是一种优化,一般边缘路由器适合配置默认路由
在这里插入图片描述
不同的路由条目类型优先级不一样
跟一个值有关系 管理距离值: (也叫A值)每一种路由类型都有固定的管理距离值
c为0 s为1 s
为无穷大 可以改。

在路由表中路由条目的 管理距离值 值越小优先级越高

管理距离值可以被改变,改变之后有意想不到的效果
可以通过设置管理距离值,让路由器连两根线的,提高了容错能力,稳定性。
在这里插入图片描述
下面的30.2通常会被隐藏,因为和目标网段一样了冲突了,所以隐藏了。
在这里插入图片描述
相当于数字完全一致了就冲突了优先值低了就会被隐藏起来。
给某个链路配备用链路修改管理距离值的叫浮动路由

四种路由条目:
直连 静态 默认 浮动 (其实后面仨就是一样的)
在这里插入图片描述
在这里插入图片描述
模拟路由器的工作环境需要的软件:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值