网络嗅探器实验报告
sniffer 实验报告

sniffer 实验报告Sniffer实验报告引言:在当今数字化时代,网络安全问题备受关注。
Sniffer作为一种网络安全工具,被广泛应用于网络流量监测、数据包分析和安全漏洞发现等领域。
本报告旨在介绍Sniffer的原理、应用以及实验结果,并探讨其在网络安全中的重要性。
一、Sniffer的原理与工作方式Sniffer是一种网络数据包嗅探器,它能够截获经过网络的数据包,并对其进行分析和解码。
其工作原理主要包括以下几个步骤:1. 网络接口监听:Sniffer通过监听网络接口,获取经过该接口的数据包。
这可以通过底层网络协议(如以太网、无线网络等)提供的API实现。
2. 数据包截获:一旦Sniffer监听到网络接口上的数据包,它会将其截获并保存在内存或磁盘中,以便后续分析。
3. 数据包解析:Sniffer对截获的数据包进行解析,提取其中的关键信息,如源IP地址、目标IP地址、协议类型、端口号等。
这些信息可以帮助分析人员了解网络流量的来源、目的和内容。
4. 数据包分析:通过对解析得到的数据包进行深入分析,Sniffer可以检测网络中的异常行为、安全漏洞以及潜在的攻击。
二、Sniffer的应用领域Sniffer作为一种功能强大的网络安全工具,在各个领域都有广泛的应用。
以下是几个典型的应用场景:1. 网络管理与监控:Sniffer可以用于监测网络流量,分析网络性能和带宽利用情况。
通过对数据包的分析,可以及时发现网络故障和异常,提高网络管理的效率。
2. 安全漏洞发现:Sniffer可以检测网络中的异常流量和未经授权的访问行为,帮助发现系统的安全漏洞。
它可以捕获潜在的攻击数据包,并通过分析判断是否存在安全威胁。
3. 网络流量分析:Sniffer可以对网络流量进行深入分析,了解用户的行为习惯、访问偏好以及网络应用的使用情况。
这对于网络服务提供商和广告商来说,有助于优化服务和精准投放广告。
4. 数据包调试与故障排查:在网络通信过程中,数据包传输可能会出现错误或丢失。
嗅探器实验报告

基于JPCAP的网络嗅探器实验报告学号:1106840229姓名:陆凯一、平台和情况简述本实验是用java实现的网络抓包程序。
操作系统环境为windows 7和8 64位。
必要软件为winpcap4.0,jpcapx64,eclipse二、JPCAP简介(以下来自百度百科)众所周知,JAVA语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。
JPCAP扩展包弥补了这一点。
JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用WINPCAP给JAVA语言提供一个公共的接口,从而实现了平台无关性。
三、程序整体设计从实际操作使用的角度上来讲,整个程序由三个.JAVA文件组成,其中两个文件都可以生成Jframe框架。
也就是说程序只有两个界面,一个主界面和一个选择网卡的Dialog界面。
摘取三个文件中的类和方法:1.MainProgram.java:public class MainProgram extends JFrame implements ActionListener:(1)public static void main(String[] args) 主函数(2)public MainProgram()(3)private void initGUI() 界面设计(4)public void actionPerformed(ActionEvent event) 菜单事件响应(5)public void dealPacket(Packet packet) 包处理(6)public String output(Packet p) 十六进制显示2.Jcapturedialog.javaPublic class Jcapturedialog extends JDialog implements ActionListener:(1)public Jcapturedialog(JFrame frame) 构造(2)public void actionPerformed(ActionEvent evt) 按键响应(3)public static JpcapCaptor getJpcap(JFrame parent)3.Jcaptor.javapublic class Jcaptor:(1)public void setJFrame(MainProgram frame)(2)public void capturePacketsFromDevice() 抓包(3)private void startCaptureThread() 开线程(4)public void stopCapture() 关闭线程从整个的抓包流程来讲,用JPCAP类中的函数(形参已省略)来表达,可以表达为:1.通过JpcapCaptor.getDeviceList()获取网卡列表2.通过jpcap.setFilter()设置过滤器3.通过JpcapCaptor.openDevice()打开相应的网卡4.在线程中采用jpcap.processPacket()来抓包5.通过自己编写的dealPacket()针对抓得的包按照不同的协议来分析并产生表格中的数据四、程序编写过程中的问题解决1.JAVA.SWING的使用(界面编写)因为是网工专业,所以在课程中接触JAVA仅仅是大二一门两个学分的专业选修课,在编写这个嗅探器之前完全不知道如何在JAVA中设计界面以及各个组件的方法。
实验七 网络嗅探

实验七网络嗅探【实验目的】1.了解FTP、HTTP等协议明文传输的特性;2.了解局域网内的监听手段;3.掌握Ethereal嗅探器软件的使用方法;4.掌握对嗅探到的数据包进行分析的基本方法,并能够对嗅探到的数据包进行网络状况的判断。
【实验环境】两台以上装有Windows 2000/XP/2003操作系统的计算机。
【实验原理】(1)嗅探原理网络监听是一种常用的被动式网络攻击方法,能帮助入侵者轻易获得用其他方法很难获得的信息,包括用户口令、账号、敏感数据、IP地址、路由信息、TCP套接字号等。
管理员使用网络监听工具可以监视网络的状态、数据流动情况以及网络上传输的信息。
嗅探器(Sniffer)是利用计算机的网络接口截获发往其他计算机的数据报文的一种技术。
它工作在网络的底层,将网络传输的全部数据记录下来。
嗅探器可以帮助网络管理员查找网络漏洞和检测网络性能。
嗅探器可以分析网络的流量,以便找出所关心的网络中潜在的问题。
不同传输介质网络的可监听性是不同的。
一般来说,以太网(共享式网络)被监听的可能性比较高,因为以太网(共享式网络)是一个广播型的网络。
微波和无线网被监听的可能性同样比较高,因为无线电本身是一个广播型的传输媒介,弥散在空中的无线电信号可以被很轻易地截获。
在以太网中,嗅探器通过将以太网卡设置成混杂模式来捕获数据。
因为以太网协议工作方式是将要发送的数据包发往连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。
但是,当主机工作在监听模式下,无论数据包中的目标地址是什么,主机都将接收(当然自己只能监听经过自己网络接口的那些包)。
在Internet上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起,当同一网络中的两台主机通信的时候,源主机将写有目的主机地址的数据包直接发向目的主机。
但这种数据包不能在IP层直接发送,必须从TCP/IP协议的IP层交给网络接口,也就是数据链路层,而网络接口是不会识别IP地址的,因此在网络接口数据包又增加了一部分以太帧头的信息。
网络协议嗅探工具实验报告

网络协议分析实验报告实验目的1、熟悉并掌握Ethereal 的基本操作,了解网络协议实体间进行交互以及报文交换的情况。
2、分析HTTP 协议。
3、分析DNS 协议。
实验环境与因特网连接的计算机网络系统;主机操作系统为Windows2000或Windows XP;Ethereal等软件实验内容实验一:利用分组嗅探器(ethereal )分析HTTP 和和DNS实验四:TCP协议分析实验步骤实验一(一)Ethereal 的使用1. 启动主机上的web 浏览器。
2. 启动ethereal。
你会看到如图2 所示的窗口,只是窗口中没有任何分组列表。
3. 开始分组俘获:选择“capture”下拉菜单中的“Start”命令,会出现如图3 所示的“Ethereal: Capture Options”窗口,可以设置分组俘获的选项。
4. 在实验中,可以使用窗口中显示的默认值。
在“Ethereal: Capture Options”窗口的最上面有一个“interface”下拉菜单,其中显示计算机所具有的网络接口(即网卡)。
当计算机具有多个活动网卡时,需要选择其中一个用来发送或接收分组的网络接口(如某个有线接口)。
随后,单击“ok”开始进行分组俘获,所有由选定网卡发送和接收的分组都将被俘获。
5. 开始分组俘获后,会出现如图4 所示的分组俘获统计窗口。
该窗口统计显示各类已俘获分组的数量。
在该窗口中有一个“stop”按钮,可以停止分组的俘获。
但此时你最好不要停止俘获分组。
6. 在运行分组俘获的同时,在浏览器地址栏中输入某网页的URL,如:。
为显示该网页,浏览器需要连接的服务器,并与之交换HTTP 消息,以下载该网页。
包含这些HTTP 报文的以太网帧将被Ethereal俘获。
7. 当完整的页面下载完成后,单击Ethereal 俘获窗口中的stop 按钮,停止分组俘获。
此时,分组俘获窗口关闭。
Ethereal 主窗口显示已俘获的你的计算机与其他网络实体交换的所有协议报文,其中一部分就是与服务器交换的HTTP 报文。
实验1-网络嗅探实验-报告

1实验名称网络嗅探实验2实验目的掌握网络嗅探工具的使用,捕获FTP数据包并进行分析,捕获HTTP数据包并分析,通过实验了解FTP、HTTP等协议明文传输的特性,以建立安全意识。
3实验内容实验原理网络嗅探器Sniffer的原理:1)Sniffer即网络嗅探器,用于监听网络中的数据包,分析网络性能和故障。
Sniffer 主要用于网络管理和网络维护,系统管理员通过Sniffer可以诊断出通过常规工具难以解决的网络疑难问题,包括计算机之间的异常通信、不同网络协议的通信流量、每个数据包的源地址和目的地址等,它将提供非常详细的信息。
2)网卡有几种接收数据帧的状态:unicast(接收目的地址是本级硬件地址的数据帧),Broadcast(接收所有类型为广播报文的数据帧),multicast(接收特定的组播报文),promiscuous(目的硬件地址不检查,全部接收)3)以太网逻辑上是采用总线拓扑结构,采用广播通信方式,数据传输是依靠帧中的MAC地址来寻找目的主机。
4)每个网络接口都有一个互不相同的硬件地址(MAC地址),同时,每个网段有一个在此网段中广播数据包的广播地址5)一个网络接口只响应目的地址是自己硬件地址或者自己所处网段的广播地址的数据帧,丢弃不是发给自己的数据帧。
但网卡工作在混杂模式下,则无论帧中的目标物理地址是什么,主机都将接收6)通过Sniffer工具,将网络接口设置为“混杂”模式。
可以监听此网络中传输的所有数据帧。
从而可以截获数据帧,进而实现实时分析数据帧的内容。
实验步骤说明和截图1)熟悉Sniffer 工具的使用Sniffer 主界面从文件菜单中选择适配器,标题栏将显示激活的探测器选择适配器文件菜单----选择网络探测器/适配器(N)----显示所有在Windows中配置的适配器菜单与工具栏状态栏网络监控面板Dashboard红色显示统计数据的阀值使用Dashboard作为网络状况快速浏览Host table(主机列表)Detail(协议列表)Matrix (网络连接)2)捕获FTP数据包并进行分析分组角色:学生A进行FTP连接,学生B使用Sniffer监视A的连接。
sniffer实验报告

sniffer实验报告Sniffer实验报告引言:在现代信息技术高度发达的时代,网络安全问题日益突出。
为了保护个人隐私和网络安全,网络管理员和安全专家需要不断寻找新的方法和工具来监测和防止网络攻击。
Sniffer(嗅探器)作为一种常见的网络安全工具,可以帮助我们分析网络流量并检测潜在的威胁。
本实验旨在了解Sniffer的工作原理和应用,并通过实际操作来验证其有效性。
一、Sniffer的工作原理Sniffer是一种网络数据包分析工具,其基本原理是通过监听网络接口,捕获经过该接口的数据包,并对其进行解析和分析。
Sniffer可以在本地网络或互联网上的任何位置运行,以便监测和分析网络流量。
它可以截取各种类型的数据包,包括TCP、UDP、ICMP等,并提取其中的关键信息,如源IP地址、目标IP地址、端口号等。
二、Sniffer的应用场景1. 网络安全监测:Sniffer可以帮助网络管理员及时发现和分析潜在的网络攻击,如端口扫描、DDoS攻击等。
通过监测网络流量,Sniffer可以检测到异常的数据包,并对其进行分析,提供有关攻击者的信息和攻击方式的线索。
2. 网络故障排查:当网络出现故障时,Sniffer可以帮助我们快速定位问题所在。
通过捕获和分析数据包,我们可以了解网络中的通信情况,查找网络设备的故障点,并进行相应的修复。
3. 网络性能优化:Sniffer可以帮助我们监测和分析网络的性能瓶颈,并提供优化建议。
通过分析网络流量和延迟情况,我们可以找到网络中的瓶颈节点,并采取相应的措施来提高网络的性能和稳定性。
三、实验过程和结果为了验证Sniffer的有效性,我们在实验室环境中搭建了一个小型网络,并使用Sniffer来捕获和分析数据包。
实验中,我们使用了Wireshark作为Sniffer工具,并连接了一台电脑和一个路由器。
首先,我们启动Wireshark,并选择要监听的网络接口。
然后,我们开始捕获数据包,并进行一段时间的网络活动,包括浏览网页、发送电子邮件等。
信息安全-网络扫描与嗅探实验报告

信息安全-网络扫描与嗅探实验报告信息安全网络扫描与嗅探实验报告一、实验目的本次实验旨在深入了解网络扫描与嗅探的原理和技术,掌握相关工具的使用方法,通过实践操作来检测和评估网络系统的安全性,并提高对网络安全威胁的认识和防范能力。
二、实验环境1、操作系统:Windows 10 专业版2、扫描工具:Nmap、Wireshark3、网络环境:实验室内部网络三、实验原理(一)网络扫描网络扫描是指通过发送特定的数据包到目标网络或系统,以获取关于网络拓扑结构、主机存活状态、开放端口、服务类型等信息的过程。
常见的扫描技术包括 TCP SYN 扫描、UDP 扫描、ICMP 扫描等。
(二)网络嗅探网络嗅探是指通过监听网络中的数据包,获取其中的敏感信息,如用户名、密码、通信内容等。
通常使用网络嗅探工具(如 Wireshark)来捕获和分析数据包。
四、实验步骤(一)网络扫描实验1、打开 Nmap 工具,输入要扫描的目标 IP 地址或网段。
2、选择扫描类型,如 TCP SYN 扫描(sS),并设置扫描的端口范围(p 1-1000)。
3、启动扫描,等待扫描结果。
4、分析扫描结果,查看目标主机的存活状态、开放端口以及服务类型等信息。
(二)网络嗅探实验1、打开 Wireshark 工具,选择要监听的网络接口。
2、开始捕获数据包,并在网络中进行一些正常的通信操作,如访问网站、发送邮件等。
3、停止捕获数据包,对捕获到的数据包进行分析。
4、筛选出特定的协议数据包,如 HTTP、FTP 等,查看其中的通信内容。
五、实验结果与分析(一)网络扫描结果1、扫描到目标主机处于存活状态。
2、发现开放的端口有 80(HTTP)、22(SSH)、443(HTTPS)等。
3、根据服务类型的识别,推测目标主机可能运行着 Web 服务器和SSH 远程登录服务。
(二)网络嗅探结果1、在捕获的 HTTP 数据包中,能够看到请求的 URL、客户端的 IP 地址、浏览器类型等信息。
实验报告网络嗅探实验

软件学院实验报告
课程:信息安全学实验学期:学年第二学期任课教师:
专业:信息安全学号:姓名:成绩:
实验4-网络嗅探实验
一、实验目的
掌握网络嗅探工具的使用,捕获FTP数据包并进行分析,捕获HTTP数据包并分析,通过实验了解FTP、HTTP 等协议明文传输的特性,以建立安全意识。
二、实验原理
Sniffer网络嗅探,用于监听网络中的数据包。
包括分析网络性能和故障。
主要用于网络管理和网络维护。
通过sniffer工具,可以将网络地址设置为“混杂模式”。
在这种模式下,网络接口就处于一个监听状态,他可以监听网络中传输的所有数据帧,而不管数据帧目标地址是自己的还是广播地址。
它将对遭遇每个数据帧产生硬件中断,交由操作系统进行处理,比如截获这个数据帧进行实时的分析。
三、实验步骤
1.熟悉Sniffer 工具的使用
2.捕获FTP数据包并进行分析
3.
4.捕获HTTP数据包并分析
四、遇到的问题及解决办法
在本次实验中遇到的最主要的问题就是没有顺利的抓的数据包,由于是通过VPN连接的网络,抓包过程受到限制,因此没有能够顺利完成实验。
五、实验个人体会
在这次的实验中,我又多学到了一点知识,关于网络嗅探的知识。
通过使用Sniffer Pro软件掌握网络嗅探器的使用方法,虽然没有捕捉到FTP、HTTP等协议的数据包,但是对网络嗅探的原理和实现方法有了比较深刻的了解。
还了解了FTP、HTTP等协议明文的传输特性,并对此有一定的安全意识,感觉现在所学的知识在逐渐向信息安全靠拢。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络攻击与防御技术实验报告
实验目的:
本实验通过研究Winpcap中常用的库函数的使用方式来实现了一个小型的网络数据包抓包器,并通过对原始包文的分析来展示当前网络的运行状况。
实验内容:
1.实现对网络基本数据包的捕获
2.分析捕获到的数据包的详细信息
实验环境:
1.WpdPack_4_0_1支持库
2.VC++开发环境
3.Windows操作系统
实验设计:
系统在设计过程中按照MVC的设计模式,整体分为三层。
第一层为Control层即控制层,这里为简化设计,将Control层分为两个部分,一部分为网络报文输入,另一部分为用户输入;第二层是Model层即模型层;第三层为View层即显示层。
系统的整体运行过程为:从Control层得到数据,交到Model层进行处理,将处理完的结果交View层进行显示。
Control层主要用于网络数据包的捕获以及获得用户的输入;Model层主要用于分析数据包,处理用户的输入;View层主要用于对处理后的结果进行显示。
详细过程:
程序在执行过程中有两个核心的工作,一是调用Winpcap函数库实现下层抓包。
二是对抓到的包文进行分析。
下面分别列出两个核心过程的基本算法与相关的实现代码。
抓包算法:
第一:初始化Winpcap开发库
第二:获得当前的网卡列表,同时要求用户指定要操作的网卡
第三:获得当前的过滤规则,可为空
第四:调用库函数,pcap_loop(),同时并指定其回调函数,其中其回调函数为数据包分析过程。
对应的相应核心代码为:
I f((pCap=pcap_open_live(getDevice()->name,65536,1,1000,strErrorBuf))==NULL)
{ return -1; }
If(pcap_compile(pCap, &fcode, filter, 1, NetMask) < 0)
{ return -1; }
if(pcap_setfilter(pCap, &fcode)<0)
{ return -1; }
do{
pcap_loop(pCap,1,pcap_handle,NULL);
}while(nFlag);
分析算法:
第一:得到数据包,先将其转存到内存里,以备以后再用。
第二:分析当前的数据包,分析过程如下:
1.数据包的前14个字节(Byte)代表数据链路层的报文头,其报文格式是前6Byte
为目的MAC地址,随后的6个Byte为源Mac地址,最后的2Byte代表上层
协议类型这个数据很重要,是我们分析上层协议的依据。
2.根据1所分析到的协议类型进行类似1的迭代分析。
这样就可以得到各层中
的报文头信息和数据信息。
第三:结束本次分析。
分析算法部分实现代码:
(pHeader);
(pData);
CFramePacket *pFramePacket = new CFramePacket(pData,14);
if(pFramePacket->GetType() == 0x0800)
{
CIPPacket ipPacket(pData+14,pHeader->len-14);
if() == "UDP")
{
CUDPPacket*pUDPPacket = new CUDPPacket(),());
}
else if() == "TCP")
{
CTCPPacket *pTCPPacket = new CTCPPacket(),());
}
}
else if(pFramePacket->GetType() == 0x0806)
{
CARPPacket *pARPPacket = new CARPPacket(pData+14,pHeader->len-14);
}
else if(pFramePacket->GetType() == 0x8035)
{}
else if(pFramePacket->GetType() ==XXXX)
{}
……
在设计分析算法时有一个基础是构造各种协议的数据类型,本系统在处理些过程是充分采用面向对象的设计思想,对各种协议进行类封装,每个类的重写构造函数,其入口参数为数据包数据和本协议在数据包中的长度,共内容是完成分析这一数据段同时初始化协议中的
各个参数信息。
类对外提供各个接口以满足上层对协议数据的调用。
下面以链路层帧类为例:
实验中的遇到的问题:在本次实验中我认为有一个问题比较麻烦,就是对抓到的包进行分析并提取出相应的位填充到对应的数据类型中,对于这个问题采用的是查看相应的协议书,并从网上看了一下流行的处理办法。
2.实验中的收获:一定程度上加深了对TCP/IP协议的理解,对课程学习打下了一个比较好的基础;用一些设计模式在一定程度能提高开发效能,降低开发的复杂度;。