如何分析TCP及IP的网络层相关封包与数据
TCP/IP的网络层相关封包与数据
1) IP封包的封装:IPv4有32位,IPv6有128位。IP封包最大可以为65535bytes。其结构如下图:
需要额外说明的有:
服务类型:主要分为,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分为五个等级,如下图:
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的网络层相关封包与数据的详细内容,更多请关注其它相关文章!