《原始套接字编程》 课程设计报告 姓名:*** 班级:9 班 学号:******** 1 《原始套接字编程》课程设计报告 班级:11 级9 班 学号:54110904 姓名:王延兴 一、 设计任务分析 (一)实验环境 操作系统:Window s 编程工具及集成开发环境:VC++ (二)实验目的和要求 实验目的:掌握原始套接字编程
实验要求:完成下列功能: (1)利用 RAW SOCKET 捕获网络数据包的程序模型 SOCKET_STREAM 流式套接字 SOCKET_DGRAM SOCKET_RAW 原始套接字 IPPROTO_IP IP 协议 IPPROTO_ICMP INTERNET 控制消息协议,配合原始套接字可以实现 ping 的功能 IPPROTO_IGMP INTERNET 网关服务协议,在多播中用到 在 AF_INET 地址族下,有 SOCK_STREAM、SOCK_DGRAM、SOCK_RAW 三种套接字类型
SOCK_STREAM 也就是通常所说的 TCP,而 SOCK_DGRAM 则是通常所说的 UDP,而 SOCK_RAW则是用于提供一些较低级的控制的;第 3 个参数依赖于第 2 个参数,用于指定套接字所用的特定协议,设为 0 表示使用默认的协议
RAW SOCKET 能够对较低层次的协议直接访问,网络监听技术很大程度上依赖于它
(2)能够抓取第二节课的并发服务器程序的服务器端或客户端的应用层数据,即:时间值,打印输出
二、设计方 案 同 一台 主 机 不 同 进 程可以用进 程号来 唯 一标 识 ,但 是在网络环境下进 程号并不 能唯 一标 2 识该进程
TCP/IP 主要引入了网络地址、端口和连接等概念来解决网络间进程标识问题
套接字(Socket)是一个指向传输提供者的句柄,TCP/IP 协议支持 3 种类型的套接字,分别是流式套接字、