基于C语言的局域网截包程序设计与实现
版权申诉
160 浏览量
更新于2024-08-22
收藏 15KB PDF 举报
局域网截包程序设计参照
本实验的目的是设计一个局域网截包程序,以帮助学生更好地理解网络的工作机制,包括封包机制、协议分析等。实验内容包括确定截包的方法、截获并分析各种类型的包、编写基于 RAW 模式 SOCKET、PACKET32 或 NDIS 驱动程序的局域网截包实现程序、在模拟实现环境下调试并运行自己编写的协议实现程序等。
知识点一:局域网的安全隐患
* 以太网采用广播技术基础,任何两个节点之间的通信数据包可以被同一以太网上的任何一个节点的网卡所截取,从而带来安全隐患。
* 黑客可以通过接入以太网上的任一节点进行侦听,捕获所有数据包,对其进行解包分析,从而窃取关键信息。
知识点二:实验目的
* 实现一个局域网截包程序,使学生能更好地理解网络的工作机制。
* 该实验是对《计算机网络》课程的一个有益的补充。
知识点三:实验内容
* 确定截包的方法:包括 RAW 模式 SOCKET、PACKET32 以及直接作为驱动程序挂在 NDIS 上。
* 截获以下包的类型并分析:以太网帧格式、IP 包、ICMP 包、TCP 报文段、UDP 报文等相关字段进行描述。
知识点四:实验步骤和注意事项
* 实验步骤:熟悉 RAW 模式的 SOCKET 编程、PACKET32 的工作机制、WINDOWS2000 环境下 NDIS 驱动程序的编写方法、编写基于上述某一机制的局域网截包的实现程序、在模拟实现环境下调试并运行自己编写的协议实现程序、如出现异常情况,在实验报告中记录并分析可能的原因。
知识点五:协议实现程序的编写
* 使用 C 语言实现实验内容,包括编写基于 RAW 模式 SOCKET、PACKET32 或 NDIS 驱动程序的局域网截包实现程序。
* 使用 #define 语句定义常量,例如 RCVALL_ON1、MAX_ADDR_LEN、MAX_PROTO_TEXT_LEN 等。
* 使用 typedef 语句定义结构体,例如 iphdr 结构体。
* 使用 #include 语句包含头文件,例如 stdio.h、winsock2.h、mstcpip.h、conio.h 等。
知识点六:协议分析
* 以太网帧格式:包括目的 MAC 地址、源 MAC 地址、以太网类型、数据部分等字段。
* IP 包:包括版本号、服务类型、总长度、标识、标志、偏移、生存时间、协议、校验和、源 IP 地址、目的 IP 地址等字段。
* ICMP 包:包括类型、代码、校验和、标识、序号、数据部分等字段。
* TCP 报文段:包括源端口号、目的端口号、序号、确认号、标志、窗口、校验和、紧急指针、数据部分等字段。
* UDP 报文:包括源端口号、目的端口号、包长、校验和、数据部分等字段。
知识点七:实验报告
* 在实验报告中记录实验过程、实验结果和可能的原因。
* 分析出现的异常情况,并记录可能的原因和解决方法。
2021-11-21 上传
2022-02-25 上传
2023-05-24 上传
某单位有6个局域网采用路由设备将其相连,6个局域网内部的计算机数量分别为20,23,30,27,16,19.若单位申请到C类地址段200.3.16.0/24,给出一种地址分配方式?写出每个局域的掩码?
2023-06-12 上传
2023-09-22 上传
2023-06-12 上传
2023-03-12 上传
2023-06-06 上传
2023-06-11 上传
lyy18394482058
- 粉丝: 0
- 资源: 5万+
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解