网络层协议与应用

主要讲解网络层的功能以及网络层当中几个重要的协议,如ip、icmp、arp

     

IP数据包格式

目录

IP数据包格式

ICMP协议

ICMP协议的封装

Ping命令

PING不通的几种情况

ARP协议概述

ARP攻击原理

利用ARP欺骗原理网络

ARP报文(抓包分析)

总结:


         网络层的功能,定义了基于工P协议的逻辑地址,就是ip地址连接不同的媒介类型选择数据通过网络的最佳路径,完成逻辑地址寻址。

        数据封装的时候在网络层会封装ip地址的头部,形成ip数据包,那么ip数据包是怎样的格式呢,里面包含哪些内容?

 (分为20字节的固定部分,表示每个ip数据包必须包含的部分,和40字节的可变长部分)

        1、版本(Version):指IP协议版本号,4比特。并且通信双方使用版本必须一致,目前ip版本为IPV4(地址空间不知足),下个版本是IPV6(但也不能解决IP地址缺乏问题)首部长度(Header Length):IP数据包头长度,4比特。IP数据包头最短为20字节,具体长度取决于可选项字段的长度。

        2、优先级与服务类型(Priority & Type of Service):8比特,该字段表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,用于实现Qos(服务质量)的要求。总长度(Total Length):表示整个IP数据包的长度,16比特。最长为65535字节,包括包头和数据。

        3、标识符(Identification):盖字段用于表示IP数据包的标识符,16比特。当IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误的重组,标识符字段用于标志一个数据包,以便接收点可以重组被分片的数据包。

        4、标志(Flags):和标识符一起传递,指示不可以被分片或者最后一个分片是否发出,3比特。段偏移量(Fragment Offset):在一个分片序列中如何将各分片连接起来,按什么顺序连接起来

        5、TTL生命周期(Time to Live):可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器-1,当TTL的值为0时,该数据包将被丢弃,8比特协议号(Protocol):封装的上层哪个协议,TCMP:1, TCP:6 ,UDP:17,8比特

        6、首部校验和(Header Checksum):这个字段只检验数据包的首部,不包括数据不分,16比特。这是因为数据包每经过一次路由器,都要重新计算一下首部校验和(因为,一些字段如生存时间、标志、片偏移等可能发生变化)

        7、源IP地址(Source IP Address):表示发送数据包的设备的(网络地址)源地址,32比特。

        8、目标IP地址(Destination IP Address):表示接收数据包的(网络地址)目的地址,32比特

        9、可选项(Options):选项字段根据实际情况可变长,可以好IP一起使用的选项有多个。例如可以输入创建该数据包的时间等

10、数据(Information):上层数据

ICMP协议

        Icmp是一个“错误侦测与回馈机制”  通过IP数据包封装的,用来发送错误和控制消息(协议)

        ICMP两种报文:差错报告报文、查询报文

ICMP协议的封装

        ICMP协议属于网络层协议

        ICMP数据的封装过程

ICMP头部、ICMP数据

                ↓

IP头部、上层数据(ICMP报文)

                ↓

帧头部 上层数据 帧尾部

Ping命令

        当我们pingy一台主机时,本地计算机发出的就是一个典型的ICMP数据包,用来测试两台主机是否能顺利连通。Ping命令能够检测两台设备之间的双线连通性,即数据包能够达对端,并能够返回。

PING不通的几种情况

        1.当主机有一个默认网关时,如果它ping其他网段的地址,到不了显示request timeout(此时它把icmp包发给网关,至于后面的事它不管,如果没有包回应,就显示request timeout)

        2.当一个主机没有默认网关时或者配置了网关但是和网关不通时,显示的是Destination host unreachable(此时它发送arp请求包请求网关的mac地址)

        3.当一个路由器ping他路由器表中没有的地址时,显示的是request timeout(此时不发任何包)

        4.当路由器pingyg1路由器表中存在地址时,如果没有回应,则显示的也是reuqest timeout(此时发送arp请求包,请求目标ip的mac地址)

PING命令的用法:结合具体在什么场景使用什么选项

-t 在Windows操作系统中,默认情况下发送4个包,加上-t,则会一直ping,(Ctrl+c)暂停

-a显示主机名

-l 一般情况下,ping包的大小为32字节,有时为了检测大数据包的通过情况,可以使用参数改变ping包的大小  (192.168.1.1 -l 666)

        在Linux系统下为  -S(大写)

-n指定发送包的个数   -c

-s指定源IP去ping   -I

tracert命令:

        在命令行中输入“tracert”并在后面加入一个IP地址,可以查询从本机到该IP地址所在的电脑要经过的路由器及其IP地址

Linux:traceroute IP/域名

小结:IP数据包的格式、ICMP的作用、PING命令的使用方法

ARP协议概述

局域网中主机的通信,IP(逻辑)地址与MAC(物理)地址

什么是ARP协议(Address Resolution Protocol),地址解析协议,将一个已知的IP地址解析成MAC地址(物理地址,网卡)

ARP攻击原理

  1. 欺骗其他所有计算机、2、欺骗被攻击计算机

        ARP攻击发送的是arp应答,但是应中的mac地址为虚假地址,所以在其他主机想要进行通信时,会将目的MAC地址设置成此虚假mac地址导致无法正常通信。

        例如:如果希望被攻击主机无法访问互联网,就需要对网关发送或被攻击主机发送虚假的ARP应答。当网关接收到虚假的ARP应答更新arp条目后,如果网关再发生数据给PC1时,就会发送到虚假的mac地址导致通信故障。

        此处举例说明,例如张三要给李四打电话,张三首先要知道李四的电话号码,这时有人告诉他李四的电话号码是12345678(不存在的号码),于是张三就把电话打到12345678,这样就无法找到李四了。

        ARP欺骗的原理和ARP攻击原理基本相同,但效果不一样。ARP攻击最终的结果是导致网络中断,而ARP欺骗的最终结果是使得流量通过自身达到监控或控制的目的。

利用ARP欺骗原理网络

        通过长角网络监控机软件管理网络

        设置监控范围、进行网络管理、验证效果

ARP报文(抓包分析)

        源ip目标ip和源mac和目标mac

1、目的MAC地址:54:89:98:0F:2B:BE

2、源MAC地址 54:89:98:5B:5B:BE

3、帧类型:0X0806 --长度为2字节,0X0806代表为ARP packe

4、硬件类型:0X001 --长度为2字节,表示网络类型;以太网取值为1

5、协议类型:0X0800 --长度为2字节,表示要映射的协议地址类型.取值为0X800,表示根据IP地址来进行映射

6、硬件地址长度:0X06 --长度为1字节,表示硬件地址长度;取值为0X06,以太网中表示MAC地址长度为6字节

7、协议地址长度:0X04 --长度为1字节,表示协议地址长度;取值为0X04.以太网中表示IP地址长度为4字节

8、OP:0X0002 --长度为1字节。表示ARP报文的种类;取值1,表示请求报文;取值2,表示ARP应答报文发送端

9、发送端(源)MAC地址:59:89:98:5B:5B:8A (信息体的发起端)

10、发送端(源)IP地址: 0A:00:00:02 (转换即为10.0.0.2)

11、目的端MAC地址:54:89:98:0F:2B:BE

        目的端IP地址:0A:00:00:01 (转换即为10:0:0:1)

总结:

IP数据包格式重点理解各字段的含义

ICMP用来发送错误和控制消息(差错报告报文、查询报文)

ARP协议用于实现IP到MAC地址的解析、ICMP封装

ARP协议通过广播查询目标主机MAC地址

ARP攻击是通过伪造ARP应答进行欺骗攻击

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值