首页 > 运维 > 安全 > 正文

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

王林
发布: 2023-05-13 23:55:04
转载
1192 人浏览过
  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,则发送到指定的机器,否则传送到默认网关,再进行传输。重复此过程,直到数据到达目的地。

    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封包来确认与回报网络主机的状态,

以上是如何分析TCP及IP的网络层相关封包与数据的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!