1、引言
前段时间编写了一个网络监听工具。为了分析抓到的数据包,要熟悉各种网络协议。本人痛苦的发现网上很少有集中讲解这方面的文章,而图书大部分讲解得不够仔细,小部分专门研究网络协议的图书又太大,不适合我们的要求。故把常用的以太网协议写出来和大家分享。
2、以太网的特点
以太网采用的是CSMA/CD技术,即带碰撞检测的载波侦听多址访问。在CSMA/CD技术中,如果网络上没有数据,则任何时候都可以将数据传送出去。如果网络被使用,那就要等到网络空闲时再传送。在以太网中传输的数据是无选择的发送到所有网卡的。这就为网络监听创造了条件。
3、以太网数据包
在以太网中,数据是以被称为帧的数据结构体为单位进行交换的。这种数据包结构如下图所示:
报头 | 报文 |
在以太网桢的报头中包含接收端及发送端的地址,桢的报文部分包含的是数据种类。最后放置的是错去校验和修正码。通常我们抓到的数据包已经去掉了同步码和桢分界符。下面先给出报头部分的定义:
以太网桢报头格式
接收端MAC地址(48位) | 发送端MAC地址(48位) | 类型字段(16位) |
注意:这里提到的是位,一位就是二进制数据中的一位。通常,一个字节是由8位组成的。
类型字段意义(参考RFC1700)
类型(十六进制) | 协议 |
0800 | IP |
0806 | ARP |
8035 | RARP |
809B | Appletalk |
8137-8138 | Novell |
814C | SNMP |
时间: 2024-08-04 12:08:15