《TCP/IP网络编程》课程教学大纲 《TcP/IP Programming》 一、课程基本信息 课程代码:16049402 课程名称:网络编程 英文名称:TCP/IP Programming 课程类别:专业选修 学 时:32 学 分:2 适用对象:计算机专业学生 考核方式:课程设计或论文 先修课程:C语言、面向对象编程技术、计算机网络等 二、课程简介 中文简介 网络 编程”是计算机专业实践性相当强的一门新学科,牵涉的相关知识较多。目前作为计 算机科学与技术专业的一门专业选修课程,本课程主要介绍各类网络编程相关概念,工具,理论 和方法。通过课堂教学,并让学生在网络环境下运用编程工具实现网络程序,让学生学会运用几 种主要的网络编程技术,同时加深学生对计算机网络理论基本概念及相关软件开发技术的认识及 应用水平,将所学的几科知识联系起来,并将之运用于实践,并在实践中提高自己的程序编制水 平。另外,通过为 络安全 的实践,使其充分认识到安全的重要性,也为学生在安全防范上 性的运用所学提供了一个创新平台。 英文简介 TCP/IP Programming.which involves a lot of relevant knowledge,has very strong professional practice.As a professional elective course in computer science and technology specialty,it mainly introduces the concepts,tools,theories and methods of network programming.In practice.some methods which we have adopted,including classroom teaching and under the network environment programming using some tools,make students can use several kinds of network programming technology,and deepen their understanding of computer network theory,improve their awareness and application of relevant software development technology
1 《TCP/IP 网络编程》课程教学大纲 《TCP/IP Programming》 一、课程基本信息 课程代码: 16049402 课程名称: 网络编程 英文名称:TCP/IP Programming 课程类别: 专业选修 学 时: 32 学 分: 2 适用对象: 计算机专业学生 考核方式: 课程设计或论文 先修课程: C语言、面向对象编程技术、计算机网络等 二、课程简介 中文简介 “网络编程”是计算机专业实践性相当强的一门新学科,牵涉的相关知识较多。目前作为计 算机科学与技术专业的一门专业选修课程,本课程主要介绍各类网络编程相关概念,工具,理论 和方法。通过课堂教学,并让学生在网络环境下运用编程工具实现网络程序,让学生学会运用几 种主要的网络编程技术,同时加深学生对计算机网络理论基本概念及相关软件开发技术的认识及 应用水平,将所学的几科知识联系起来,并将之运用于实践,并在实践中提高自己的程序编制水 平。另外,通过对网络安全的实践,使其充分认识到安全的重要性,也为学生在安全防范上创造 性的运用所学提供了一个创新平台。 英文简介 TCP/IP Programming, which involves a lot of relevant knowledge, has very strong professional practice. As a professional elective course in computer science and technology specialty, it mainly introduces the concepts, tools, theories and methods of network programming. In practice, some methods which we have adopted, including classroom teaching and under the network environment programming using some tools, make students can use several kinds of network programming technology, and deepen their understanding of computer network theory, improve their awareness and application of relevant software development technology
三、课程性质与教学目的 通过本课程的学习,学生应能达到下列要求: (1)了解当前流行的各类网络绵程相关概念 (2)熟悉利用C+语言进行网络编程 (3)掌握网络编程的理论和方法 (④)对网络安全防范有一定的了解 四、教学内容及要求 第一章TCP/IP网络开发基础知识 (一)目的与要求 1、进一步深化掌握与TCP/IP网络开发相关的基本概念,为开发做好准备。 2、将之前所学的相关知识整合在一起,相互印证,温故而知新。 (二)教学内容 第一节树络编程相关的基本概 第二节 三类网铬编程 第三节 客户机/服务器交互模式 第四节 VC+平台开发工具介绍 (三)思考 网络体系结构与程序架构间的关系 (四)教学方法与手段 课堂讲解与PPT 第二章Windows环境下套接字编程接口 (一)目的与要求 1、掌握在Windows环境下如何进行网络程序开发的基本框架及方法 2、结合操作系统的知识,进一步了解在Windows中进程工作的特点, 并通过对操作系统的了解,认识我国目前操作系统的发展现状,树立 学以致用的观念。 (二)教学内容
2 三、课程性质与教学目的 通过本课程的学习,学生应能达到下列要求: (1)了解当前流行的各类网络编程相关概念 (2)熟悉利用C++语言进行网络编程 (3)掌握网络编程的理论和方法 (4)对网络安全防范有一定的了解 四、教学内容及要求 第一章 TCP/IP 网络开发基础知识 (一)目的与要求 1、进一步深化掌握与 TCP/IP 网络开发相关的基本概念,为开发做好准备。 2、将之前所学的相关知识整合在一起,相互印证,温故而知新。 (二)教学内容 第一节 网络编程相关的基本概念 第二节 三类网络编程 第三节 客户机/服务器交互模式 第四节 VC++平台开发工具介绍 (三)思考 网络体系结构与程序架构间的关系 (四)教学方法与手段 课堂讲解与PPT 第二章 Windows 环境下套接字编程接口 (一)目的与要求 1、掌握在 Windows 环境下如何进行网络程序开发的基本框架及方法 2、结合操作系统的知识,进一步了解在 Windows 中进程工作的特点, 并通过对操作系统的了解,认识我国目前操作系统的发展现状,树立 学以致用的观念。 (二)教学内容
第一节套接字的基本概念 第二节 面向连接的套接字编程 第三节无连接的套接字编程 第四节Windows环境下套接字的规花 第五节网络应用程序的运行环境 (三)思考 Windows环境下套接字如何实现协议栈 (四)教学方法与手段 课堂讲解及PPT 第三章客户机/服务器开发 (一)目的与要求 1、掌握利用VC+平台开发C/S网络程序的基本技术 2、了解我国目前自己开发的C语言编译系统(方舟系统),进一步加强对 于国内技术发展成绩的了解,加强四个自信。 (二)教学内容 第一节TCP服务器的开发 第二节TCP客户端的开发 第三节 多线程技术的客户端及服务器的开发 第四节文件传输应用程序的开发 (三)思考 网络对时程序的实现 开发带完整界面的文件传输应用客户端实例 (四)教学方法与手段 课堂讲解、程序分析演示 第四章网络嗅探及扫描技术 (一)目的与要求 1、堂握网络嗅探与扫描技术,并利用该技术来发现网络上的机器及运 行的服务 3
3 第一节 套接字的基本概念 第二节 面向连接的套接字编程 第三节 无连接的套接字编程 第四节 Windows 环境下套接字的规范 第五节 网络应用程序的运行环境 (三)思考 Windows 环境下套接字如何实现协议栈 (四)教学方法与手段 课堂讲解及PPT 第三章 客户机/服务器开发 (一)目的与要求 1、掌握利用VC++平台开发 C/S 网络程序的基本技术 2、了解我国目前自己开发的 C 语言编译系统(方舟系统),进一步加强对 于国内技术发展成绩的了解,加强四个自信。 (二)教学内容 第一节 TCP 服务器的开发 第二节 TCP 客户端的开发 第三节 多线程技术的客户端及服务器的开发 第四节 文件传输应用程序的开发 (三)思考 网络对时程序的实现 开发带完整界面的文件传输应用客户端实例 (四)教学方法与手段 课堂讲解、程序分析演示 第四章 网络嗅探及扫描技术 (一) 目的与要求 1、掌握网络嗅探与扫描技术,并利用该技术来发现网络上的机器及运 行的服务
2、在程序编制中体现网络基本理论的作用,充分认识理论对于实践的 指导作用,加深对于理论与实践辩证关系的理解 (二)教学内容 第一节 远程主机的发现一Ping跟踪实例的开发 第二节路由跟踪技术的实现 第三节 TCP/IP端口扫描技术实现 第四节原始以太网络蜻的发关 第五节TCP半开端口扫描技术 (三)思考与实践 1、原始套接字编程的实现 2、ICMP协议的应用(发送一个改变路由的ICMP包) 3、实现原始以太网络帧发送的技术 4、半开扫描的原理 (四)教学方法与手段 课堂讲解与程序分析、演示 第五章网络封包过滤技术 (一)目的与要求 1、 通过本专题技术的讨论,了解Windows下网络数据发送在系统中 经过的流程,并掌握截获数据的基本方法 2、 通过对于钩挂技术的理解,进一步深化对于网络安全的理解,对 于目前严峻的安全形势有一个较为深入的了解。 (二)教学内容 第一节Windows网络数据和封包过滤概述 第二节Hook API过滤原理 第三节基于SPI的数据报过滤实例 (三)思考与实践 实现对于一个常用网络API函数的暴力拦截 (四)教学方法与手段 课堂讲解与程序分析、演示 A
4 2、在程序编制中体现网络基本理论的作用,充分认识理论对于实践的 指导作用,加深对于理论与实践辩证关系的理解 (二)教学内容 第一节 远程主机的发现—Ping 跟踪实例的开发 第二节 路由跟踪技术的实现 第三节 TCP/IP 端口扫描技术实现 第四节 原始以太网络帧的发送 第五节 TCP 半开端口扫描技术 (三)思考与实践 1、原始套接字编程的实现 2、ICMP 协议的应用(发送一个改变路由的 ICMP 包) 3、实现原始以太网络帧发送的技术 4、半开扫描的原理 (四)教学方法与手段 课堂讲解与程序分析、演示 第五章 网络封包过滤技术 (一)目的与要求 1、 通过本专题技术的讨论,了解 Windows 下网络数据发送在系统中 经过的流程,并掌握截获数据的基本方法 2、 通过对于钩挂技术的理解,进一步深化对于网络安全的理解,对 于目前严峻的安全形势有一个较为深入的了解。 (二)教学内容 第一节 Windows 网络数据和封包过滤概述 第二节 Hook API 过滤原理 第三节 基于 SPI 的数据报过滤实例 (三)思考与实践 实现对于一个常用网络API函数的暴力拦截 (四)教学方法与手段 课堂讲解与程序分析、演示
第六章网络安全及攻防技术 (一)目的与要求 1、掌握基本网络安全技术概念及攻防技术 2、了解网络安全对于国家安全的意义,激发对于技术的学习兴趣 (二)教学内容 第一节Dos的原理及实现 第二节Arp攻击的原理及实现 (三)思考题 了解一些常用的网络攻击手段 (四)教学方法与手段 课堂讲解与程序分析、演示 第七章电子邮件协议与应用层开发 (一)目的与要求 1、通过对发送电子邮件协议的编程,了解并掌握应用层编程的技术 2、通过应用开发的实践,进一步深刻理解应用层的含义,在实践中深化理论。 (二)教学内容 第一节电子邮件系统的工作原理 第二节利用SMTP协议传送邮件的实现 (三)思考题 Pop协议的如何实现 (四)教学手段与方法 课堂讲解与程序分析、演示 第八章HTTP服务器端的开发 (五)目的与要求 5
5 第六章 网络安全及攻防技术 (一)目的与要求 1、掌握基本网络安全技术概念及攻防技术 2、了解网络安全对于国家安全的意义,激发对于技术的学习兴趣 (二)教学内容 第一节 Dos 的原理及实现 第二节 Arp 攻击的原理及实现 (三)思考题 了解一些常用的网络攻击手段 (四)教学方法与手段 课堂讲解与程序分析、演示 第七章 电子邮件协议与应用层开发 (一)目的与要求 1、通过对发送电子邮件协议的编程,了解并掌握应用层编程的技术 2、通过应用开发的实践,进一步深刻理解应用层的含义,在实践中深化理论。 (二)教学内容 第一节 电子邮件系统的工作原理 第二节 利用 SMTP 协议传送邮件的实现 (三)思考题 Pop 协议的如何实现 (四)教学手段与方法 课堂讲解与程序分析、演示 第八章 HTTP 服务器端的开发 (五)目的与要求
1、通过对HTTP协议的理解,掌握TTP服务器端的开发技术 2、在实践中通过与JSP等技术的对比,真正深化对于相关理论的理解,充分 认识理论与实践的辩证关系。 (六)教学内容 第一节HTTP概要 第二节实现简单的HTTP服务端 (七)思考题 HTTP协议的实现 (八)教学手段与方法 课堂讲解与程序分析、演示 五、各教学环节学时分配 教学环节 讨 小 教学时数 粤 论 实验 其他敦 学环书 课程内容 第一章 第二章 第三章 第四章 第五章 第六章 第七章 2 第八音 合计 6 14 32 六、推荐教材和教学参考资源
6 1、通过对 HTTP 协议的理解,掌握 HTTP 服务器端的开发技术 2、在实践中通过与 JSP 等技术的对比,真正深化对于相关理论的理解,充分 认识理论与实践的辩证关系。 (六)教学内容 第一节 HTTP 概要 第二节 实现简单的 HTTP 服务端 (七)思考题 HTTP 协议的实现 (八)教学手段与方法 课堂讲解与程序分析、演示 五、各教学环节学时分配 教学环节 教学时数 课程内容 讲 课 习 题 课 讨 论 课 实验 其他教 学环节 小 计 第一章 2 3 第二章 2 3 第三章 2 4 6 第四章 2 4 6 第五章 2 2 4 第六章 2 2 4 第七章 2 2 2 6 第八章 2 合计 16 14 2 32 六、推荐教材和教学参考资源
(1)推荐教材:网络编程实用教程叶树华、高志红编著人民邮电出版社 (2)经典书目:Visual C+网络程序设计实例详解张越等编著人民邮电出版社 (3)经典书目:TCPP网络编程韩尹圣雨著人民邮电出版社 (4)参考书: 山因特网应用编程汪蒲阳编著清华大学出版社 [2☑Winpcap学习官方网站 七、其他说明 课后实验学时:16 平时成绩所占比例:30% 期末成绩所占比例70% 大纲修订人:朱若磊 修订日期:2020.12 大纲审定人: 审定日期:
7 (1)推荐教材:网络编程实用教程 叶树华、高志红编著 人民邮电出版社 (2)经典书目:Visual C++网络程序设计实例详解 张越等 编著 人民邮电出版社 (3)经典书目:TCP/IP 网络编程 韩 尹圣雨 著 人民邮电出版社 (4)参 考 书: [1] 因特网应用编程 汪蒲阳编著 清华大学出版社 [2] Winpcap 学习官方网站 七、其他说明 课后实验学时: 16 平时成绩所占比例 :30% 期末成绩所占比例 70% 大纲修订人:朱若磊 修订日期:2020.12 大纲审定人: 审定日期: