十八·简单抓包+ip包头分析与静态路由
验证TCP/IP协议栈帧结构
win7开启telnet》打开控制面板》程序与功能》打开或者关闭windows功能《services.msc开启telnet服务
ip包头分析
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H9GAICWa-1612166411635)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210130161509917.png)]
20字节为最小长度,ip包头长度可变。
1.版本(4bit):确定是ipv4(0100)还是ipv6(0110)
2.首部长度(4bit):确定这个包头的长度,主要看可选项的长度(最终结果为:四位二进位转十进位*4字节)
3.优先级与服务类型(8bit):决定用户的优先级和服务类型(运营商用的多,用于判断特殊的服务比如可以开辟一个专线做视频用)(3bit优先级 4bit服务类型 1bit预留位)
4.总长度(16bit):用来确定整个数据的长度,因为一个帧放不下所有的数据,必须切开,然后在合并,这个长度就是用于合并的计数。
切开的每个数据包都会有一个ip包头用于指向ip地址
(ip分片)
由此损失了一些数据空间
5.标识符(16bit):id号,用来给同一个包的数据进行标记
6.标志位(3bit):第一个bit不用,作为保留位。第二个比特为0则代表数据包已经分片,为1代表数据包未分片。第三个比特表示是不是最后一个分片,为1则不是最后一个分片,为0则是最后一个分片
7.段偏移量(13bit):用于判断这个ip分片的数据头的位置。不是0就是1480的倍数,取决于前一段数据的字节数
(一个帧最大数据量1500字节,去掉ip包头就是1480字节的数据)
8.TTL(8bit):生存时间,每经过一个路由器将减一就是为了防止数据包在网络上永久循环下去,为了节省资源
tracert www.baidu.com 跟踪数据的路径
9.协议号(8bit):识别上层的协议。tcp(6)udp(16)icmp(1)
10.首部校验和(16bit):校验ip包头的完整性
11.源地址(32bit)
12.目标地址(32bit)
13.可选项
路由概述
路由:跨越从源主机到目标主机的一个互联网络来转发数据包的过程(路由器为ip包选择路径的过程)
直连路由c 静态路由s
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YQmjGztW-1612166411639)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210130184956636.png)]
当连接不和自己路由器直连的ip网段时写静态路由记录看ip网段在哪个端口的方向,以该端口的局域网作为下一跳的地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c74dFO7E-1612166411642)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210130185843952.png)]
优化路由表以0.0.0.0/0(默认路由)代替重复的下一跳地址
管理距离值(a值):c的为0,s的为1,s*的为无穷大 值越大优先级越高
浮动路由:两个路由器之间连接两根网线,备用的那根线就是浮动路由
静态路由:
conf t
ip route 目标网段 子网掩码 下一跳ip
默认路由
ip route 0.0.0.0 0.0.0.0 下一跳ip
浮动路由
在静态或默认路由后加空格+数字(正整数)
后面的正整数作为优先级,数越大优先级越高
do show ip route ------路由器指令–查看路由表
能配ip的端口才有mac地址
路由器工作原理
先接到一个帧,检查帧头的mac地址是不是自己,如果不是就丢弃这个信息,如果是就就删除帧头,开始解析ip包头,查看目标ip包头是多少,检索自己的路由表,路由表内有记录就转发,转发时会查看arp缓存表查看是否有目标ip的mac地址,有就直接封装帧头,如果没有就先发送arp报文数据包获取对方mac地址记录缓存,之后再封装帧头,如果路由表内没有记录就把数据丢弃并给源端发送反馈