0

0

如何分析TCP及IP的网络层相关封包与数据

王林

王林

发布时间:2023-05-13 23:55:04

|

1717人浏览过

|

来源于亿速云

转载

  1. tcp/ip的网络层相关封包与数据

    1)  IP封包的封装:IPv4有32位,IPv6有128位。IP封包最大可以为65535bytes。其结构如下图:

如何分析TCP及IP的网络层相关封包与数据

    需要额外说明的有:

        服务类型:主要分为,PPP,表示此IP封包的优先度,目前很少是使用;D,若为0表示一般延迟(delay),若为1表示为低延迟;T,若为0表示为一般传输量,若为1表示为高传输量;R,若为0表示为一般可靠度,若为1表示为高可靠度;UU:保留尚未被使用;总共合起来为格式为PPPDTRUU。

        旗标:格式为DM,其中,D,若为0表示可以分段,若为1表示不可分段;M,若为0表示此IP为最后分段,若为1表示非最后分段。

        分段偏移:表示目前这个IP分段在原始IP封包中所占的位置。透过TotalLength,Identification,Flags以及Fragment Offset才能将小的IP分段在收受端组合起来。

        存活时间:范围0-255,当IP封包通过一个路由器时,TTL会减一,当TTL为0时,这个封包将会被丢弃。

        协议代码:各个代码的含义为,1,ICMP(InternetMessage Control);2,IGMP(Internet Group Management Protocol);3,GGP(Gateway-to-GatewayProtocol);4,IP(IP in IP encapsulation);6,TCP(Transmission Control Protocol);8,EGP(ExteriorGateway Protocol);17,UDP(Use Data Program)。

        表头检查码:用来检查这个IP表头的错误检查码之用。

        目标地址:目标IP地址

        其他参数:额外选项,提供包括安全处理机制,路由记录,时间戳,严格与宽松之来源路由等。

        补齐项目:由于Options的内容不一定有多大,但IP每个数据都必须是32bits,所以,若Options的数据不足32bits时,则有padding补齐。

        2)  IP地址的组成与分级:

        IP组成:网络号码和主机号码。

        同一网域(网段):在同一个物理网段内,主机的IP具有相同的网络号和独立的主机号。而主机号全为0和全为1(广播地址)的IP是不可用的。同一网段内的主机如果设定相同的网域IP范围(不可重复)可以透过CSMA/CD的功能直接在区网内用广播进行网络的联机(亦即可以直接网卡对网卡传递数据)。在同一个物理网段之内,如果两部主机设定成不同的IP网段,则由于广播地址的不同,导致无法透过广播的方式来进行联机。此时要透过路由器(router)来进行沟通才能将两个网域连接在一起。

        IP分级:整个IP分为五个等级,如下图:

        如何分析TCP及IP的网络层相关封包与数据

        D类:一般用来作为群播的特殊功能只用(最常用在大批计算机的网络还原)。

        E类:保留没有使用的网段。

    3)  IP种类与获取方式

        IP种类:公共IP,由InterNIC统一规划的IP,这种IP才能连上Internet;私有(保留)IP:不能连上Internet的IP,主要用于局域网络内的主机联机规划。

        私有IP分类:A类,10.0.0.0~10.255.255.255;B类,172.16.0.0~172.31.255.255;C类,192.168.0.0~192.168.255.255

        自动取得网络参数:在局域网络内会有一部主机专门负责管理所有计算机的网络参数,当其他主机网络启动时,会主动向该服务要求IP参数,若取得网络相关参数后,主机就能够自行设定好所有服务器给你的网络参数,从而连上Internet。

    4)  Netmask,子网与CIDR(Classless Interdomain Routing)

        Netmask:网络号码全取1而主机号码全取0的IP地址。

        Network:该网段的第一个IP地址,即网络号码为网络号码,而主机号码全为0

        网域表示方法:常用Network以及Netmask来表示一个网域。192.168.0.0/255.255.255.0或192.168.0.0/24(其中24表示网络号占24位)

        无等级网域间路由(无类域间路由):将网络号借用来作为主机号,以使得多个网域写成一个,这种打破原本IP代表等级的方式就被称为无等级网域间路由(可以减少路由信息,从而提升性能)。

    5)  路由的概念:当一部主机发送数据到另一台主机时,这台主机会查看本身的路由信息并与数据的目标地址比较,若找到目标IP,则发送到指定的机器,否则传送到默认网关,再进行传输。重复此过程,直到数据到达目的地。

易标AI
易标AI

告别低效手工,迎接AI标书新时代!3分钟智能生成,行业唯一具备查重功能,自动避雷废标项

下载

    6)  route [-n]:观察路由表的指令,参数

        a)-n:将主机名以IP的方式显示。

        b)数据显示解读,

        Destination:Network的意思

        Gateway:默认网关,若为0.0.0.0表示不需要额外的IP

        Genmask:Netmask

        Flags:旗标,U,代表该路由可用;G,代表该网络需要经由Gateway来帮忙传递;H:代表该行路由为一部主机,而非一整个网络

        Iface:接口(interface)即网卡代号。

    7)  ARP(Address Resolution Protocol,网络地址解析协议),RARP(Revers ARP,反向地址解析协议。

    8)  arp [-nd];arp –s hostname(IP) Hardware_address:获取本机的ARP表格内的IP/MAC对应的数据,参数:

        a)-n:以主机IP的形态显示

        b)-d:将hostname的hardware_address由ARP table当中删除掉。

        c)-s:设定某个IP或hostname的MAC到ARP table中(用于建立静态的ARP)。

    9)  ICMP(Internet Control Message Protocol,因特网讯息控制协议):是一个错误侦测与回报的机制,最大的功能就是可以确保我们网络的联机状态与联机的正确性。ICMP也是网络层重要的封包之一,不过,这个封包并非独立存在,而是纳入到IP封包中,也就是说,ICMP同样是透过IP封包来进行数据传送的。ICMP比较常见的ICMP的类别:

        0:Echo Reply,代表一个响应信息

        3:Destination Unreachable,表示目的地不可到达

        4:Source Quench(当router的负载过高时,此类别码可用来让发送端停止发送讯息)

        5:Redirect,(用来重新导向路由路径信息)

        8:Echo Request,请求响应消息

        11:Time Exceeded for a Datagram,当数据封包在某些路由传送的现象中造成超时状态,此类别码可告知来源该封包已被忽略的讯息

        12:Parameter Problem on a Datagram,当一个ICMP封包重复之前的错误时,会回复来源主机关于参数错误的讯息。

        13:Timestamp Request,要求对方送出时间讯息,用以计算路由时间差异,以满足同步性协议的要求

        14:Timestamp Replay,此讯息纯粹是响应TImestamp Request用的

        15:Information Request,在RARP协议应用之前,此讯息用来在开机时,取得网络信息。

        16:Information Replay,用以响应Information Request讯息

        17:Address Mask Request,这讯息是用来查询子网mask设定信息

        18:Address Mask Reply,响应子网mask查询讯息的。

    ping和trcaceroute两个指令可以透过ICMP封包来确认与回报网络主机的状态,

相关专题

更多
504 gateway timeout怎么解决
504 gateway timeout怎么解决

504 gateway timeout的解决办法:1、检查服务器负载;2、优化查询和代码;3、增加超时限制;4、检查代理服务器;5、检查网络连接;6、使用负载均衡;7、监控和日志;8、故障排除;9、增加缓存;10、分析请求。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

567

2023.11.27

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

219

2023.12.07

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1018

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

63

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

405

2025.12.29

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

css中的padding属性作用
css中的padding属性作用

在CSS中,padding属性用于设置元素的内边距。想了解更多padding的相关内容,可以阅读本专题下面的文章。

131

2023.12.07

tcp和udp的区别
tcp和udp的区别

TCP和UDP的区别,在连接性、可靠性、速度和效率、数据报大小以及适用场景等方面。本专题为大家提供tcp和udp的区别的相关的文章、下载、课程内容,供大家免费下载体验。

119

2023.07.25

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
进程与SOCKET
进程与SOCKET

共6课时 | 0.3万人学习

swoole入门物联网开发与实战
swoole入门物联网开发与实战

共15课时 | 1.2万人学习

swoole项目实战(第二季)
swoole项目实战(第二季)

共15课时 | 1.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号