计算机网络抓包课程设计

合集下载

ip抓包课程设计

ip抓包课程设计

ip抓包课程设计一、课程目标知识目标:1. 学生能理解IP抓包的基本概念,掌握抓包工具的使用方法。

2. 学生能分析网络数据包的结构,识别各类协议及其特点。

3. 学生能了解网络通信过程中数据包的传输过程,理解网络延迟、丢包等现象的产生原因。

技能目标:1. 学生能运用抓包工具捕获并分析实时网络数据包,具备网络问题排查能力。

2. 学生能通过抓包数据,分析网络攻击手段,提高网络安全意识。

3. 学生能独立完成网络数据包分析任务,具备一定的网络故障处理能力。

情感态度价值观目标:1. 培养学生积极探索网络知识的兴趣,提高学习主动性和积极性。

2. 增强学生对网络安全的重视,树立正确的网络道德观念。

3. 培养学生团队协作精神,提高沟通与表达能力。

本课程针对高中年级学生,结合计算机网络知识,设计IP抓包课程。

课程性质为实践性、探究性,旨在让学生在实际操作中掌握网络知识,提高网络技能。

根据学生特点,课程注重培养学生的学习兴趣和动手能力,强调理论知识与实践操作相结合。

教学要求明确,注重培养学生的网络安全意识和团队协作精神,为后续学习及实际应用打下坚实基础。

通过本课程的学习,学生将具备一定的网络问题排查和解决能力,为我国培养高素质的网络技术人才做好准备。

二、教学内容1. 理论知识:- 计算机网络基础:网络分层模型、IP地址、端口等基本概念。

- 抓包工具介绍:Wireshark等抓包工具的安装与使用方法。

- 网络协议分析:TCP/IP协议族、HTTP、HTTPS、FTP等常用协议的特点及抓包分析技巧。

2. 实践操作:- 抓包工具操作演示:教师现场演示抓包过程,分析数据包结构。

- 学生动手实践:分组进行抓包实验,分析特定协议数据包,识别网络攻击行为。

- 网络问题排查:利用抓包工具进行网络故障排查,分析并解决实际问题。

3. 教学大纲:- 第一课时:计算机网络基础及抓包工具介绍。

- 第二课时:网络协议分析及抓包操作演示。

- 第三课时:学生动手实践,分组进行抓包实验。

计算机网络课程设计报告-IP数据包的捕获与分析

计算机网络课程设计报告-IP数据包的捕获与分析

CENTRAL SOUTH UNIVERSITY计算机网络课程设计报告题目IP数据包的捕获与分析学生姓名廖成班级学号0902130408指导教师穆帅设计时间2015年11月目录第一章绪论 (3)1.1 课题研究背景 (3)1.2 课题研究的意义 (3)第二章课程设计的目的与要求 (3)2.1 课程设计的目的 (3)2.2 课程设计的要求 (4)第三章课程设计的内容 (4)3.1 课程设计的内容 (5)3.2 内容的要求 (5)第四章程序设计与分析 (5)4.1 IP数据包 (5)4.1.1 数据包的格式说明 (5)4.1.2 头部数据结构的定义 (7)4.2 部分程序实现 (7)4.2.1 套接字的使用 (7)4.2.2 数据库的使用 (8)4.2.3 各部分详细实现 (9)4.4 程序流程图 (12)4.4.1 主程序流程图 (12)4.4.2 捕获并分析数据包头部模块流程图 (13)4.4.3 头部信息存数据库模块 (13)第五章实验结果 (14)5.1 程序截图 (14)第六章总结 (16)6.1 实验心得 (16)第七章附录 (17)参考文献 (17)第一章绪论1.1 课题研究背景随着计算机技术的发展,网络的应用迅速普及,网络已日益成为生活中不可或缺的工具。

同时,网络的安全性与可靠性日益受到人们的重视,安全性指的是网络上的信息不被泄露、更改和破坏,可靠性指的是网络系统能够连续、可靠地运行,网络服务不被中断。

网络数据包捕获、监听与分析技术是网络安全维护的一个基础技术同时也是网络入侵的核心手段。

所以研究有关数据包捕获和分析技术对保证网络的健康、安全运行是很有意义的。

1.2课题研究的意义计算机之间进行通信时,交互的所有信息都封装在数据包中。

因此,通过采集网络数据并对其进行相应的分析,可以清楚地了解到进行通信的计算机的通信目的。

通过分析采集到的数据包可以确定网络是否受到入侵;其次也可以通过采集到的数据包来分析应用程序可能出现的问题及原因;此外,通过网络数据的采集和统计可以清楚地了解整个网络在各个时段内的网络负载情况,从而判断网络使用得是否合理。

抓包实验_精品文档

抓包实验_精品文档

实验目的通过使用网路岗抓包工具-iptool软件捕获网络流量,分析数据报结构,从而更加清楚地掌握网络分层的思想,从感性认识飞跃到理性认识。

再通过捕获各个具体协议的通信数据包,一步一步具体分析其实现步骤,更加具体地掌握协议的实现过程。

实验内容任意捕获一个数据包,分析其数据链路层格式、网络层格式和传输层格式,加深学生对计算机网络分层概念的理解。

实验主要仪器和材料一台联网计算机、网路岗抓包工具-iptool软件实验步骤1、打开“网路岗抓包工具-iptool软件”,点击“包过滤”按钮,设置协议过滤仅包含“TCP”,点击“确定”,点击“开始捕包”按钮。

2、开始捕包并获得数据,点击其中一个包,进行分析。

实验结果如下图所示其中序号4、6、7、8、10、11、12为一次会话序号4:SEQ:2374403959 ACK:0序号6:SEQ:1013787468 ACK:2374403960序号7:SEQ:2374403960 ACK:1013787469序号8:SEQ:2374403960 ACK:1013787469序号10:SEQ:1013787469 ACK:2374404845序号11:SEQ:1013787469 ACK:2374404845序号12:SEQ:2374404845 ACK:1013787469下图为原始二进制代码:以下为分析结果:其中MAC header为40 16 9F A1 95 00 6C 62 6D 7D 45 D8 08 00IPV4 header为45 00 00 28 1A 46 40 00 40 06 12 95 C0 A8 01 65 DC B5 6F 32TCP header为C2 17 00 50 8D 86 8A ED 3C 6D 2C 49 50 10 FE 40 60 0C 00 00Destination Address:目的MAC地址Source Address:源MAC地址Version:4 表示IP协议的版本号为4,即IPV4,占4位,Header Length:5(20 Bytes),表示IP包头的总长度为20个字节,该部分占4个位。

计算机网络课程设计IP数据包的捕获与分析.docx

计算机网络课程设计IP数据包的捕获与分析.docx

计算机科学与技术学院课程设计成绩单C+:72~74分C:68~71分C-:64~67分D:60~63分F:<60分武汉科技大学计算机科学与技术学院制表IP数据包捕获与解析程序设计一、需求分析在本次课程设计要求捕获本机网卡的IP包,对捕获的IP包进行解析。

要求输出版本号、总长度、标志位、片偏移、协议、源地址和目的地址七个字段。

要求遵循RFC791的相关IP协议规定,捕获通过本地网卡的IP数据包。

实现对指定数量的IP数据包的捕获过程。

,需要定义好IP数据报等相关的数据结构以对IP数据包的各个字段进行保存,以及该IP数据包的上一层使用的协议名称。

在对IP数据包进行解析时要将捕获的数据流存储在一个缓冲区中。

二、概要设计1.总体流程算法:创建原始套接字并绑定本地网卡,将套接字设置为混杂模式监听网卡并根据输入的数量捕获流经本地的IP包。

IP数据包的格式:NoYes开始创建并初始化原始套接字填充sockaddr_in并绑定socket 设置网卡混杂模式监听网卡捕获和解析IP数据报输出解析字段结束是否达到需要次数IP数据包由首部和数据两部分组成。

首部的前一部分是固定长度,共 20 字节,是所有IP数据报必须具有的。

在首部的固定部分的后面是一些可选字段,其长度是可变的,可选字段之后是数据部分。

其中,首部固定部分中本次课程设计需要解析的各字段的长度及意义如下:(1)版本占4位,指IP协议的版本。

通信双方使用的IP协议版本必须一致。

目前广泛使用的IP协议版本号为4(即IPv4)。

关于IPv6,目前还处于草案阶段。

(2)总长度总长度指首部和数据之和的长度,单位为字节。

总长度字段为16位,因此数据报的最大长度为2^16-1=65535字节。

在IP层下面的每一种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,这称为最大传送单元MTU(Maximum Transfer Unit)。

当一个数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层的MTU值。

网络抓包设计文档

网络抓包设计文档

网络抓包设计文档基于WinPcap的MFC抓包程序设计报告书引言随着网络技术的飞速发展,加速了全球信息化的进程,各种重要数据在网上的传播日益普遍,使得网络安全问题越来越为人们所关注。

网络抓包工具作为一种网络数据监听程序,在网络安全攻防方面扮演了很重要的角色,目前已经有不少抓包工具,譬如在Windows环境下,最富盛名的工具是Netxray、WireShark(原Ethereal)。

网络抓包工具实际上是一把双刃剑,通过使用网络抓包工具,可以把网卡设置于混杂模式,并可实现对网络上传输的数据包的捕获与分析,此分析结果可供网络安全分析之用,也可为黑客发动进一步的攻击提供有价值的信息。

而在网络安全方面,目前使用最广泛的TCP/IP协议存在许多安全缺陷,网络抓包工具可以有效地探测在网络上传输的数据包信息,通过对这些信息的分析是有助于网络安全维护的。

根据《网络安全技术发展分析》一文中的数据,2007年以来网络监听技术出现了新额重要特征,传统的Sniffer技术是被动地监听网络通信、用户名和口令,而新的Sniffer 技术则主动地控制通信数据。

我们通过对网络抓包工具的数据包的捕获与分析功能的进一步了解,才能做到知己知彼,有针对性地获取所需要的信息,利用这些信息进行网络安全分析的网络威胁应对。

因此对网络抓包技术的研究具有重要的意义。

本程序通过分析网络上常用的抓包软件Ethereal,在了解其功能和原理的基础上,以VS2010为开发平台,使用Windows环境下的网络数据包捕获开发库WinPcap,按照软件工程的思想设计了一个抓包程序。

一、概要设计1.1开发环境开发系统选用Windows 7操作系统,并且采用Microsoft Visual Studio2010编译系统,具体环境是微软基础类库MFC,这个类库便于我们构造基于Windows操作系统的窗口程序。

本系统是一个基于对话框的应用程序,并对该对话框添加了按钮控件、树状控件、列表框控件等,同时使用多线程设计,提高程序运行效率。

Wireshark抓包工具计算机网络实验

Wireshark抓包工具计算机网络实验

Wireshark抓包⼯具计算机⽹络实验实验⼀ Wireshark 使⽤⼀、实验⽬的1、熟悉并掌握Wireshark 的基本使⽤;2、了解⽹络协议实体间进⾏交互以及报⽂交换的情况。

⼆、实验环境与因特⽹连接的计算机,操作系统为Windows ,安装有Wireshark 、IE 等软件。

三、预备知识要深⼊理解⽹络协议,需要观察它们的⼯作过程并使⽤它们,即观察两个协议实体之间交换的报⽂序列,探究协议操作的细节,使协议实体执⾏某些动作,观察这些动作及其影响。

这种观察可以在仿真环境下或在因特⽹这样的真实⽹络环境中完成。

Wireshark 是⼀种可以运⾏在Windows, UNIX, Linux 等操作系统上的分组嗅探器,是⼀个开源免费软件,可以从/doc/d2530113af45b307e871976b.html 下载。

运⾏Wireshark 程序时,其图形⽤户界⾯如图2所⽰。

最初,各窗⼝中并⽆数据显⽰。

Wireshark 的界⾯主要有五个组成部分:图1命令和菜单协议筛选框捕获分组列表选定分组⾸部明细分组内容左:⼗六进制右:ASCII 码●命令菜单(command menus):命令菜单位于窗⼝的最顶部,是标准的下拉式菜单。

●协议筛选框(display filter specification):在该处填写某种协议的名称,Wireshark 据此对分组列表窗⼝中的分组进⾏过滤,只显⽰你需要的分组。

●捕获分组列表(listing of captured packets):按⾏显⽰已被捕获的分组内容,其中包括:分组序号、捕获时间、源地址和⽬的地址、协议类型、协议信息说明。

单击某⼀列的列名,可以使分组列表按指定列排序。

其中,协议类型是发送或接收分组的最⾼层协议的类型。

●分组⾸部明细(details of selected packet header):显⽰捕获分组列表窗⼝中被选中分组的⾸部详细信息。

包括该分组的各个层次的⾸部信息,需要查看哪层信息,双击对应层次或单击该层最前⾯的“+”即可。

游戏活动抓包教案

游戏活动抓包教案

游戏活动抓包教案教案标题:游戏活动抓包教案教学目标:1. 了解什么是网络抓包,并理解其在游戏活动中的应用。

2. 学习使用抓包工具来捕获和分析游戏活动中的网络数据包。

3. 能够根据抓包结果进行问题排查和优化,提高游戏活动的性能和用户体验。

教学准备:1. 电脑或移动设备2. 安装好的网络抓包工具,如Wireshark、Fiddler等3. 游戏活动的测试环境或模拟环境教学过程:一、导入(5分钟)1. 引入教学话题,介绍游戏活动抓包的重要性和应用场景。

2. 激发学生的学习兴趣,让他们意识到抓包技术对于游戏活动的优化和问题排查的重要性。

二、理论知识讲解(15分钟)1. 解释什么是网络抓包,以及它的基本原理和作用。

2. 介绍常用的网络抓包工具,如Wireshark和Fiddler,并演示其基本使用方法。

3. 讲解游戏活动中常见的网络通信协议和数据格式,如HTTP、TCP、UDP等。

三、实践操作(30分钟)1. 学生分组或个人操作电脑或移动设备,打开抓包工具,并设置好相关参数。

2. 引导学生打开游戏活动的测试环境或模拟环境,开始进行抓包操作。

3. 学生根据实际情况,选择抓取特定游戏活动的网络数据包,并进行分析和解读。

4. 学生分析抓包结果,找出可能存在的问题和优化点,并提出相关解决方案。

四、总结与展望(10分钟)1. 学生汇报抓包结果和分析过程,分享彼此的经验和发现。

2. 教师总结本节课的教学内容,强调游戏活动抓包技术的重要性和应用前景。

3. 展望下一节课的内容,如如何利用抓包结果进行游戏活动的优化和性能提升。

教学延伸:1. 学生可以尝试在实际游戏活动中应用抓包技术,并进行优化和问题排查。

2. 学生可以自行探索其他网络抓包工具,并比较它们的优缺点。

3. 学生可以研究游戏活动中更高级的网络通信协议和数据格式,如WebSocket、JSON等。

教学评估:1. 教师观察学生在实践操作中的表现,包括设置抓包工具、抓取网络数据包的准确性和分析结果的合理性。

计算机网络课程设计--端口检测及IP包的捕获解析

计算机网络课程设计--端口检测及IP包的捕获解析

计算机网络课程设计报告题目端口检测及IP包的捕获解析学生姓名班级学号指导教师设计时间第一节实验平台和器材准备 (1)1.2 实验平台 (1)第二节需求分析 (1)2.1 实验要求 (1)2.1.1 基本要求 (1)2.1.3 详细功能要求 (1)第三节、概要设计 (1)3.1 端口监听 (1)3.2 IP包的捕获与解析 (2)第四节详细设计 (3)4.1端口监听程序框图 (3)4.2端口监听关键代码 (3)4.2 IP包捕获与解析程序框图 (4)4.2.1 写日志函数 (4)4.2.1 IP包捕获与分析 (5)第五节实验结果分析 (9)5.1 实验结果展示 (9)5.1.1 端口监听 (9)5.1.2 IP包的捕获与解析析 (11)5.1 实验结果分析 (12)5.1.1 端口监听 (12)5.1.2 IP包的捕获与解析 (13)第六节错误调试 (14)6.1 数据库连接错误 (14)6.1.1 解决方案 (14)6.2 POST乱码解决方式 (15)6.2.1 错误表现 (15)6.2.2解决方案 (15)6.3 Socket连接错误 (16)6.3.1 错误表现 (16)6.3.2产生错误的原因 (16)6.3.3 解决方式 (16)第八节实验总结 0第九节参考资料 (1)附件: (2)第一节实验平台和器材准备1.2 实验平台第二节需求分析2.1 实验要求2.1.1 基本要求本次实验的要求在网络环境,实现端口检测以及捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。

2.1.3 详细功能要求l)实现本机以及局域网内计算机的端口监控。

2)在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。

3)形成记录结果的日志文件。

第三节、概要设计3.1 端口监听创建一个服务器s,依次开放0—65535间所有的端口,当开放过程抛出IO流异常e,并且e是.BindException的一个实例时,输出该端口被占用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告课程:计算机通信与网络题目:网络流量解析程序的实现学号:姓名:一、任务描述 (3)二、win dump的安装和使用 (3)三、win dump文件格式 (3)四、程序实现 (6)(1)算法() (6)(2)编码中的关键问题 (6)(3)头文件 (6)(4)源文件 (7)五、总结 (10)一、任务描述编写一个网络流量解析程序输入:由“ Win dump- W抓取的二进制流量文件输出:文件中所有IP报文主要字段的信息时间戳源IP目的IP高层协议总长度二、windump的安装和使用(一)找到windump官方网站(二)下载同一版本的winpcap和windump (三)先安装win dump动态链接库(四)Win dump是个命令行程序三、win dump文件格式抓取的每个链路层帧都被附加16字节的数据包头,其中8~11是帧在文件中的存储长度或抓取长度,12~15则是该帧的实际长度(按照编程的习惯,从0开始数)。

由于抓取的时候可能发生截取,两个值可能不一致,使用-s 0抓取的话,两个值相同。

假设第一个数据包头的8~11字节是60 00 00 00 (十六进制),当读取顺序为“D4 C3 B2 A1”时,表示整数值0X00 00 00 60,即十进制数96。

则意味着从40字节开始的96个字节是第一个帧的抓取。

链路层数据的1273字节=0X0800IP数据报首咅13数据部分IP数据报四、程序实现(1)算法()解析程序的算法流程(2)编码中的关键问题如何读取二进制文件,如何输出文本文件如何将二进制数据以十进制形式输出(3)头文件#in clude<iostream>#in clude<fstream>(4)源文件#in clude<iostream>#in clude<fstream>using n amespace std;int read(){ ifstream inf(” f3.dat",ios::b in ary);if(!i nf){cout<<"ca n't ope n in put file\n,";exit(1);}char ch;int coun t=0;int c=0;int n=0;int p=0;int i=0;int s=24;int w=0;un sig ned char m;un sig ned char b;//in f.seekg(54,ios::beg);ofstream out;out.ope n( "e:\\test.txt");for(i=0;i<10;i++){in f.seekg(s+8,ios::beg);in f.get(ch);b=ch;int a=(i nt)b;cout<<"数据包长度"<<endl;out<<"数据包长度"<<'';cout<<a<<e ndl;w=a;in f.seekg(s+30,ios::beg);out<<a<<' '<<e ndl;〃system("pause");//in f.get(ch);b=ch;a=(i nt)b;cout<<a<<e ndl; in f.get(ch);b=ch;m=b>>4;a=(i nt)m;cout<<"版本"<<a<<e ndl;out<<"版本"<<a<<endl;b=ch;m=b&15;a=(i nt)m;cout<<"首部长度"<<a<<endl;out<<"首部长度"<<a<<endl;in f.get(ch);b=ch;a=(i nt)b;cout<<"区分服务"<<a<<endl;out<<"区分服务"<<a<<endl;in f.get(ch);b=ch;a=(i nt)b*16*16;in f.get(ch);b=ch;c=(i nt)b;n=c+a;cout<<"总长度"<<n<<endl;out<<"总长度"<<n<<endl;in f.get(ch);b=ch;a=(i nt)b*16*16;in f.get(ch);b=ch;c=(i nt)b;n=c+a;cout<<"标识"<<n<<endl;out<<"标识"<<n<<endl;in f.get(ch);b=ch;m=b>>4;a=(i nt)m;cout<<"标志"<<a<<endl;out<<"标志"<<a<<e ndl;in f.get(ch);in f.get(ch);b=ch;a=(i nt)b;cout<<"生存时间"<<a<<endl;out<<"生存时间"<<a<<endl;in f.get(ch);b=ch;a=(i nt)b;cout<<"协议"<<a<<endl;out<<"协议"<<a<<endl;in f.get(ch);b=ch;c=(i nt)b*16*16;in f.get(ch);b=ch;a=(i nt)b;n=a+c;cout<<"首部校验和"<<n<<endl;out<<"首部校验和"<<n<<endl;in f.get(ch);b=ch;a=(i nt)b;in f.get(ch);b=ch;c=(i nt)b;in f.get(ch);b=ch;n=(i nt)b;in f.get(ch);b=ch;p=(i nt)b;cout<<"源地址"<<a<<'.'<<c<<'.'<<n<<'.'<<p<<endl; out<<"源地址"<<a<<'.'<<c<<'.'<<n<<'.'<<p<<endl; in f.get(ch);b=ch;a=(i nt)b;in f.get(ch);b=ch;c=(i nt)b;in f.get(ch);b=ch;n=(i nt)b;in f.get(ch);b=ch;p=(i nt)b;cout<<"目的地址"<<a<<'.'<<c<<'.'<<n<<'.'<<p<<endl;out<<"目的地址"<<a<<'.'<<c<<'.'<<n<<'.'<<p<<endl<<endl<<endl<<endl<<endl; s=s+16+w;}in f.close();return 0;}int mai n(){ cout<<"解析数据包"<<endl;getchar();read();return 0;}五、总结通过这次实验对网络中的数据包有了新的认识,了解了数据链路层帧的格式,以及帧头的14个字节分别是什么和IP数据包头的结构。

其次对win dump软件的操作更加熟悉,能够根据抓来的流量进行详细的分析。

在将解析好的IP数据报存入文件中时,由于存在非IP数据报使得大量的IP[]数组浪费同时也使得读出IP 数据报的文件中有异常数据(体现在空数组的初始化)。

由于是单个字节的读入二进制文件,所以程序并未实现将文件的所有内容一次性都读入内存而是采取认为的选定长度,而数据报的解析通样是使用人为的输入解析个数来惊喜解析,这使得程序的功能不是那么强大、完整。

相关文档
最新文档