计算机网络抓包课程设计

合集下载

计算机网络课程设计---基于Wireshark的网络数据包内容解析

计算机网络课程设计---基于Wireshark的网络数据包内容解析

基于Wireshark的网络数据包内容解析摘要本课程设计是利用抓包软件Wireshark,对网络服务器与客户端进行网络数据收发过程中产生的包进行抓取,然后对所抓取的包进行分析,并结合的协议进行分析,达到了解各种数据包结构的目的。

设计过程中对各种包进行抓取分析,各种包之间比较,了解每种包的传输过程与结构,通过本次课程设计,能很好的运用Wireshark对数据包分析和Wireshark各种运用,达到课程设计的目的。

关键词IP协议;TCP协议;UDP协议;ARP协议;Wireshark;计算机网络;1 引言本课程设计主要是设计一个基于Wireshark的网络数据包内容解析,抓取数据包,然后对所抓取的包进行分析,并结合的协议进行分析,达到了解各种数据包结构的目的1.1 课程设计目的Wireshark是一个网络封包分析软件。

可以对网络中各种网络数据包进行抓取,并尽可能显示出最为详细的网络封包资料,计算机网络课程设计是在学习了计算机网络相关理论后,进行综合训练课程,其目的是:1.了解并会初步使用Wireshark,能在所用电脑上进行抓包;2.了解IP数据包格式,能应用该软件分析数据包格式。

1.2 课程设计要求(1)按要求编写课程设计报告书,能正确阐述设计结果。

(2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。

(3)学会文献检索的基本方法和综合运用文献的能力。

(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

1.3 课程设计背景一、Wireshark(前称Ethereal)是一个网络封包分析软件。

网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。

网络封包分析软件的功能可想像成 "电工技师使用电表来量测电流、电压、电阻" 的工作 - 只是将场景移植到网络上,并将电线替换成网络线。

在过去,网络封包分析软件是非常昂贵,或是专门属于营利用的软件。

第8章 网络抓包实训

第8章 网络抓包实训

传输层协议及报文格式 传输层的主要协议 传输层端口的含义 TCP报文段格式 UDP报文段格式
8.3传输层协议及报文格式



传输层位于OSI七层模型中的第四层; 传输层协议为运行在不同主机上的应用进程 之间提供了逻辑通信; 传输层的主要功能就是提供端到端的服务。
8.3.1 传输层的主要协议



8.1.4 以太网帧格式



数据在网络上是以帧为单位进行传输的,帧 是通过数据链路层(二层)协议封装而成的 。以太网技术属于一种数据链路层技术。 确切地说,相邻两个节点的传输是以帧为单 位传输的,帧由相邻两个节点中的发送方封 装的,由接收方解封装。 发送方在封装帧时,需要指定目的MAC地址 ,并填写自己的MAC地址到源地址,指明上 层协议类型,把网络层传递下来的IP数据包 全部放入数据段,并计算出CRC校验和,才 能创建一个数据帧。
8.1.4 以太网帧格式



数据字段:帧所携带的数据载荷(来自上一层IP 分组)。以太网的最大传输单元(MTU)是1500 字节,如果一个IP数据包长度超过1500字节,就 必须将该IP数据包分组,帧的最大长度规定为 1518字节。 填充域字段:帧的最短长度规定为64字节,这就 要求“数据字段”的最小长度是46字节。如果IP 数据包小于46个字节,将被填充到46字节。 CRC字段:CRC,即循环冗余校验(Cyclic Redundancy Check),CRC字段的目的是允许接 收方适配器检测数据帧是否存在差错。
8.3.2 传输层端口的含义


由于同一台机器上可能会运行多个网络应用 程序,计算机需要确保目标计算机上接收源 主机数据包的软件应用程序的正确性 确保源主机的应用程序进程也能够正确响应 目标主机的回复。 该过程是通过使用TCP 或 UDP 端口号来实 现的。

ip抓包课程设计

ip抓包课程设计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

《计算机网络基础及应用》 实训文档 第6章 UDP协议抓包实践

《计算机网络基础及应用》 实训文档 第6章 UDP协议抓包实践

实验6-2 UDP协议抓包实践一、实验目的(1)理解UDP数据包格式(2)掌握通过抓包软件抓取UDP数据包并进行分析的办法二、相关理论与TCP不同,UDP协议并不提供数据传送的保证机制。

如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。

因此,通常人们把UDP 协议称为不可靠的传输协议。

相对于TCP协议,UDP协议的另外一个不同之处在于如何接收突发性的多个数据报。

不同于TCP,UDP并不能确保数据的发送和接收顺序。

三、实验内容(1)使用Wireshark软件抓取指定UDP数据包。

(2)对抓取的数据包按协议格式进行各字段含义的分析四、实验步骤(1)打开Wireshark,选择网卡,开启抓包功能。

(2)利用QQ向好友发送任意信息。

然后进入到Wireshark停止抓包。

(3)如果抓取的数据包比较多,在“过滤器”中输入“OICQ”(QQ在应用层使用的协议是OICQ),点击“应用”便可筛选出QQ通信的数据包,如图6-31所示。

图6-31 Wireshark抓包筛选后内容(4)点击第一条数据,可以在数据包封装明细区中看到数据包在传输层使用的UDP的协议。

点开“User Datagram Protocol”前面的“+”,可以看到UDP协议的详细信息,请填写各行代码含义。

User Datagram Protocol, Src Port: terabase (4000), Dst Port: irdmi (8000) //状态行Source port: terabase (4000) //__________________________________ Destination port: irdmi (8000) //__________________________________Length: 47 //UDP数据包长度为______字节,由于头部长度为8字节,因此UDP数据区长度为____字节Checksum: 0x9deb [validation disabled] //____________Good Checksum: FalseBad Checksum: False注:Wireshark软件为了节约时间和资源,对TCP和UDP的校验和没有进行精确计算,只提供了近似值,故为[validation disabled]。

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

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

CENTRAL SOUTH UNIVERSITY计算机网络课程设计报告目录第一章课程设计的目的与要求 ........................... 错误!未定义书签。

1.1 课程设计的目的 .................................... 错误!未定义书签。

1.2 课程设计的要求 (1)第二章课程设计的内容 (3)2.1 课程设计的内容 (3)2.2 内容的要求 (3)第三章程序分析与设计 (4)3.1 IP数据包 (4)3.1.1 IP数据包的格式说明 (4)3.1.2 IP数据包的格式 (4)3.1.3 IP数据包的C++定义 (5)3.1.4 IP数据包的解析 (6)3.2 套接字 (7)3.1.4 套接字的使用 (7)3.1.4 使用原始套接字 (7)3.3 接受数据包 (7)第四章实验结果 (10)4.1 程序截图 (10)第五章总结 (11)5.1 实验心得 (11)第六章附录 (12)6.1 源代码 (12)第一章课程设计的目的与要求1.1 课程设计的目的计算机网络课程设计的目的,是为了让学生更深入地掌握计算机网络的核心内容,实现理论与实践相结合。

让学生用具体的实践成果,体现对理论知识的掌握程度。

有利于学生提高计算机网络的实践能力,加深对计算机网络理论知识的理解。

1.2 课程设计的要求(1)编写程序,实现系统的基本功能,鼓励自行增加新功能;(2)要有用户界面:要求至少采用文本菜单界面;鼓励采用图形菜单界面;(3)写课程设计报告,内容包括:●封面(参见附录I)●需求分析:以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?给出功能模块图和流程图。

同时明确规定:输入的形式和输出值的范围;输出的形式;程序所能够达到的功能;测试数据,包括正确的输入及其输出结果和含有错误的输入及其输出结果。

●概要设计:包括程序设计组成框图,程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。

计算机网络抓包实验报告

计算机网络抓包实验报告

电子商务应用开发技术实验报告实验报告二课程计算机网络开课实验室日期2013 年 4 月 22 日实验项目学号1040407105利用Wireshark进行抓包分析名称学院经济管理学院指导教师王斌成绩教师评语一:实验目的利用 Wireshark 二:实验内容:教师签名:年月日进行抓包分析,对以前学习过的内容进行进一步的理解和掌握1、安装Wireshark,简单描述安装步骤。

2、打开wireshark,选择接口选项列表。

或单击“Capture”,配置“option”选项。

3、设置完成后,点击“ start”开始抓包,显示结果。

4、选择某一行抓包结果,双击查看此数据包具体结构,并对其进行分析三.实验步骤实验项目学号1040407105利用Wireshark进行抓包分析名称上面的截图是抓取到的包,下面分别针对其中的一个TCP, UDP和 ICMP进行分析1. TCPTCP :Transmission Control Protocol 的、可靠的、基于字节流的运输层(传输控制协议TCP 是一种面向连接(连接导向)Transport layer)通信协议,由IETF 的 RFC 793说明( specified)。

在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。

在因特网协议族(Internet protocol suite)中,TCP层是位于IP 层之上,应用层之下的中间层。

不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP 层不提供这样的流机制,而是提供不可靠的包交换。

应用层向TCP 层发送用于网间传输的、用8 位字节表示的数据流,然后TCP 把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU) 的限制)。

之后 TCP 把结果包传给 IP 层,由它来通过网络将包传送给接收端实体的TCP 层。

TCP 为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。

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. 教师观察学生在实践操作中的表现,包括设置抓包工具、抓取网络数据包的准确性和分析结果的合理性。

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

课程设计报告课程:计算机通信与网络题目:网络流量解析程序的实现学号:姓名:一、任务描述 (3)二、windump的安装和使用 (3)三、windump文件格式 (3)四、程序实现 (6)(1)算法() (6)(2)编码中的关键问题 (6)(3)头文件 (6)(4)源文件 (7)五、总结 (10)一、任务描述编写一个网络流量解析程序输入:由“Windump –W ”抓取的二进制流量文件输出:文件中所有IP 报文主要字段的信息时间戳 源IP 目的IP 高层协议 总长度二、windump 的安装和使用(一)找到windump 官方网站(二)下载同一版本的winpcap 和windump(三) 先安装windump 动态链接库(四)Windump 是个命令行程序三、windump 文件格式数据包头 链路层数据 数据包头 链路层数据 文件头 24字节,并且前4个字节是“A1 B2 C3 D4”或“D4 C3 B2 A1”,用来标识数据包头中的多字节整数的读取顺序是顺着读或倒着读。

数据包头 链路层数据数据包头 链路层数据 文件头抓取的每个链路层帧都被附加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个字节是第一个帧的抓取。

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

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

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

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

相关文档
最新文档