《网络嗅探器》课程设计报告
(2020年编辑)网络嗅探器的设计与实现

《网络与信息安全》课程设计报告班级学号:姓名:题目:评阅:成绩:2011年1月目录一、开发背景1、网络安全现状。
2、开发意义。
二、设计分析1、实现目标。
2、开发技术简介。
三、详细设计1、嗅探原理。
2、代码设计。
四、测试运行五、总结六、参考文献摘要网络嗅探器是作用在网络上的一种监听程序,它是系统管理员的一个得力助手,管理员可以用它来分析网络。
例如当网络繁忙时可利用它来查找是哪一段网络繁忙,数据报文是属于哪一种协议,这样可以计算出哪种业务受欢迎。
但是当有黑客使用它时,它又变得很可怕。
它可以非法获取一些保密性信息,如帐号、密码等,它带来的负面破坏是非常大的。
作为从事网络安全技术方面的人员来说,要想有效地利用它、防范它就得深入地学习、分析网络嗅探技术。
1、本设计的基本任务是设计一个嗅探软件,实现对常用网络数据包抓取、分析。
2、软件所要完成对本机在网络中的通信数据,比如协议类型,源、目的地址和端口、数据包的大小等加以分析的功能。
3、本设计用到的开发工具为Microsoft Visual Studio 2010 开发环境为Windows 7。
4、程序由韩瑞彬同学和我共同完成,本人主要负责主界面的设计和网络数据包的抓取,韩瑞彬同学负责对数据包的解析设计。
关键字:嗅探器,安全,黑客,数据报文一、开发背景1、网络安全现状随着各种新的网络技术的不断出现、应用和发展,计算机网络的应用越来越广泛,其作用也越来越重要。
但是由于计算机系统中软硬件的脆弱性和计算机网络的脆弱性以及地理分布的位置、自然环境、自然破坏以及人为因素的影响,不仅增加了信息存储、处理的风险,也给信息传送带来了新的问题。
计算机网络安全问题越来越严重,网络破坏所造成的损失越来越大。
Internet 的安全已经成为亟待解决的问题。
多数黑客入侵成功并植入后门后的第一件事就是选择一个合适当前网络的嗅探器,以获得更多的受侵者的信息。
嗅探器是一种常用的收集有用数据的方法,可以作为分析网络数据包的设备。
课程设计--基于C#的网络嗅探器的设计和实现

网络与信息安全课程设计网络嗅探器的设计和实现学院:计算机科学与技术班级:网络工程08-1班姓名:学号:指导老师:目录一、什么是嗅探器--------------------------------------------1二、嗅探器的作用---------------------------------------------1三、网络嗅探器的原理-----------------------------------------1四、反嗅探技术----------------------------------------------7五、网络嗅探器的设计-----------------------------------------8六、结语---------------------------------------------------14参考书目--------------------------------------------------14网络嗅探器的实际与实现一、什么是嗅探器嗅探器,可以理解为一个安装在计算机上的窃听设备它可以用来窃听计算机在网络上所产生的众多的信息。
简单一点解释:一部电话的窃听装置, 可以用来窃听双方通话的内容,而计算机网络嗅探器则可以窃听计算机程序在网络上发送和接收到的数据。
可是,计算机直接所传送的数据,事实上是大量的二进制数据。
因此, 一个网络窃听程序必须也使用特定的网络协议来分解嗅探到的数据,嗅探器也就必须能够识别出那个协议对应于这个数据片断,只有这样才能够进行正确的解码。
计算机的嗅探器比起电话窃听器,有他独特的优势:很多的计算机网络采用的是“共享媒体"。
也就是说,你不必中断他的通讯,并且配置特别的线路,再安装嗅探器,你几乎可以在任何连接着的网络上直接窃听到你同一掩码范围内的计算机网络数据。
我们称这种窃听方式为“基于混杂模式的嗅探”(promiscuous mode)。
网络编程课程设计-网路嗅探器

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊目录1 设计目的 (2)2 设计内容 (2)3 程序流程 (2)4 设计步骤 (4)5 设计总结 (11)┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊1 设计目的网络通信课程设计是网络工程专业的大型作业课。
是培养计算机领域从事网络技术及应用工作的高级工程技术人才的必修课程。
本课的主要任务是使学生队所学的《计算机网络》知识从实践上有一个较清晰的了解。
对当前计算机网络的主要种类和常用的网络协议有更进一步的深入认识。
学会计算机网络设计和日常管理及维护的最基本方法。
网络编程简单的理解就两台计算机相互通讯数据,通过使用套接字来达到进程通信目的编程就是网络编程。
网络编程最主要工作就是在发送端把信息通过规定好的协议进行组包,在接收端按照规定好的协议把包进行解析,从而提取出相应的信息,达到通信的目的。
中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包的分析,当然最后再做一些处理。
本次实验运用C++的网络编程相关知识,通过学习了解了TCP和UDP协议的基本知识和SOCKET编程的基本概念,完成tracert程序,实现ping功能和路由追踪功能。
2 设计内容一、学习实践要求1.对计算机网络的物理构成有清晰的了解;2.理解计算机网络体系结构的内涵;3.熟悉计算机网络的分类及常用的网络协议;4.基于掌握计算机网络软件的开发方法;5.具备管理计算机网络的基本知识及技能。
二、模块功能(1)pin功能:发送ICMP数据包到计算机,如有返回,显示相应时间等。
(2)路由探测功能:依次ping途经的路由器或网关设备,依次显示途经路由器的响应时间。
3 程序流程┊┊┊┊┊┊Array┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊图1 流程图4 设计步骤一、程序运行结果相关截图图2 运行结果┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊图3 运行结果图4 运行结果┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊图5 运行结果二、程序源代码#include <iostream>#include <winsock2.h>#include <ws2tcpip.h>using namespace std;#pragma comment(lib, "Ws2_32.lib")//IP报头typedef struct{unsigned char hdr_len:4; //4位头部长度 unsigned char version:4; //4位版本号unsigned char tos; //8位服务类型 unsigned short total_len; //16位总长度┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ unsigned short identifier; //16位标识符unsigned short frag_and_flags; //3位标志加13位片偏移unsigned char ttl; //8位生存时间unsigned char protocol; //8位上层协议号unsigned short checksum; //16位校验和unsigned long sourceIP; //32位源IP地址unsigned long destIP; //32位目的IP地址} IP_HEADER;//ICMP报头typedef struct{BYTE type; //8位类型字段BYTE code; //8位代码字段USHORT cksum; //16位校验和USHORT id; //16位标识符USHORT seq; //16位序列号} ICMP_HEADER;//报文解码结构typedef struct{USHORT usSeqNo; //序列号DWORD dwRoundTripTime; //往返时间in_addr dwIPaddr; //返回报文的IP地址}DECODE_RESULT;//计算网际校验和函数USHORT checksum(USHORT *pBuf,int iSize){unsigned long cksum=0;while(iSize>1){cksum+=*pBuf++;iSize-=sizeof(USHORT);}if(iSize){cksum+=*(UCHAR *)pBuf;}cksum=(cksum>>16)+(cksum&0xffff);cksum+=(cksum>>16);return (USHORT)(~cksum);}//对数据包进行解码BOOL DecodeIcmpResponse(char * pBuf,int iPacketSize,DECODE_RESULT &DecodeResult,BYTE ICMP_ECHO_REPLY,BYTE ICMP_TIMEOUT){//检查数据报大小的合法性┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ IP_HEADER* pIpHdr = (IP_HEADER*)pBuf;int iIpHdrLen = pIpHdr->hdr_len * 4;if (iPacketSize < (int)(iIpHdrLen+sizeof(ICMP_HEADER)))return FALSE;//根据ICMP报文类型提取ID字段和序列号字段ICMP_HEADER *pIcmpHdr=(ICMP_HEADER *)(pBuf+iIpHdrLen);USHORT usID,usSquNo;if(pIcmpHdr->type==ICMP_ECHO_REPLY) //ICMP回显应答报文{usID=pIcmpHdr->id; //报文IDusSquNo=pIcmpHdr->seq; //报文序列号}else if(pIcmpHdr->type==ICMP_TIMEOUT) //ICMP超时差错报文{char * pInnerIpHdr=pBuf+iIpHdrLen+sizeof(ICMP_HEADER); //载荷中的IP头int iInnerIPHdrLen=((IP_HEADER *)pInnerIpHdr)->hdr_len*4; //载荷中的IP头长ICMP_HEADER * pInnerIcmpHdr=(ICMP_HEADER *)(pInnerIpHdr+iInnerIPHdrLen);//载荷中的ICMP头usID=pInnerIcmpHdr->id; //报文IDusSquNo=pInnerIcmpHdr->seq; //序列号}else{return false;}//检查ID和序列号以确定收到期待数据报if(usID!=(USHORT)GetCurrentProcessId()||usSquNo!=SeqNo){return false;}//记录IP地址并计算往返时间DecodeResult.dwIPaddr.s_addr=pIpHdr->sourceIP;DecodeResult.dwRoundTripTime=GetTickCount()-DecodeResult.dwRoundTripTime;//处理正确收到的ICMP数据报if (pIcmpHdr->type == ICMP_ECHO_REPLY ||pIcmpHdr->type == ICMP_TIMEOUT){//输出往返时间信息if(DecodeResult.dwRoundTripTime)cout<<" "<<DecodeResult.dwRoundTripTime<<"ms"<<flush;elsecout<<" "<<"<1ms"<<flush;}return true;}┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊void main(){//初始化Windows sockets网络环境WSADATA wsa;WSAStartup(MAKEWORD(2,2),&wsa);char IpAddress[255];cout<<"请输入一个IP地址或域名:";cin>>IpAddress;//得到IP地址u_long ulDestIP=inet_addr(IpAddress);//转换不成功时按域名解析if(ulDestIP==INADDR_NONE){hostent * pHostent=gethostbyname(IpAddress);if(pHostent){ulDestIP=(*(in_addr*)pHostent->h_addr).s_addr;}else{cout<<"输入的IP地址或域名无效!"<<endl;WSACleanup();return;}}cout<<"Tracing roote to "<<IpAddress<<" with a maximum of 30 hops.\n"<<endl;//填充目地端socket地址sockaddr_in destSockAddr;ZeroMemory(&destSockAddr,sizeof(sockaddr_in));destSockAddr.sin_family=AF_INET;destSockAddr.sin_addr.s_addr=ulDestIP;//创建原始套接字SOCKETsockRaw=WSASocket(AF_INET,SOCK_RAW,IPPROTO_ICMP,NULL,0,WSA_FLAG_OVERLAPPED);//超时时间int iTimeout=3000;//接收超时setsockopt(sockRaw,SOL_SOCKET,SO_RCVTIMEO,(char *)&iTimeout,sizeof(iTimeout)); //发送超时setsockopt(sockRaw,SOL_SOCKET,SO_SNDTIMEO,(char *)&iTimeout,sizeof(iTimeout));//构造ICMP回显请求消息,并以TTL递增的顺序发送报文//ICMP类型字段const BYTE ICMP_ECHO_REQUEST=8; //请求回显const BYTE ICMP_ECHO_REPLY=0; //回显应答const BYTE ICMP_TIMEOUT=11; //传输超时┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ //其他常量定义const int DEF_ICMP_DATA_SIZE=32; //ICMP报文默认数据字段长度const int MAX_ICMP_PACKET_SIZE=1024;//ICMP报文最大长度(包括报头)const DWORD DEF_ICMP_TIMEOUT=3000; //回显应答超时时间const int DEF_MAX_HOP=30; //最大跳站数//填充ICMP报文中每次发送时不变的字段char IcmpSendBuf[sizeof(ICMP_HEADER)+DEF_ICMP_DATA_SIZE]; //发送缓冲区memset(IcmpSendBuf, 0, sizeof(IcmpSendBuf)); //初始化发送缓冲区 char IcmpRecvBuf[MAX_ICMP_PACKET_SIZE]; //接收缓冲区memset(IcmpRecvBuf, 0, sizeof(IcmpRecvBuf)); //初始化接收缓冲区ICMP_HEADER * pIcmpHeader=(ICMP_HEADER*)IcmpSendBuf;pIcmpHeader->type=ICMP_ECHO_REQUEST; //类型为请求回显pIcmpHeader->code=0; //代码字段为0pIcmpHeader->id=(USHORT)GetCurrentProcessId(); //ID字段为当前进程号memset(IcmpSendBuf+sizeof(ICMP_HEADER),'E',DEF_ICMP_DATA_SIZE);//数据字段USHORT usSeqNo=0; //ICMP报文序列号int iTTL=1; //TTL初始值为1BOOL bReachDestHost=FALSE; //循环退出标志int iMaxHot=DEF_MAX_HOP; //循环的最大次数DECODE_RESULT DecodeResult; //传递给报文解码函数的结构化参数while(!bReachDestHost&&iMaxHot--){//设置IP报头的TTL字段setsockopt(sockRaw,IPPROTO_IP,IP_TTL,(char *)&iTTL,sizeof(iTTL));cout<<iTTL<<flush; //输出当前序号//填充ICMP报文中每次发送变化的字段((ICMP_HEADER *)IcmpSendBuf)->cksum=0; //校验和先置为0((ICMP_HEADER *)IcmpSendBuf)->seq=htons(usSeqNo++); //填充序列号((ICMP_HEADER *)IcmpSendBuf)->cksum=checksum((USHORT*)IcmpSendBuf,sizeof(ICMP_HEADER)+DEF_ICMP_DATA_SIZE); //计算校验和//记录序列号和当前时间SeqNo=((ICMP_HEADER*)IcmpSendBuf)->seq; //当前序号DecodeResult.dwRoundTripTime=GetTickCount(); //当前时间//发送TCP回显请求信息sendto(sockRaw,IcmpSendBuf,sizeof(IcmpSendBuf),0,(sockaddr*)&destSockAddr,sizeof(de stSockAddr));//接收ICMP差错报文并进行解析处理sockaddr_in from; //对端socket地址int iFromLen=sizeof(from); //地址结构大小int iReadDataLen; //接收数据长度while(1){//接收数据┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊iReadDataLen=recvfrom(sockRaw,IcmpRecvBuf,MAX_ICMP_PACKET_SIZE,0,(sockaddr*)&from,& iFromLen);if(iReadDataLen!=SOCKET_ERROR) //有数据到达{//对数据包进行解码if(DecodeIcmpResponse(IcmpRecvBuf,iReadDataLen,DecodeResult,ICMP_ECHO_REPLY,ICMP_TI MEOUT)){//到达目的地,退出循环if(DecodeResult.dwIPaddr.s_addr==destSockAddr.sin_addr.s_addr) bReachDestHost=true;//输出IP地址cout<<'\t'<<inet_ntoa(DecodeResult.dwIPaddr)<<endl;break;}}else if(WSAGetLastError()==WSAETIMEDOUT) //接收超时,输出*号{cout<<" *"<<'\t'<<"Request timed out."<<endl;break;}else{break;}}iTTL++; //递增TTL值}}5 设计总结通过这次课程设计,让我受益匪浅,使我掌握了网络通信编程的基本思想。
网络嗅探器的设计与实现-毕业设计

毕业论文题目:网络嗅探器的设计与实现学院:数学与信息工程学院专业:计算机科学与技术此毕业设计还包括以下文件,需要的下载后留下邮箱方便发给大家网络嗅探器的设计与实现摘要:嗅探器,英文可以翻译为Sniffer,是一种基于被动侦听原理的网络分析方式。
使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。
实际上Sniffer技术被广泛地应用于网络故障诊断、协议分析、应用性能分析和网络安全保障等各个领域。
本次设计完成了一个较为简单的嗅探器,它实现了对本机的网络监控的作用,对IP包进行了分析,获得其运行的信息。
信息包括了源IP地址,目标IP地址,协议,时间,吞吐量,识别码,校验码,长度等等。
也可以保存所需要的包信息,也可选择所要嗅探的协议类型,以便获得要想的信息。
同时,通过POP3服务器设置端口的值来获取数据包,得到登入邮箱的帐号和密码。
关键词:嗅探器;协议;数据包;监听;吞吐量Design and Implementation of snifferZhang yin(College of Mathematics and Information Engineering, Jinxing University)Abstract:Sniffer, can be translated into English Sniffer,is a passive network analysis method based on the principle of listener. The use of such technology, can monitor the status of networks, data flows and information of network transmission. In fact Sniffer technology is widely used in network diagnosis, analysis of the agreement, performance analysis of the application and network security, and other fields.The design complete a relatively simple sniffer, it realized that the local network monitoring role, analysis the information of IP packet and get their information about the running system. Information includes the source address,destination address, protocol, time, throughput, identification, checking code, length and so on. It can save the information of required packet, and can choose the type of protocol to be sniffing, in order to get to the information.Meanwhile,it can get the Email’s log-mail account and password by analysis the port valu of the POP3 Server.Keywords:Sniffer; Protocol; Data packet; Monitor; Throughput目录1 绪论 (5)1.1 课题背景 (5)1.2 网络嗅探器的概述 (6)1.2.1 网络嗅探器的概念与原理 (6)1.2.2 网络嗅探的检测和防范 (7)1.2.3 网络嗅探器软件需要解决的问题 (8)2 网络嗅探器设计相关技术简述 (8)2.1 在交错环境下的嗅探技术 (8)2.1.1 ARP欺骗 (8)2.1.2 交换机MAC地址表溢出 (9)2.1.3 MAC地址伪造 (9)2.1.4 ICMP路由器发现协议欺骗 (9)2.1.5 ICMP重定向攻击 (9)2.2 C#语言编程 (10)2.3 网络协议 (10)2.3.1 IP (10)2.3.2 TCP (11)2.3.3 UDP (11)3 系统需求分析 (12)3.1 系统性能要求 (12)3.2 软件实现的功能 (12)4 网络嗅探器的相关拓展 (14)总结 (16)致谢 (16)参考文献 (17)附件 (18)1 绪论嗅探器,Sniffer是一种常用的收集有用数据方法,这些数据可以是用户的帐号和密码,可以是一些商用机密数据等等。
网络嗅探器的设计与实现

网络攻防技术实验报告嗅探器的设计与实现姓名:张梦学号:一、嗅探器的设计原理嗅探器作为一种网络通讯程序,也是通过对网卡的编程来实现网络通讯的,对网卡的编程也是使用通常的套接字(socket )方式来进行。
但是,通常的套接字程序只能响应与自己硬件地址相匹配的或是以广播形式发出的数据帧,对于其他形式的数据帧比如已到达网络接口但却不是发给此地址的数据帧,网络接口在验证投递地址并非自身地址之后将不引起响应,也就是说应用程序无法收取到达的数据包。
而网络嗅探器的目的恰恰在于从网卡接收所有经过它的数据包,这些数据包即可以是发给它的也可以是发往别处的。
显然,要达到此目的就不能再让网卡按通常的正常模式工作,而必须将其设置为混杂模式。
二、嗅探器的开发基础1、嗅探器的实现目标(1)实现网络嗅探器的界面。
(2)实现抓取数据包的功能。
(3)实现暂停抓取数据包功能。
(4)实现清空列表功能。
2、嗅探器的技术支持简介(1)TCP/IP 协议分析TCP/IP 是供已连接因特网的计算机进行通信的通信协议。
TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。
TCP/IP 是一个四层的分层体系结构。
高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。
这些包通过网络传送到接收端的TCP层,接收端的TCP层把包还原为原始文件。
低层是网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。
网络上的网关计算机根据信息的地址来进行路由选择。
即使来自同一文件的分包路由也有可能不同,但最后会在目的地汇合。
TCP/IP 使用客户端/ 服务器模式进行通信。
TCP/IP通信是点对点的,意思是通信是网络中的一台主机与另一台主机之间的。
TCP/IP 与上层应用程序之间可以说是“没有国籍的”,因为每个客户请求都被看做是与上一个请求无关的。
正是它们之间的“无国籍的”释放了网络路径,才是每个人都可以连续不断的使用网络。
网络嗅探软件课程设计

网络嗅探软件课程设计一、课程目标知识目标:1. 让学生理解网络嗅探软件的基本概念、原理和功能。
2. 掌握网络嗅探软件的使用方法和操作流程。
3. 了解网络嗅探软件在网络安全防护和数据分析中的应用。
技能目标:1. 培养学生运用网络嗅探软件进行数据捕获、分析和解读的能力。
2. 提高学生运用网络嗅探软件解决实际问题的能力。
3. 培养学生独立思考和团队协作的能力。
情感态度价值观目标:1. 培养学生正确的网络安全意识,遵守网络道德规范。
2. 增强学生对我国网络安全的责任感,激发爱国情怀。
3. 引导学生树立正确的价值观,抵制不良网络行为。
课程性质:本课程为信息技术学科,旨在让学生掌握网络嗅探软件的基本知识和操作技能,提高网络安全意识。
学生特点:学生处于高年级阶段,具有一定的网络知识和操作技能,对网络技术有较高的兴趣。
教学要求:结合学生特点和课程内容,注重实践操作,提高学生的实际操作能力和问题解决能力。
同时,注重培养学生的情感态度和价值观,使他们在掌握知识技能的同时,树立正确的网络安全观念。
通过本课程的学习,学生能够达到以上所述的知识、技能和情感态度价值观目标。
二、教学内容1. 网络嗅探软件概述- 网络嗅探软件的定义与功能- 网络嗅探软件的分类与应用2. 网络嗅探原理- 数据包捕获原理- 数据包分析原理3. 常用网络嗅探软件介绍- Wireshark- Fiddler- Tcpdump4. 网络嗅探软件的安装与使用- 软件下载与安装- 基本操作与功能使用5. 实践操作与案例分析- 数据捕获与分析- 网络问题诊断与解决- 安全隐患识别与防范6. 网络安全意识与道德规范- 遵守法律法规- 抵制不良网络行为- 保护个人隐私与数据安全教学内容安排与进度:第一课时:网络嗅探软件概述、常用网络嗅探软件介绍第二课时:网络嗅探原理、安装与使用第三课时:实践操作与案例分析第四课时:网络安全意识与道德规范本章节内容与课本紧密关联,确保科学性和系统性。
网络嗅探器实验报告

网络攻击与防御技术实验报告实验目的:本实验通过研究Winpcap中常用的库函数的使用方式来实现了一个小型的网络数据包抓包器,并通过对原始包文的分析来展示当前网络的运行状况。
实验内容:1.实现对网络基本数据包的捕获2.分析捕获到的数据包的详细信息实验环境:1.WpdPack_4_0_1支持库2.VC++6.0开发环境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. 学生能理解网络嗅探器的基本原理和功能。
2. 学生能掌握网络嗅探器的工作流程和使用方法。
3. 学生了解网络安全知识,认识到网络嗅探器的合法与非法应用。
技能目标:1. 学生能够运用网络嗅探器进行数据包捕获和解析。
2. 学生能够分析捕获到的数据包,提取有用信息。
3. 学生能够独立完成网络嗅探器的操作,解决实际网络问题。
情感态度价值观目标:1. 学生培养对网络技术的兴趣,提高探究网络知识的热情。
2. 学生树立正确的网络安全意识,遵循法律法规,抵制非法网络行为。
3. 学生通过本课程的学习,增强团队协作能力,培养自主学习和解决问题的能力。
分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握网络嗅探器相关知识的基础上,提高实际操作技能,同时注重培养学生的网络安全意识和团队协作能力。
课程目标具体、可衡量,便于后续教学设计和评估。
二、教学内容1. 网络嗅探器原理及功能- 网络嗅探器的定义与作用- 数据包捕获与解析原理- 常用网络嗅探器软件介绍2. 网络嗅探器操作与实践- 安装与配置网络嗅探器- 数据包捕获、过滤与分析- 常见协议的数据包解析方法3. 网络安全与合法应用- 网络嗅探器的合法应用场景- 网络嗅探器在网络安全中的作用- 非法网络嗅探行为的危害及法律责任4. 教学案例分析与讨论- 实际案例介绍与问题分析- 团队协作分析与解决方案- 教师点评与总结教学内容依据课程目标,注重科学性和系统性,按照以下教学大纲进行安排:第1周:网络嗅探器原理及功能第2周:网络嗅探器操作与实践第3周:网络安全与合法应用第4周:教学案例分析与讨论教学内容与课本紧密关联,结合实际教学进度,确保学生能够逐步掌握网络嗅探器的相关知识。
三、教学方法本课程采用多样化的教学方法,旨在激发学生的学习兴趣和主动性,提高教学效果。
1. 讲授法:- 对于网络嗅探器的基本原理、功能以及网络安全等理论知识,采用讲授法进行教学。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《网络与信息安全技术》课程报告课题名称:网络嗅探器提交报告时间:2010年12月17日网络嗅探器专业组号指导老师[摘要]随着网络技术的飞速发展,网络安全问题越来越被人重视。
嗅探技术作为网络安全攻防中最基础的技术,既可以用于获取网络中传输的大量敏感信息,也可以用于网络管理。
通过获取网络数据包的流向和内容等信息,可以进行网络安全分析和网络威胁应对。
因此对网络嗅探器的研究具有重要意义。
本课程设计通过分析网络上常用的嗅探器软件,在了解其功能和原理的基础上,以VC为开发平台,使用Windows环境下的网络数据包捕获开发库WinPcap,按照软件工程的思想进行设计并实现了一个网络嗅探工具。
该嗅探工具的总体架构划分为5部分,分别是最底层的数据缓存和数据访问,中间层的数据捕获,协议过滤,协议分析和最顶层的图形画用户界面。
本嗅探器工具完成了数据包捕获及分析,协议过滤的主要功能,实现了对网络协议,源IP 地址,目标IP地址及端口号等信息的显示,使得程序能够比较全面地分析出相关信息以供用户参考决策。
关键词:网络嗅探;WinPcap编程接口;数据包;网络协议;多线程(中文摘要在150字左右。
摘要正文尽量用纯文字叙述。
用五号宋体字。
姓名与摘要正文之间空二行。
关键词与摘要之间不空行。
“摘要”这两个字加粗)关键词:入侵检测系统;感应器;分析器;分布式入侵检测系统模型Network snifferMajor: software engineeringGroup Number: 29[Abstract] With the rapid development of network technology, network security is increasingly being attention. Sniffing network security technology as the most basic offensive and defensivetechniques, both used to obtain a large number of network transmission of sensitive information can also be used for network management. Access to network packets through the flow and content and other information, can be network security threat analysis and response networks. Therefore, the network sniffer is of great significance.The course is designed by analyzing the commonly used network sniffer software, to understand the functions and principles, based on the VC as a development platform, using the Windows environment, the development of network packet capture library WinPcap, according to software engineering design And implementation of a network sniffer tool. The overall structure of the sniffer is divided into five parts, namely, the bottom of the data caching and data access, middle layer of the data capture, protocol filtering, protocol analysis and top graphic art user interface.The completed tool sniffer packet capture and analysis of data, protocol filtering of the main functions, the realization of network protocol, source IP address, destination IP address and port number and other information display, makes the program out to a more comprehensive analysis of relevant information Decision-making for user reference[Keyword]network sniffer; WinPcap programming interface; data packet; network protocol; multi-threaded《网络与信息安全》课程报告.......................................................................... 错误!未定义书签。
第一章绪论....................................................................................................... 错误!未定义书签。
1.1背景 .............................................................................................................. 错误!未定义书签。
1.2国内外现状................................................................................................... 错误!未定义书签。
1.3本文工作....................................................................................................... 错误!未定义书签。
第二章相关技术............................................................................................... 错误!未定义书签。
2.1嗅探原理....................................................................................................... 错误!未定义书签。
2.2捕获机制....................................................................................................... 错误!未定义书签。
2.3Winpcap功能介绍......................................................................................... 错误!未定义书签。
2.4 Winpcap体系结构 ........................................................................................ 错误!未定义书签。
第三章研究内容描述 ....................................................................................... 错误!未定义书签。
第四章测试环境和过程描述............................................................................ 错误!未定义书签。
4.1 程序调试...................................................................................................... 错误!未定义书签。
4.2 程序测试...................................................................................................... 错误!未定义书签。
第五章小结....................................................................................................... 错误!未定义书签。
5.1成果 .............................................................................................................. 错误!未定义书签。
5.2展望 .............................................................................................................. 错误!未定义书签。
第一章绪论嗅探器是一种利用计算机网络接口监视网络数据运行,截获网络数据的工具,可用于网络管理,网络协议分析以及网络安全等众多方面。
在网络攻防技术中,嗅探器技术是最为基础的一种技术。
从攻防的角度,黑客可以利用嗅探器程序非法获取网络中传输的大量敏感信息,如账号和口令等,对网络安全极具威胁;从防守的角度,嗅探技术是基于网络的入侵检测系统的最底层环节,是整个系统的数据来源。
1.1背景随着网络技术的迅速发展,加速了全球信息化进程,各种重要数据在网上的传播日益普遍,使得网络安全问题越来越为人们所关注。
网络嗅探器作为一种网络数据监听程序,在网络安全攻防方面扮演了很重要的角色,目前已经有不少的嗅探工具,譬如在Windows环境下,最富盛名的工具是Netxray,Sniffer pro,在UNIX环境下是sniffer和snoop,以及同时支持Linux和windows平台的Ethereal 等工具都是比较常见的。