计算机网络实验

合集下载

实验2_北航研究生计算机网络实验

实验2_北航研究生计算机网络实验

实验2_北航研究生计算机网络实验计算机网络实验是计算机科学与技术专业研究生研究生的一门重要实践课程。

本文将介绍一种常见的北航研究生计算机网络实验,包括实验概述、实验目的、实验步骤和实验结果分析。

一、实验概述本实验旨在通过搭建一个简单的计算机网络,让学生了解计算机网络的基本概念和原理,并掌握计算机网络的基本配置和管理技术。

具体而言,本实验要求学生利用虚拟机软件搭建一个局域网,并配置相应的网络地址和路由器,实现不同网络节点之间的通信。

二、实验目的1.了解计算机网络的基本概念和原理;2.掌握计算机网络的基本配置和管理技术;3.学会使用虚拟机软件搭建计算机网络。

三、实验步骤2.配置虚拟机的网络适配器,将其设置为桥接模式;3.为每个虚拟机配置网络地址,包括IP地址、子网掩码和默认网关;4.配置一个路由器,并设置路由表,以实现虚拟机之间的通信;5. 在每个虚拟机上配置网络服务和应用程序,比如DHCP服务和Web服务器;6.运行虚拟机,并测试各个虚拟机之间的通信。

四、实验结果分析1.通过虚拟机软件的桥接模式,可以实现虚拟机和物理主机之间的通信;2.配置网络地址和路由表后,虚拟机之间可以实现跨网段的通信;3.通过配置网络服务和应用程序,可以实现不同虚拟机之间的网络服务和应用程序的访问。

以上是一种常见的北航研究生计算机网络实验的简要介绍。

通过完成这个实验,学生能够深入了解计算机网络的基本原理和技术,并实际操作搭建一个计算机网络,加深对计算机网络的理解。

这种实验方法不仅能够提高学生的实践能力,还能够培养学生的团队合作精神和问题解决能力,对学生的学习和就业都有很大的帮助。

计算机网络实验2报告

计算机网络实验2报告

计算机网络实验2报告一、实验目的本次计算机网络实验 2 的主要目的是深入了解和掌握计算机网络中的相关技术和概念,通过实际操作和实验分析,提高对计算机网络的理解和应用能力。

二、实验环境本次实验在学校的计算机实验室进行,使用的操作系统为 Windows 10,实验中所用到的软件和工具包括 Wireshark 网络协议分析工具、Packet Tracer 网络模拟软件等。

三、实验内容与步骤(一)网络拓扑结构的搭建使用 Packet Tracer 软件搭建了一个简单的星型网络拓扑结构,包括一台交换机、四台计算机和一台服务器。

为每台设备配置了相应的 IP 地址、子网掩码和网关等网络参数。

(二)网络协议分析1、启动 Wireshark 工具,选择对应的网络接口进行抓包。

2、在网络中进行文件传输、网页浏览等操作,观察 Wireshark 捕获到的数据包。

3、对捕获到的数据包进行分析,包括数据包的源地址、目的地址、协议类型、数据长度等信息。

(三)网络性能测试1、使用 Ping 命令测试网络中不同设备之间的连通性和延迟。

2、通过发送大量数据包,测试网络的带宽和吞吐量。

四、实验结果与分析(一)网络拓扑结构搭建结果成功搭建了星型网络拓扑结构,各设备之间能够正常通信,IP 地址配置正确,网络连接稳定。

(二)网络协议分析结果1、在文件传输过程中,观察到使用的主要协议为 TCP 协议,数据包有序且可靠地传输。

2、网页浏览时,发现涉及到 HTTP 协议的请求和响应,包括获取网页内容、图片等资源。

(三)网络性能测试结果1、 Ping 命令测试结果显示,网络中设备之间的延迟较低,均在可接受范围内,表明网络连通性良好。

2、带宽和吞吐量测试结果表明,网络能够满足一般的数据传输需求,但在大量数据并发传输时,可能会出现一定的拥塞现象。

五、实验中遇到的问题及解决方法(一)IP 地址配置错误在配置设备的 IP 地址时,出现了部分设备 IP 地址冲突的问题,导致网络通信异常。

计算机网络实验报告(6篇)

计算机网络实验报告(6篇)

计算机网络实验报告(6篇)计算机网络实验报告(通用6篇)计算机网络实验报告篇1一、实验目的1、熟悉微机的各个部件;2、掌握将各个部件组装成一台主机的方法和步骤;3、掌握每个部件的安装方法;4、了解微型计算机系统的基本配置;5、熟悉并掌握DOS操作系统的使用;6、掌握文件、目录、路径等概念;7、掌握常用虚拟机软件的安装和使用;8、熟悉并掌握虚拟机上WINDOWS操作系统的安装方法及使用;9、掌握使用启动U盘的制作和U盘安装windows操作系统的方法;10、了解WINDOWS操作系统的基本配置和优化方法。

二、实验内容1.将微机的各个部件组装成一台主机;2.调试机器,使其正常工作;3.了解计算机系统的基本配置。

4.安装及使用虚拟机软件;5.安装WINDOWS7操作系统;6.常用DOS命令的使用;7.学会制作启动U盘和使用方法;8.WINDOWS7的基本操作;9.操作系统的基本设置和优化。

三、实验步骤(参照实验指导书上的内容,结合实验过程中做的具体内容,完成此项内容的撰写)四、思考与总结(写实验的心得体会等)计算机网络实验报告篇2windows平台逻辑层数据恢复一、实验目的:通过运用软件R-Studio_5.0和winhe_对误格式化的硬盘或者其他设备进行数据恢复,通过实验了解windows平台逻辑层误格式化数据恢复原理,能够深入理解并掌握数据恢复软件的使用方法,并能熟练运用这些软件对存储设备设备进行数据恢复。

二、实验要求:运用软件R-Studio_5.0和winhe_对电脑磁盘或者自己的U盘中的删除的数据文件进行恢复,对各种文件进行多次尝试,音频文件、系统文件、文档文件等,对简单删除和格式化的磁盘文件分别恢复,并检查和验证恢复结果,分析两个软件的数据恢复功能差异与优势,进一步熟悉存储介质数据修复和恢复方法及过程,提高自身的对存储介质逻辑层恢复技能。

三、实验环境和设备:(1)Windows _P 或Windows 20__ Professional操作系统。

计算机网络实验一 etherreal实验

计算机网络实验一 etherreal实验

计算机网络实验一 etherreal实验计算机网络实验是培养学生实践能力、加强理论与实际应用结合的重要环节。

在计算机网络实验一中,我们将学习使用网络数据包分析工具Etherreal(现在已更名为Wireshark),通过捕获、分析和解释网络数据包的内容,加深对计算机网络协议的理解。

通过这个实验,我们还可以进一步掌握计算机网络数据传输的过程,提升网络安全意识和问题排查能力。

实验目的通过Etherreal实验,我们的目的是:1. 学会使用Etherreal工具分析网络数据包;2. 理解网络协议的数据传输过程;3. 掌握网络故障排查方法;4. 加深对计算机网络的理论知识的理解和应用。

实验准备工作在进行Etherreal实验之前,我们需要完成以下准备工作:1. 下载并安装Wireshark软件,确保能够正常运行;2. 确保测试环境网络连接正常,可以正常访问互联网;3. 准备测试数据包,可以通过网络请求、网络攻击等方式生成。

实验步骤1. 启动Wireshark软件,并选择适当的网络接口进行捕获;2. 开始捕获网络数据包,观察网络数据的传输过程;3. 选择一个数据包,分析其详细信息,包括源IP地址、目的IP地址、协议类型等;4. 结合协议标准和通信过程,解释数据包中各字段的含义;5. 可以根据需要设置过滤器,只显示指定类型或目的地址的数据包;6. 分析网络数据包中是否存在异常情况,如网络攻击、传输错误等;7. 掌握Wireshark软件的高级功能,如统计分析、流量图表等。

实验注意事项在进行Etherreal实验时,注意以下事项:1. 合理使用Wireshark软件,避免捕获过多数据包导致系统负荷过大;2. 尽量使用模拟环境进行实验,避免对实际网络环境造成干扰;3. 注意数据包中的私密信息(如密码、身份证号等)的保护;4. 注意网络数据包分析工具的合法使用,遵守相关法律法规;5. 实验结束后,清理实验环境,确保不留下任何安全隐患。

计算机网络实验四_路由器的配置

计算机网络实验四_路由器的配置

计算机网络实验四_路由器的配置在当今数字化的时代,计算机网络成为了信息传递和资源共享的重要基础设施。

而路由器作为网络中的关键设备,其正确配置对于保障网络的高效运行和数据的安全传输起着至关重要的作用。

在本次计算机网络实验四中,我们将深入探究路由器的配置过程及相关原理。

路由器是一种连接多个网络或网段的网络设备,它能将不同网络之间的数据进行转发,并根据设定的规则选择最佳的路径。

要实现这一功能,我们需要对路由器进行一系列的配置操作。

首先,准备工作必不可少。

在开始配置之前,我们需要确保拥有以下物品:一台路由器设备、用于连接路由器的网线、一台配置终端(可以是计算机)以及相关的配置软件(如 SecureCRT 等)。

接下来,我们通过网线将配置终端与路由器的控制台端口(Console 口)连接起来。

打开配置软件,设置好相应的参数,如波特率、数据位、停止位等,以便能够与路由器进行通信。

登录到路由器后,我们首先要进入特权模式。

在特权模式下,我们拥有更高的权限来进行各种配置操作。

输入“enable”命令,然后输入特权密码(如果设置了的话),即可进入特权模式。

进入特权模式后,接下来就是配置路由器的基本参数。

其中,最重要的是为路由器设置主机名。

一个清晰易记的主机名有助于我们在管理多个路由器时进行区分。

通过“hostname 路由器名称”命令,我们可以为路由器赋予一个独特的名称。

然后是设置路由器的密码。

为了保证路由器的安全性,我们需要设置登录密码。

可以分别设置控制台密码、特权密码和虚拟终端密码。

控制台密码用于通过控制台端口登录时的验证,虚拟终端密码用于通过 Telnet 方式远程登录时的验证。

在网络配置方面,我们需要为路由器的接口分配 IP 地址。

路由器的接口通常分为局域网接口(LAN 口)和广域网接口(WAN 口)。

对于 LAN 口,我们要根据所在网络的网段为其分配一个合适的 IP 地址,并设置子网掩码。

对于 WAN 口,如果是通过静态 IP 方式接入互联网,则需要手动设置运营商提供的 IP 地址、子网掩码、网关和 DNS 服务器地址;如果是通过动态 IP 方式接入(如常见的家庭宽带),则可以让路由器自动获取这些参数。

网络安全实验报告[共五篇]

网络安全实验报告[共五篇]

网络安全实验报告[共五篇]第一篇:网络安全实验报告实验一:网络扫描实验【实验目的】了解扫描的基本原理,掌握基本方法,最终巩固主机安全【实验内容】1、学习使用Nmap的使用方法2、学习使用漏洞扫描工具【实验环境】1、硬件 PC机一台。

2、系统配置:操作系统windows XP以上。

【实验步骤】1、端口扫描1)解压并安装ipscan15.zip,扫描本局域网内的主机2)解压nmap-4.00-win32.zip,安装WinPcap运行cmd.exe,熟悉nmap命令(详见“Nmap详解.mht”)。

3)试图做以下扫描:扫描局域网内存活主机,扫描某一台主机或某一个网段的开放端口扫描目标主机的操作系统试图使用Nmap的其他扫描方式,伪源地址、隐蔽扫描等2、漏洞扫描解压X-Scan-v3.3-cn.rar,运行程序xscan_gui.exe,将所有模块选择扫描,扫描本机,或局域网内某一台主机的漏洞【实验背景知识】1、扫描及漏洞扫描原理见第四章黑客攻击技术.ppt2、NMAP使用方法扫描器是帮助你了解自己系统的绝佳助手。

象Windows 2K/XP 这样复杂的操作系统支持应用软件打开数百个端口与其他客户程序或服务器通信,端口扫描是检测服务器上运行了哪些服务和应用、向Internet或其他网络开放了哪些联系通道的一种办法,不仅速度快,而且效果也很不错。

Nmap被开发用于允许系统管理员察看一个大的网络系统有哪些主机以及其上运行何种服务。

它支持多种协议的扫描如UDP,TCP connect(),TCP SYN(half open), ftp proxy(bounce attack),Reverse-ident, ICMP(ping sweep), FIN, ACK sweep,Xmas Tree, SYN sweep,1 和Null扫描。

可以从SCAN TYPES一节中察看相关细节。

Nmap还提供一些实用功能如通过tcp/ip来甄别操作系统类型、秘密扫描、动态延迟和重发、平行扫描、通过并行的PING侦测下属的主机、欺骗扫描、端口过滤探测、直接的RPC扫描、分布扫描、灵活的目标选择以及端口的描述。

计算机网络综合实验报告参考5篇

计算机网络综合实验报告参考5篇计算机网络综合实验报告参考 (1) ××大学校园网解决方案一、需求分析建设一个以办公自动化、计算机辅助教学、现代计算机校园文化为核心,以现代网络技术为依托,技术先进、扩展性强、能覆盖全校主要楼宇的校园主干网络,将学校的各种pc机、工作站、终端设备和局域网连接起来,并与有关广域网相连,在网上宣传自己和获取Internet网上的教育资源。

形成结构合理,内外沟通的校园计算机系统,在此基础上建立满足教学、研究和管理工作需要的软硬件环境,开发各类信息库和应用系统,为学校各类人员提供充分的网络信息服务。

系统总体设计将本着总体规划、分步实施的原则,充分体现系统的技术先进性、高度的安全可靠性,同时具有良好的开放性、可扩展性、冗余性。

本着为学校着想,合理使用建设资金,使系统经济可行。

具体包括下以几个方面:1、内网络能够高速访问FTP服务器现在或上传文件实现资源共享功能,实现对不同类型的用户划分不同的权限,限制不同类型的用户只能访问特定的服务资源。

可以下载和上传资料文件,访问速度可以对指定的用户进行级别的划分。

2、建设Web服务器对外实现信息发布,对内实现教学教务管理。

网站发布学校新闻、通知、学校的活动等相关内容。

实现学生能够在网上进行成绩查询、网上报名、网上评教等功能;以及教师的信息查询、教学数据上传等。

3、建设邮件服务器以满足校园内部之间和内、外网这间的大量邮件传输的需求。

4、实现内网划分多个VLAN,实现校园内不同校区,不同楼宇,不同楼层的多客户接入。

5、内部实现PC间实现高速互访,同时可以访问互联网。

网络内同一IP段内的PC机可以通过网上邻居实现高速互访,传送资料文件等,解决不同楼宇,不同楼层之间通过移动存储设备传送数据费时、费力的问题。

6、内部用户的QoS管理,实现用户的分级管理功能,对用户下载和上传做相应的带宽限制。

对校园网络中的流量实现有效控制,对校园内的重要数据量可靠、稳定的传输如:语音、视频会议等的延迟和阻塞的敏感。

计算机网络实验报告-USTC

计算机网络实验报告-USTC 计算机网络实验报告USTC一、实验目的本次计算机网络实验旨在深入理解计算机网络的基本原理和关键技术,通过实际操作和观察,提高对网络协议、网络拓扑结构、网络性能优化等方面的认识和实践能力。

二、实验环境实验在USTC的计算机网络实验室进行,使用了以下硬件和软件设备:1、计算机:若干台配置相同的台式计算机,具备以太网接口和无线网卡。

2、网络设备:交换机、路由器、防火墙等。

3、操作系统:Windows 10 和 Linux(Ubuntu)。

4、网络模拟软件:Packet Tracer、Wireshark 等。

三、实验内容1、网络拓扑结构的搭建与分析使用 Packet Tracer 软件搭建了星型、总线型、环形和树形等常见的网络拓扑结构。

对不同拓扑结构的特点进行了分析,包括可靠性、扩展性、传输效率等方面。

通过模拟数据传输,观察了网络拥塞、冲突等现象,并分析了其原因和解决方法。

2、 IP 地址配置与子网划分在 Windows 和 Linux 操作系统中,手动配置了 IP 地址、子网掩码、网关和 DNS 服务器。

学习了子网划分的原理和方法,通过划分不同大小的子网,提高了网络地址的利用率。

使用 Ping 命令和网络扫描工具,测试了网络的连通性和可达性。

3、网络协议分析利用 Wireshark 软件捕获网络数据包,对 TCP、UDP、ICMP 等常见协议的数据包格式和字段进行了分析。

观察了协议的三次握手和四次挥手过程,理解了连接建立和释放的机制。

分析了网络中的广播、组播和单播通信方式,以及它们在不同应用场景中的优缺点。

4、网络性能优化调整了网络参数,如缓冲区大小、MTU 值等,观察对网络性能的影响。

实施了流量控制和拥塞控制策略,如滑动窗口机制、慢启动算法等,提高了网络的传输效率和稳定性。

对网络中的丢包、延迟和带宽利用率等性能指标进行了监测和分析,提出了相应的优化建议。

四、实验步骤1、网络拓扑结构搭建打开 Packet Tracer 软件,选择所需的网络设备和线缆。

实验2_北航研究生计算机网络实验

实验2_北航研究生计算机网络实验引言:计算机网络实验是计算机网络课程中非常重要的一部分。

通过实验,可以加深对计算机网络原理和协议的理解,并且提高实践能力。

在北航研究生计算机网络实验中,实验2是一个关于网络通信的实验,本文将对该实验进行详细描述和分析。

一、实验目的1.通过实验深入了解网络通信原理和实现;2.熟悉并掌握网络通信调试工具的使用方法;3.通过实验提高网络故障排查和修复的能力。

二、实验内容本次实验的内容是使用网络通信技术完成一个具体任务。

实验使用的工具是Wireshark,这是一款常用的网络抓包分析软件。

学生需要在虚拟机上模拟网络环境,并且使用Wireshark工具对网络通信进行抓包和分析。

实验的具体步骤如下:1.准备实验环境:使用虚拟机软件搭建网络环境,一般使用VMware Workstation或VirtualBox软件;2.配置网络参数:为虚拟机配置IP地址、网关地址、子网掩码等网络参数;3.设置Wireshark:在虚拟机上安装Wireshark软件,并进行基础的配置;4.抓包分析:使用Wireshark对网络通信进行抓包,并对抓包结果进行分析;5.故障排查和修复:根据抓包结果分析,定位网络故障的原因,并进行相应的修复。

三、实验结果与分析进行实验后,我们得到了一份Wireshark的抓包结果。

通过对抓包结果的分析,我们可以得到以下结论:1.网络通信存在问题,通信过程中有大量的丢包和重传;2.网络延迟较高,造成通信速度较慢;3.一些数据包在传输过程中被篡改。

根据以上结论,我们可以推断网络通信存在以下问题:1.网络链路质量差,导致数据包丢失和重传;2.网络带宽不足,导致通信速度较慢;3.网络安全问题,导致数据包被篡改。

为了解决以上问题,我们可以尝试以下解决方案:1.改善网络链路质量,可以通过替换网线、调整网络设备位置等方式改善网络信号质量;2.增加网络带宽,可以通过升级网络设备或增加网络带宽来提高通信速度;3.加强网络安全防护,可以使用防火墙软件、数据包加密等方式来防止数据包被篡改。

《计算机网络实验》课件

实验步骤
安装并配置协议分析工具、启动捕获、观察数据包内容、分析协 议交互过程。
实验数据
捕获的数据包文件,可以通过Wireshark等工具进行查看和分析 。
实验结果与总结
结果展示
通过图表、表格等形式展示实验结果,如数据包 数量、协议分布等。
结果分析
根据实验结果,分析不同协议在网络传输中的作 用和性能特可用性和不可否认性。
网络安全防护技术
防火墙技术
防火墙是用于阻止网络中危险服务的设备,它可 以过滤掉不安全的服务和非法用户,从而保护网 络免受未经授权的访问和破坏。
入侵检测技术
入侵检测系统用于检测和识别网络中的恶意活动 ,它可以帮助网络管理员及时发现并应对安全威 胁。
根据实际需求和网络规模,选 择合适的局域网拓扑结构。
配置网络参数
设置IP地址、子网掩码、默认 网关等网络参数,以确保设备 之间的通信。
测试网络连通性
通过ping命令等工具测试网络 的连通性和稳定性。
实验结果与总结
实验结果
经过组建和测试,局域网能够正常工作,设备之间能够实现 稳定通信。
实验总结
通过本次实验,我们了解了局域网的基本概念、拓扑结构和 协议等知识,掌握了局域网组建的方法和步骤,为后续的网 络实验打下了基础。同时,实验过程中需要注意细节和规范 操作,以确保网络的稳定性和安全性。
网络应用服务配置实验
1 2
实验目标
通过实验掌握网络应用服务的配置和管理,提高 实际操作能力。
实验步骤
按照网络应用服务配置步骤进行实验操作,记录 实验过程和结果。
3
实验结果
通过实验掌握网络应用服务的配置和管理,提高 实际操作能力。
实验结果与总结
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广州大学学生实验报告开课学院及实验室: 计算机学院ﻩ2015年月一、实验目得初步掌握网络监听与分析技术得实现方法,从而加深对网络协议得理解。

了解以太网得帧格式,认识TCP/IP得层次结构。

二、实验环境1、安装了TCP/IP协议得Windows系统得计算机2、VC++6、0开发环境三、实验原理在分层模型中,主要利用数据封装来实现不同系统间得通信,在发送数据经过时,每经过一层就会被增加上本层得头部信息。

本实验要分析数据包,就一层一层得分析这些头部信息。

本实验用WinPcap进行捕获数据包,它工作在底层。

以太网中传输得数据被称为“帧”,帧得格式如下:头部:图1:帧格式WinPcap就是一个开源得、运行于Win32平台得体系结构,就是用于网络封包抓取得一套工具,包括一个内核级别得packetfilter,一个底层得DLL(packet、dl l)与一个高级得独立于系统得DLL(Wpcap、dll), packet、dll提供一个底层得API,可以直接访问网络设备驱动,Wpcap、dll就是一个强大得捕获程序库。

它为win32应用程序提供访问网络底层得能力,Winpcap不能阻塞、过滤或控制其她应用程序数据报得发收,它仅仅只就是监听共享网络上传送得数据包.本实验利用WinPcap提供得函数来设置网卡模式并捕获响应得数据包,进行解析.四、实验内容及步骤步骤(1):安装WinPcap驱动与DLL程序.在VC++中配置WinPcap,Tools—>optio ns->Directories,添加WinPcap得Include与Lib文件。

如下:图2:添加WinPcap库步骤(2):新建MFCAppwizard(exe)工程,在打开得工程下,选择Project-〉Setti ngs得C/C++选项卡,选择Link选项卡,在Object/library modules中添加wpcap、lib 、ws2_32、lib与packet、lib三个库文件(三者之间用空格隔开),使工程在编译连接得时候将WinPcap得响应得库模块加载进去.步骤(3):在Microsoft VisualC++6、0环境下设计界面,界面如下:图3:界面设计View-->ClassWizard定义控件变量。

步骤(4):在CapturePacket1Dialog、h添加头文件,把相应得库文件添加到工程里。

#include<winsock2、h>#include "pcap、h"#include "remote-ext、h”步骤(5):在OnInitDialog()中添加初始化界面得代码。

获取控件得句柄,对窗口进行设计,如:对Listbox得初始化://初始化Listbox:DWORD dwStyle;dwStyle =m_list、GetStyle();//列表类型dwStyle |= LVS_EX_GRIDLINES |LVS_EX_FULLROWSELECT |LVS_SHOW SELALWAYS ; //绘制表格选择整行m_list、SetExtendedStyle(dwStyle);//扩展类型m_list、InsertColumn(0,”时间");//插入一列:m_list、SetColumnWidth(0,80);//下面可以根据自己得需要插入列步骤(6):定义相关得结构体typedef struct ip_address{ﻩu_char byte1;u_char byte2;u_char byte3;u_charbyte4;}ip_address;/* IPv4 header */typedef structip_header{u_char ver_ihl; // Version (4 bits) + Internet header length(4 bits)ﻩu_chartos; //Type of serviceu_short tlen;//Total lengthu_shortidentification; // Identificationu_short flags_fo; // Flags (3bits)+Fragment offset (13 bits)u_char ttl;// Time to liveﻩu_char proto;//Protocolﻩu_short crc; // Header checksumﻩip_address saddr; // Source addressﻩip_address daddr; // Destination addressﻩu_int op_pad; // Option + Paddingﻩ}ip_header;typedef struct udp_header{u_short sport; // Source portu_shortdport; // Destination portﻩu_short len; // Datagram lengthﻩu_short crc; // Checksumﻩ}udp_header;//mac头部结构typedef struct{BYTE DesMacAddr[6];ﻩBYTE SrcMacAddr[6];WORD LengthOrType;//数据长度或类型}MAC_HEADER;//MAC帧类型定义constu_short MAC_TYPE_IP=0x0800;const u_short MAC_TYPE_ARP=0x0806;const u_shortMAC_TYPE_RARP=0x08035;步骤(7):在OnInitDialog()获取网络设备列表,调用函数原型如下int pcap_findalldevs_ex(char *source,struct pcap_rmthauth auth,pcap_if_t **addevs,char*errbuf)alldevs参数指向获取得网络接口列表得第一个元素,网络接口链表中每一个元素都就是pcap_if_t结构,在pcap、h中都已经定义。

本程序实现得具体代码如下:在获得了网络设备列表后,下一步就要获取网络接口卡得IP地址、MAC地址、网络掩码、广播地址。

获取Ip地址得具体实现代码如下(仅供参考):for( i = 0; pHost!=NULL &&pHost-〉h_addr_list[i]!= NULL; i++ ){ﻩchar str[100];ﻩchar addr[20];ﻩﻩﻩLPCSTR psz=inet_ntoa (*(struct in_addr *)pHost->h_addr_list[i]);ﻩﻩstr3=”IP地址就是:”;str3=str3+psz;ﻩm_list3、InsertItem(m_list3、GetItemCount(),str3);//加入列表项ﻩ}图4:获取网络适配器窗口步骤(8):双击“捕获”按钮,构造函数,在此过程中要打开网络接口,为了捕获到网络经过某网络接口设备得所有数据包,所以把网卡设置为混杂模式。

调用函数pcap_open()(此函数可以在MSDN中查找此函数得具体使用方法)(仅供参考)pcap_if_t *d;pcap_t *adhandle;/* Open the device*/if ((adhandle= pcap_open(d—>name, //设备名65536,PCAP_OPENFLAG_PROMISCUOUS, //混杂模式1000, // 超时时间NULL;//在远程设备中捕获数据包时使用,在本实验中不适用,设置为NULLerrbuf //error buffer) ) == NULL)打开网络适配器后,下一步就就是编辑与设置过滤器,可以根据自己得需要选择性得捕获网络数据包.本实验选择IP协议,定义char packet_filter[]=”ip”;if(pcap_pile(adhandle,&fcode, packet_filter,1, netmask)<0){//add your codepcap_freealldevs(alldevs);}//setthe filter 设置过滤器if(pcap_setfilter(adhandle,&fcode)〈0){add your code;pcap_freealldevs(alldevs);}步骤(9):前期工作做完,就开始获取数据包,在本实验中通过创建线程来实现抓包得过程,实现代码(仅供参考):/* start the capture 抓包线程*/ﻩDWORD nThreadId=0;ﻩ handle=(HANDLE)::CreateThread(NULL,0,mythread,(LPVOID)this,CREATE_SUSPENDED,&nThreadId);ﻩSetThreadPriority(handle,THREAD_PRIORITY_NORMAL);ResumeThread(handle);其中mythread为在CapturePacket1Dlg、cpp自定义得线程名称DWORD WINAPI mythread(LPVOID lParam){CWinpcapdialogDlg*p=(CWinpcapdialogDlg*)lParam;time_t local_tv_sec;ﻩstruct tm *ltime;char timestr[16];ip_header *ih;udp_header *uh;ﻩu_int ip_len;}步骤(10):在mythread()中分析捕获得数据包,实现代码(仅供参考,有省略): while((res=pcap_next_ex(p->adhandle,&p->header,&p->pkt_data))>=0){ﻩif(res==0)ﻩﻩcontinue;else{ﻩ//处理捕获得包local_tv_sec = p—>header->ts、tv_sec;ltime=localtime(&local_tv_sec);strftime( timestr, sizeof timestr, "%H:%M:%S", ltime); //获取时间ih = (ip_header *)(p-〉pkt_data +14); //ih 指向IP报文得首部ip_len = (ih—>ver_ihl & 0xf)* 4;uh = (udp_header *) ((u_char*)ih + ip_len); // uh 指向UDP报文得首部sport=ntohs(uh—>sport); //网络序转化为主机序dport=ntohs(uh->dport);}处理完捕获得数据就关闭线程DWORD m;GetExitCodeThread(handle,&m);ﻩ::ExitThread(m);五、实验结果图5:结果图经过上述步骤得设计后,执行VC++程序,可以清楚得瞧到数据包被分析后得结果。

相关文档
最新文档