链路层、网络层、传输层和应用层协议详解分析

接上篇文章wireshark抓包分析-CSDN博客wireshark是网络包分析工具网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。wireshark应用举例:网络管理员用来解决网络问题网络安全工程师用来检查安全隐患开发人员用来测试协议的执行情况学习网络协议。https://blog.csdn.net/CSDN_DU666666/article/details/139476234?spm=1001.2014.3001.5501

一、链路层

以太网头(又称MAC头)------一共占用14字节

目的MAC地址:即接收方的mac地址--windows的mac地址 (占6字节)

源MAC地址:发送方的mac地址-ubuntu的mac地址  (占6字节)

类型:指定下一层(网络层)使用的协议类型  (占2字节)

        0800 IP协议

        0806 ARP协议

        8035 RARP协议

PS:查看mac地址的方法

        windows:ipconfig/all 物理地址对应的就是mac地址

        ubuntu:ifconfig 看到的ether后面就是mac地址

工作在链路层的设备:交换机(通过mac地址决定如何转发消息)

二、网络层

IP头

版本号(4位)             IP协议的版本 4-->ipv4        0100

首部长度(4位)     IP头的长度(由于IP头至少为20字节),而4个bit位能表示的最大数是1111-->15 所以此处使用的是4倍的单位,此处的0101---> 对应位5*4=20

服务类型 (8位)    前3比特是优先权子字段(已被忽略),第8比特保留未用,4-7比特分别代表延迟、吞吐量、可靠性和花费,对应位取1为最小延时、最大吞吐量、最高可靠性和最小花费,但这4位同一时刻,只能一位为1,但可以全部为0,全部为0表示一般服务,服务类型字段声明数据包被网络系统传输时可以被怎样处理。比如,TELNET协议要求有最小的延迟,FTP协议数据要求最大吞吐量、SNMP协议无特殊要求(4-7全为0)。但是实际上,大部分会忽略这个字段。但一些动态路由协议如OSPF(open shortest Path First Protocol)、IS-ISIntermediate System to Intermediate System Protocol)可以根据这些字段的值进行路由决策。

总长度(16位)  表示整个数据报的长度(以字节为单位),2^16-1==最大长度为65535字节

                IP头+TCP头+用户数据的长度 == 20+20+*(PS:我用buff[*]发的) == *+40

标识(16位) 用于唯一标识主机发送的每一份数据包,通常每发一份数据包,它的值会加1。

标志位(8位) 标志一份数据包是否要求分段。

片偏移(13位) 如果一个数据报要求分段,此字段指名该段便宜距离原始数据报开始的位置。

生存周期TTL(8位) 设置数据包最多经过的路由器的数量,每经过一个路由器,其值减去1,减到0数据包被丢弃,初始值一般为32、64、128等。(PS:ping www.baidu.com 显示的TTL)

协议类型(8位) 指明后边使用的协议的类型     ICMP(1)  IGMP(2) TCP(6)    UDP(17)。

头部校验和(16位) 根据IP头部计算得到的校验和码,计算方法为:对头部中每16比特进行二进制反码求和。(和ICMP、IGMP、TCP、UDP不同,IP不对头部后的数据进行校验)。

源IP地址(32位) 发送IP数据报文的源主机地址。

目的IP地址(32位)接收IP数据报文的目标主机地址。

工作在网络层的设备:路由器(根据目的IP地址决定如何转发数据)。

三、传输层

TCP头

源端口号(16位):  发送方进程的端口号

目的端口号(16位) 接收方进程的端口号

序列号:seq

确认号: ack

头部长度:TCP的头部长度也是4倍的单位 5表示20

URG:紧急指针(urgent pointer)有效。

ACK:确认序号有效。

PSH:接收方应该尽快将这个报文段交给应用层。

RST:重建连接。

SYN:发起一个连接。

FIN:释放一个连接。

建立和释放链接使用到SYN ACK FIN 见以下文章

三次握手和四次挥手过程简介-CSDN博客链路层、网络层、传输层和应用层协议详解分析-CSDN博客wireshark抓包分析-CSDN博客wireshark是网络包分析工具网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。wireshark应用举例:网络管理员用来解决网络问题网络安全工程师用来检查安全隐患开发人员用来测试协议的执行情况学习网络协议。https://blog.csdn.net/CSDN_DU666666/article/details/139591789?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22139591789%22%2C%22source%22%3A%22CSDN_DU666666%22%7D

四、应用层

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值