下载此文档

实验7Linux下以太帧的捕获与分析.doc


文档分类:通信/电子 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
实验七、Linux下以太帧的捕获与分析
实验目的及要求: 掌握网络监听的实现技术,使得能够实时捕获所在以太网内正在传输的数据帧,并分析帧的结构。学会在Linux下编写网络程序的基本方法;
实验步骤: 1. 阅读本实验后附录的背景材料,熟悉以太网数据帧的格式,以及获取以太帧的编程原理。了解Linux环境下编程的基本方法:
2. 参考本报告中提供的部分实现代码改编为一程序以获取以太帧,并对获得的以太帧加以分析;
实验内容: (1)写出程序的源代码如下,并对主要语句作注释:
(2)运行、测试该程序,记录测试结果,分析遇到的问题与解决的办法。
编程背景材料:
一、Linux下C语言编程环境介绍
使用gedit编辑器输入程序代码
Step1:单击“主菜单”(桌面左下方的图标)—>“附件”->“文本编辑器”,进入gedit编辑界面,输入程序。
Step2:保存文件的方法与Windows中类似,注意保存位置,建议将保存位置设为:/home,文件名为:。
2、编译器
在桌面上单击右键,选择“新建终端”,弹出一对话框,在命令提示符#后依次输入:
cd /home //进入程序所在目录
ls //显示该目录下的文件及文件夹()
gcc –g –o file ( –g –o example ) //编译程序
./file (例如./example) //执行程序

监听的实施
以太网上进行数据传输时,在同一网段上所接的所有网卡事实上都可以收到在共享的物理介质上传输的所有数据。但在系统正常工作时,某个主机的网络接口只响应两种数据帧:一是帧的目标MAC地址与本主机网卡地址相符; 二是帧的目标地址是广播地址,除此之外的数据帧都将被丢弃不作处理。要监听流经网卡的不属于自己主机的数据,必须绕过系统正常工作的处理机制,直接访问网络底层。
以太网数据帧、IP数据报、TCP首部格式
1、以太帧数据帧格式如下图所示:
8B
6B
6B
2B
46-1500B
4B
帧头
载荷
帧尾
前同步码
目标地址
源地址
帧类型
帧中数据
CRC校验和
目的地址和源地址都是6字节的MAC地址(网卡地址),帧类型是帧中载荷的协议类型代码,其帧类型标识主要有:
0x0800: IP(网际协议);
0x0806: ARP(地址解析协议);
0x8035: RARP(反向地址解析协议);
IP、ARP或RARP协议数据单元的报头则位于帧载荷数据中。由于以太网最小帧长为64字节,最大帧长为1518字节,而帧头加幀尾共18字节,故帧中数据为46~1500字节。
2、IP数据报格式及首部中的各字段

3、T C P首部的数据格式
Linux编程要点
1、设置套接口以捕获链路帧。在Linux下编写网络监听程序,比较简单的方法是在超级用户模式下,利用类型为SOCK_PACKET的套接口(用socket函数创建)来捕获链路帧。程序中需引用如下头文件:
#include <sys/>
#include <sys/> /* mand */
#include </> /* ethhdr struct

实验7Linux下以太帧的捕获与分析 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人260933426
  • 文件大小119 KB
  • 时间2017-08-16