1、毕 业 设 计(论 文)设计(论文)题目: 局域网监听软件设计与实现 学 院 名 称: 电子与信息工程学院 专 业: 计算机科学与技术 班 级: 10计科(2) 姓 名: XXXX 学 号 XXXXXXXX 指 导 教 师: XXXX 职 称 专家 定稿日期: 4月30日局域网监听软件设计与实现 摘 要互联网给咱们社会和个人带来了太多便利和益处。社会运作涉及公共设施及其服务、政府运作和个人生活,已经越来越离不开电脑和互联网了。这使得互联网安全这一潜在威胁迅速、悄然但又爆炸式地产生了。公民个人隐私、通讯和表达自由受到直接冲击。从邮件、电话到电子文档和其她资料,乃至行踪、消费记录等,咱们似乎可以变
2、成透明。近来沸沸扬扬棱镜门和Heartbleed漏洞更是为世人敲响了网络安全警钟。对局域网内数据监听系统研究,对于维护网络稳定性和解决网络安全问题有着重要意义,它可以用来协助诊断网络中路由设备,其她网络连接设备,查看网络上数据报传送状况,利于网络管理员管理与维护。我局域网监听软件重要采用WinPCap开发工具和C+语言在VisualStudio编译器下进行开发。软件实现了对局域网内数据进行捕获以及过滤,并分析出每一合同层传播数据重要字段和内容。之后再将其显示,同步进行动态更新。通过长时间使用,证明该软件运营可靠稳定,捕获数据精确,易于使用。核心词:互联网安全,局域网监听,WinPCap,多合同
3、分析DESIGN AND IMPLEMENTATION OF LAN MONITORING SOFTWARE ABSTRACTInternet has brought much convenience and benefits to our everyday life.Social functioning,including public facilities and services,government operations and personal life has become increasingly dependent on computers and the Internet.
4、This makes the potential threat to Internet security quickly,quietly but explosively generated. The privacy of individual citizens,freedom of communication and expression direct impact. From e-mail,telephone to electronic documents and other information,as well as the whereabouts of consumer records
5、,it seems that we can become transparent. Recent uproar the US surveillance program PRISM and Heartbleed loophole is for the world sounded the alarm for network security. Research on data monitoring system in LAN,plays an important role in maintainingthe stability of the network and solve the proble
6、m of network security,it can be used to help diagnose routing equipment in the network,the other network connection device,check the transmission of the data on the network,management and maintenance to the network administrator.This LAN monitoring software developed with WinPcap,using the C + + lan
7、guage compiler under VisualStudio.This software is mainly realizes in monitoring the network ,data analyzes and analyze the main field data for each protocol layer.After that,it shows with carries on the dynamic renewal. After a long period of use,the software is reliable and stable,also able to acc
8、urately capture data and easy to use.Key Words:internet security,lan monitoring,winpcap,multi-protocol analysis目录摘 要IABSTRACTII目录IV第1章绪论61.1研究目和意义61.2局域网监听技术发展71.2.1 局域网监听技术原理71.2.2 局域网监听实现办法7第2章网络传播技术概述92.1网络传播模型92.1.1 TCP/IP模型92.1.2 OSI模型112.1.3 TCP/IP模型和OSI模型关系122.2重要数据包构造142.2.1 以太网帧格式142.2.2 IP
9、数据包格式152.2.3 TCP数据报162.3WinPCap简介182.3.1 WinPCap重要函数182.3.2 WinPCap过滤器表达式20第3章需求分析223.1顾客需求223.2功能需求223.3性能需求23第4章系统设计244.1开发环境244.2系统构造244.2.1 构造描述244.2.2 系统架构244.3设计思路254.4基于WinPCap开发应用程序254.5程序流程26第5章系统实现285.1总体设计285.2模块设计295.2.1 网卡初始化295.2.2 数据包捕获295.2.3 数据包分析335.2.4 过滤器模块设计35第6章总结38参照文献39道谢40作品
10、(软件)使用阐明书41第1章 绪论1.1 研究目和意义随着计算机技术发展,网络与咱们生活紧密相连,甚至已经成为生活中一某些,然而越来越多网络袭击正在一步步侵犯着咱们网络安全。黑客们很容易截获在局域网中传播数据包,通过对数据包进行分析,就能得到数据包内重要信息。通过这种方式,咱们使用密码,发送邮件等私密信息无疑就暴露在别人面前,给个人隐私等信息带来很大安全威胁!固然,咱们也可以运用网络监听技术,获取黑客入侵信息,甚至可以提前做好防止工作,这样对保护咱们信息安全无疑是一种获得了巨大先机。因而,理解网络监听实现原理就显得尤为重要1 林莲芳. 浅谈局域网监听原理及其防范对策J. 科技广场,.3:82-
11、84。网络监听是信息安全领域内一项非常重要和使用技术,她来源是网络管理员为了诊断网络故障需要,而监听网络中传播数据信息。在网络管理和维护中,网络管理和维护人员经常运用网络监听技术监控网络当前信息状况,网络流量,进行网络访问记录分析等等。除此之外,网络监听还可以发现网络中存在安全隐患,及时采用相应办法,不让黑客有机可乘。但在现实生活中,网络监听技术往往能在黑客手中发挥更大作用,它们运用网络监听技术窃取顾客私密资料。对于普通顾客来说,被监听也许只是泄露个人隐私资料;而对于金融机构等资料敏感顾客,恶意网络监听更会带来难以弥补金钱和信用损失。综上所述,对于局域网数据监听系统研究,有助于维护计算机网络安
12、全。对于网络管理者来说,局域网监听可以辨认网络中路由设备,查看局域网中传播数据包,记录网络流量,并可以侦测到非法入侵,找出网络中潜在问题等。同步,管理员还可以运用网络监听软件解决某些网络故障,例如网络延时,丢包等问题。如果不凭借监听软件,就无法精确懂得问题出在何处。在大型网络中,它存在对系统管理员是非常重要,凭借从局域网监听软件获取信息,系统管理员可以理解网络中浮现问题,给出相应解决办法,这给网络环境管理与维护提供了非常宝贵信息。1.2 局域网监听技术发展1.2.1 局域网监听技术原理局域网监听基本原理是数据在局域网环境下进行传播时,包括物理地址帧数据能送达到线路上每一台主机。当数据到达一台主
13、机网卡时,在正常状况下,网卡读取数据帧,并进行检查,如果数据帧中所包括物理地址和本机物理地址或者广播地址相似,则将该数据帧交由IP层进行解决,否则就将该数据帧丢弃。当主机将该网卡置于混杂模式时,所有数据帧都将交由IP层进行解决,并不会发生因物理地址不符而将该数据帧丢弃状况。也就是说,在局域网环境下同一根线缆上传播所有数据都会被该主机接受到,进而可以将所有接受到数据进行分析,从而得出顾客所需要数据2 周茜,谢智学. 网络监听技术原理与应用J . 科技信息,( 2):533 John Wiley. Preparing Your Network to Survive Security Attacks
14、/ ColeM. Sons Inc,。1.2.2 局域网监听实现办法要在局域网中监听,就需要主机工作在监听模式下,需要向网络接口发出I/O 控制命令,将其设立成监听模式。在Unix系统中,需要超级顾客权限来发送命令。但在Windows系统中,就没这个限制。这种工作并不复杂,当前有太多工具软件可以做到这一点,在诸多黑客网站或者从事网络安全管理网站都能找到。在Unix环境下,监听工具非常多,如Sniffit、Snoop、Dsniff等都是常用,她们都免费发布源代码,可以进行研究。而在Windows环境下,惯用网络监听工具固然是知名Sniffer pro了,事实上诸多人都是用它在Windows环境下
15、抓包来分析4 胡晓元,史浩山. WinPcap包截获系统分析及其应用J. 计算机工程,31(2):96-98.。(1) Sniffit:Sniffit可以运营在Solaris、SGI和Linux等平台上,是由Lawrence Berkeley Laboratory开发一种免费网络监听软件。举例阐明:# Sniffit- a- p21- t xxx. xxx. xxx. xxx监听流向机器xxx. xxx. xxx. xxx21端口( FTP)信息,并以ASCII显示5 方文. 网络监听利器一sniffit简介J.上海微型计算机,-10-23.。(2)Sniffer pro:通过对用监听工具捕获
16、数据帧进行分析,可以很容易发现敏感信息和重要信息。例如,在使用Sniffer pro对局域网进行一段时间监听后,分析所得数据,就能直接看到某些在监听期间该网顾客名和口令,都以明码显示,由此也可以看到局域网监听技术如果用于不合法目会有多大危害6 邱亮,孙亚刚著. 网络安全工具及案例分析M. 北京:电子工业出版社,。第2章 网络传播技术概述2.1 网络传播模型计算机网络采用两种传播模型进行传播:合同模型和参数模型。合同模型提供了与特定合同族构造精准匹配模型。TCP/IP模型描述了TCP/IP 合同族中每个合同层实现功能,因而属于合同模型。参照模型为各类网络合同和分服务之间保持一致性提供了通用参照,
17、参照模型重要用途是帮组人们更清晰地理解涉及功能和过程。开放式系统互联(OSI)模型是一种参照模型。2.1.1 TCP/IP模型TCP/IP是Transmission Control Protocol/Internet Protocol简写,中译名为传播控制合同/因特网互联合同,又名网络通讯合同,是Internet最基本合同、Internet国际互联网络基本,由网络层IP合同和传播层TCP合同构成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传播原则。合同采用了4层层级构造,每一层都呼喊它下一层所提a供合同来完毕自己需求。通俗而言:TCP负责发现传播问题,一有问题就发出信号
18、,规定重新传播,直到所有数据安全对的地传播到目地。而IP是给因特网每一台电脑规定一种地址7 W .Richard Stevens. TCP/IP 详解卷M . 北京:机械工业出版社,。(1)网络接口层物理层是定义物理介质各种特性:1、机械特性;2、电子特性;3、功能特性;4、规程特性。数据链路层是负责接受IP数据包并通过网络发送,或者从网络上接受物理帧,抽出IP数据包,交给IP层。ARP是正向地址解析合同,通过已知IP,寻找相应主机MAC地址。RARP是反向地址解析合同,通过MAC地址拟定IP地址。例如无盘工作站尚有DHCP服务。常用接口层合同有:Ethernet 802.3、Token Ri
19、ng 802.5、X.25、Frame relay、HDLC、PPP ATM等。(2)网络层负责相邻计算机之间通信。其功能涉及三方面。解决来自传播层分组发送祈求,收到祈求后,将分组装入IP数据报,填充报头,选取去往信宿机途径,然后将数据报发往恰当网络接口。解决输入数据报:一方面检查其合法性,然后进行寻径-如果该数据报已到达信宿机,则去掉报头,将剩余某些交给恰当传播合同;如果该数据报尚未到达信宿,则转发该数据报。解决途径、流控、拥塞等问题。网络层涉及:IP(Internet Protocol)合同、ICMP(Internet Control Message Protocol)控制报文合同、ARP
20、(Address Resolution Protocol)地址转换合同、RARP(Reverse ARP)反向地址转换合同。IP是网络层核心,通过路由选取将下一条IP封装后交给接口层。IP数据报是无连接服务。ICMP是网络层补充,可以回送报文。用来检测网络与否畅通。Ping命令就是发送ICMPecho包,通过回送echo relay进行网络测试。(3)传播层提供应用程序间通信。其功能涉及:一、格式化信息流;二、提供可靠传播。为实现后者,传播层合同规定接受端必要发回确认,并且如果分组丢失,必要重新发送,即耳熟能详“三次握手”过程,从而提供可靠数据传播。传播层合同重要是:传播控制合同TCP(Tra
21、nsmission Control Protocol)和顾客数据报合同UDP(User Datagram protocol)。(4)应用层向顾客提供一组惯用应用程序,例如电子邮件、文献传播访问、远程登录等。远程登录TELNET使用TELNET合同提供在网络其他主机上注册接口。TELNET会话提供了基于字符虚拟终端。文献传播访问FTP使用FTP合同来提供网络内机器间文献拷贝功能。应用层合同重要涉及如下几种:FTP、TELNET、DNS、SMTP、NFS、HTTP。FTP(File Transfer Protocol)是文献传播合同,普通上传下载用FTP服务,数据端口是20H,控制端口是21H。T
22、elnet服务是顾客远程登录服务,使用23H端口,使用明码传送,保密性差、简朴以便。DNS(Domain Name Service)是域名解析服务,提供域名到IP地址之间转换,使用端口53。SMTP(Simple Mail Transfer Protocol)是简朴邮件传播合同,用来控制信件发送、中转,使用端口25。NFS(Network File System)是网络文献系统,用于网络中不同主机间文献共享。HTTP(Hypertext Transfer Protocol)是超文本传播合同,用于实现互联网中WWW服务,使用端口808 百度百科. TCP/IP合同EB/OL. ,-04-09。2
23、.1.2 OSI模型OSI是Open System Interconnect缩写,意为开放式系统互联。 普通都叫OSI参照模型,是ISO(国际原则化组织)组织在1985年研究网络互联模型。该体系构造原则定义了网络互连七层框架。重要如下:(1)应用层(Application Layer)应用层是OSI参照模型顶层,该层通过应用程序来完毕顾客需求,是顾客与网络接口。重要完毕文献传播、收发电子邮件等功能。(2)表达层(Presentation Layer)初期表达层用来转化字符数据编码等显示有关功能。当前由于应用层能完毕一某些表达层功能,因而功能有所淡化。(3)会话层(Session Layer)会
24、话指是顾客与顾客连接。会话层负责在两台计算机之间建立,管理和终结通信,就犹如两台计算机之间对话。会话层因而而得名。(4)传播层(Transport Layer)传播层是整个OSI模型中最核心一层,是模型中中心层,充当心脏作用。在它之下层级实现通信,而它之上层级则对通信进行管理。它负责数据传播和控制,提供端到端数据控制。传播层独立于物理网络运营。此外它还负责数据重传任务。(5)网络层(Network Layer)网络层定义了通信合同,它把逻辑地址转换成物理地址。同步,网络层还提供选取路由功能,路由器功能就在这一层实现。它为传播层提供支持。(6)数据链路层(Data Link Layer)数据链路
25、层位于物理层与网络层之间。在数据链路层上传播数据为帧。该层目是保证在节点之间传播数据帧对的性。(7)物理层(Physical Layer)物理层是OSI参照模型最底层。顾名思义,它为数据传播建立物理连接。完毕通过物理线路在两个节点间传播比特流9 百度百科. OSI参照模型EB/OL. ,-03-27。2.1.3 TCP/IP模型和OSI模型关系TCP/IP合同并不可以与OSI模型完全匹配,TCP/IP不是使用7层,而是使用4层,它普通也叫做Internet合同套件,它分为下面4层:1. 网络接口层2. 互连网层3. 传播层4. 应用层这4层每一层相应于OSI模型一层或者各种层。表2-1 TCP
26、/IP合同簇和OSI相应层级比较OSI层级TCP/IP合同功能应用层TFTP,HTTP,SNMP,FTP等文献传播,电子邮件,文献服务等表达层无数据格式化,代码转换,数据加密会话层无解除或建立别连接点联系传播层TCP,UDP提供端对端接口网络层IP,ICMP,OSPF,ARP等为数据包选取路由数据链路层SLIP,PPP,MTU,RARP等传播有地址帧以及错误检测功能物理层ISO2110,IEEE802等二进制形式在物理媒体上传播数据TCP/IP合同簇相应OSI相应层级,如下图所示:图2-1 TCP/IP合同簇相应OSI相应层级2.2 重要数据包构造2.2.1 以太网帧格式以太网帧是OSI参照模
27、型数据链路层封装。它是对网络层传播数据包加上帧头帧尾进行封装,从而构成了可被数据链路层辨认数据帧。在以太网帧当中,帧头和帧尾数据大小是固定不变,但是由于被封装数据包大小是可变,因此以太网帧大小是可变不固定。大小范畴在64-1518字节之间。以太网V2MAC帧格式。该原则由5个字段构成:目地址、源地址、类型、数据报、效验。前导码:涉及同步码(用来使局域网中所有节点同步,7字节长)和帧标志(帧起始标志,1字节)两某些;目地址:接受端MAC地址,6字节长;源地址:发送端MAC地址,6字节长;类型:数据包类型(即上层合同类型),2字节长;数据:被封装数据包,46-1500字节长:校验码:错误检查,4字
28、节长。分析每一帧可以得到此数据包源MAC地址和目MAC地址,并且可以得到IP数据报完整内容(如果是ARP合同则没有IP数据包)。IP数据报第4至7位是IP首部长度,该字段可以用来准拟定位上层合同起始位置。第10字节是合同字段,指出该IP数据报携带数据使用何种合同。以太网头数据构造描述如下:typedef struct ethernet_headeru_char dstmac6;/目的mac地址u_char srcmac6;/源mac地址u_short eth_type;/以太网类型ethernet_header;10 D. S. Malik 著,晏海华,蔡旭辉译. C+编程数据构造与程序设计办
29、法 M . 北京:电子工业出版社,2.2.2 IP数据包格式图2-2 IP数据报首部构成表2-2 IP数据包总体构造数据包IP首部信息首部(如TCP、UDP首部)数据以太网V2原则重要特点是通过类型域标记了封装在帧里数据包所采用合同,类型域是一种有效指针,通过它,数据链路层就可以承载各种上层(网络层)合同。但是,它缺陷是没有标记帧长度字段。依照前面定义,数据包普通都从数据链路层获取,因而,本软件按照获取数据格式先后,先解决链路层之上数据帧,之后分别是网络层,传播层以及应用层上数据。在对数据链路层上太网帧进行分析之后,咱们就可以得到IP数据包。IP数据包数据构造描述如下:typedef stru
30、ct ip_header u_char ihl:4;/*首部长度(4 bits)*/ u_char ver:4;/*版本(4 bits)*/u_char tos;/* 服务类型 */ u_short tlen;/*总长度*/ u_short identification;/*标记*/ u_short fo:13;/*片偏移(13 bits)*/ u_short flags:3;/*标志 (3 bits) */u_char ttl;/*生存时间*/ u_char proto;/*合同*/ u_short crc;/*首部检查和 */ ip_address saddr;/*源地址*/ ip_add
31、ress daddr;/*目的地址*/ u_int op_pad;/*可选+填充*/ ip_header;2.2.3 TCP数据报图2-3 TCP数据报构成源端口和目端口字段各占2字节。端口是传播层与应用层服务接口。传播层复用和分用功能都要通过端口才干实现。序号字段占4字节。TCP连接中传送数据流中每一种字节都编上一种序号。序号字段值则指是本报文段所发送数据第一种字节序号。确认号字段占4字节,是盼望收到对方下一种报文段数据第一种字节序号。数据偏移占4bit,它指出TCP报文段数据起始处距离 CP报文段起始处有多远。“数据偏移”单位不是字节而是32bit字(4字节为计算单位)。保存字段占6bit
32、,保存为此后使用,但当前应置为0。紧急比特URG当URG1时,表白紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相称于高优先级数据)。确认比特ACK只有当ACK1时确认号字段才有效。当ACK0时,确认号无效。复位比特RST(Reset) 当RST1时,表白TCP连接中浮现严重差错(如由于主机崩溃或其她因素),必要释放连接,然后再重新建立运送连接。同步比特SYN同步比特SYN置为1,就表达这是一种连接祈求或连接接受报文。终结比特FIN用来释放一种连接。当FIN1时,表白此报文段发送端数据已发送完毕,并规定释放运送连接。窗口字段占2字节。窗口字段用来控制对方发送数据量,单位为字节。
33、TCP连接一端依照设立缓存空间大小拟定自己接受窗口大小,然后告知对方以拟定对方发送窗口上限。检查和占2字节。检查和字段检查范畴涉及首部和数据这两某些。在计算检查和时,要在TCP报文段前面加上12字节伪首部。紧急指针字段占16bit。紧急指针指出在本报文段中紧急数据最后一种字节序号。选项字段长度可变。TCP首部可以有多达40字节可选信息,用于把附加信息传递给终点,或用来对齐其他选项。填充字段这是为了使整个首部长度是4字节整数倍。TCP数据报数据构造描述如下:typedef struct tcp_header /20 bytes :defaultu_short sport; /源端口u_short
34、 dport; /目的端口u_long seqno; /Sequence nou_long ackno; /Ack nou_char reserved_1:4;/保存6位中4位首部长度u_char offset:4; /tcp头部长度u_char flag:6; /6位标志u_char reserved_2:2;/保存6位中2位u_short win;u_short checksum;u_short uptr;tcp_header;2.3 WinPCap简介WinPCap是在Windows环境下链路层网络访问行业原则工具。它容许应用程序绕过合同栈进行数据捕获和发送,并且尚有其她功能,其中涉及内
35、核级别包过滤,网络流量记录以及远程数据包捕获等功能。WinPCap扩展了操作系统所提供低档别网络访问功能,它也提供了一种库用于更以便访问网络层级中底层。该库也包括了UNIX下众所周知libpcap APIWindows版本11 The WinPcap Team. WinPcap 中文技术文档EB/OL. ,-05-2512 全天形,程伟. TCPDUMP-网络分析利器J.计算机应用研究,(11):54-55.。WinPCap重要提供如下功能:(1)捕获原始数据包,无论它是发往某台机器,还是在其她设备(共享媒介)上进行互换,在数据包发送给某应用程序前,依照顾客指定规则过滤数据包,将原始数据包通过
36、网络发送出去。(2)设立filter,只捕获自己敢兴趣数据包。(3)以便把捕获数据包输出到文献和从文献输入。(4)记录网络流量。2.3.1 WinPCap重要函数1.pcap_if_t 构造体,表达适配器列表中一项。struct pcap_if struct pcap_if *next; char *name; /* name to hand to pcap_open_live() */ char *description; /* textual description of interface,or NULL */ struct pcap_addr *addresses; bpf_u_int
37、32 flags; /* PCAP_IF_ interface flags */2.pcap_findalldevs_ex() 获取适配器列表,返回0表达正常,-1表达出错。int pcap_findalldevs_ex(char *source,struct pcap_rmtauth *auth,pcap_if_t *alldevs,char *errbuf);3.pcap_freealldevs() 释放适配器链表空间。void pcap_freealldevs(pcap_if_t *);4.pcap_open() 通过名字打开适配器。pcap_t *pcap_open(const cha
38、r *source,int snaplen,int flags,int read_timeout,struct pcap_rmtauth *auth,char *errbuf);5.pcap_compile() 编译数据包过滤器,将程序中高档过滤表达式,转换成能被内核级过滤引擎所解决东西。对于bpf_program构造体咱们只需要懂得它是pcap_compile()最后要得到用来过滤东西。13 谢小特,王勇军. 基于WinPcap捕包程序设计J. 软件导刊,(21)int pcap_compile(pcap_t *,struct bpf_program *,const char *,int,
39、bpf_u_int32);6.pcap_setfilter() 在捕获过程中绑定一种过滤器。至于pcap构造体,它是一种已打开捕获实例描述符。这个构造体对顾客来说是不透明,它通过wpcap.dll提供函数,维护了它内容。int pcap_setfilter(pcap_t *,struct bpf_program *);7.pcap_next_ex() 直接获得一种数据包,非回调办法;pcap_pkthdr构造体表达dump文献中数据包首。int pcap_next_ex ( pcap_t * p, struct pcap_pkthdr * pkt_header, const u_char *
40、pkt_data )8.pcap_dump_open() 打开一种文献来写入数据包;而pcap_dumper构造体表达libpcap存储文献描述符pcap_dumper_t *pcap_dump_open(pcap_t *,const char *);typedef struct pcap_dumper pcap_dumper_t;2.3.2 WinPCap过滤器表达式WinPCap过滤器语法基于一种声明式谓词语法。过滤器则是一种包括了过滤表达式ASCII字符串。Pcap_compile()获取这个表达式并将其翻译为一种内核级包过滤器程序。这个过滤表达式用于选取需要dump数据包。如果没有给定
41、过滤表达式,内核级过滤引擎将会接受所有数据包。否则,只有带入表达式之后其值为true包才会被接受。重要规则如下: (1) 表达式支持逻辑操作符,可以使用核心字 and、or、not对子表达式进行组合,同步支持使用小括号。 (2) 基于合同过滤要使用合同限定符,合同限定符可觉得ip、arp、rarp、tcp、udp等。 (3) 基于MAC地址过滤要使用限定符ether(代表以太网地址)、当该MAC地址仅作为源地址时表达式为ether src mac_addr,仅作为目地址时,表达式为ether dst mac_addr,既作为源地址又作为目地址时表达式为ether host mac_addr。此
42、外应注意mac_addr应当遵从00:E0:4C:E0:38:88格式,否则编译过滤器时会出错。 (4) 基于IP地址过滤应当使用限定符host(代表主机地址)。当该IP地址仅作为源地址时过滤表达式应为 src host ip_addr,仅作为目地址时表达式为 dst host ip_addr,既作为源地址又作为目地址时表达式为 host ip_addr。 (5) 基于端口过滤应使用限定符 port。例如仅接受80端口数据包则表达式为port 8014 The Tcpdump Team. Tcpdump顾客手册EB/OL. ,-12-03。下边给出两个例子:例1:只捕获arp或icmp数据包。
43、过滤表达式:arp or(ip and icmp)。例2:捕获主机192.168.1.23与192.168.1.28之间传递所有UDP数据包。过滤表达式:(ip and udp)and( host 192.168.1.23 or host 192.168.1.28)。第3章 需求分析3.1 顾客需求网络袭击严重威胁到了顾客上网安全。从袭击者角度而言,袭击者可以运用网络抓包技术非法获取网络中传播大量敏感信息。如顾客隐私,密码等。对网络安全极具威胁性。从防护角度而言,网络抓包技术从网络传播最底层,把握整个传播数据来龙去脉,这无疑给发现非法袭击者提供了诸多有价值信息。并可以依照这些信息提早最佳防护办
44、法,从而避免产生劫难性后果。咱们通过对该软件对数据进行分析运用,维护网络安全稳定,因而提出了如下需求:(1)可以捕获网络数据包,并能对所捕获数据包进行分析。 (2)能定制一定过滤规则,过滤掉一某些不需要数据,从而减少分析复杂度。(3)界面和谐,操作简朴。(4)程序健壮,不易崩溃。3.2 功能需求当前局域网监听抓包技术趋于多样化,本文实现方式是将网卡设备置于混杂模式,这样网卡可以直接接受数据链路层数据。为了实现顾客所提出各种需求,抓包工具必须达到如下功能:(1)运营于数据链路层,监视网络状态,对数据帧进行捕获和记录,为优化网络性能、增强系统安全性提供充分有效根据。此时工作网卡处在混杂模式。(2)
45、可以对网络中捕获数据包解码,用于故障分析。如数据包编号、时间戳、数据包长度、合同类型、源IP地址、目IP地址、源端标语、目端标语源、MAC地址、目MAC地址等有关信息。(3)和谐图形化界面,不需要复杂命令,大某些功能通过鼠标点击就可达到,操作简朴、以便。(4)顾客可以自定义过滤规则,使数据包捕获更加精准和具备灵活性,增强了软件功能以及与顾客交互能力。(5)程序带有流量记录和包流量记录功能,使得可以实时观测网络状况。3.3 性能需求为了保证良好顾客体验,程序界面相应时间必要控制在一种低范畴内。程序执行效率必要要高,速度必要要快。由于该程序必要要做到在捕获数据同步能与顾客进行交互,因而需采用多线程程序设计。保证在捕获数据同步不会导致界面假死,给顾客导致程序卡死错觉。除此之外,还提出如下规定:(1)数据精准性。捕获到数据包并不但仅是单纯数据信息,而是包具有IP头、TCP头等信息头最原始数据信息,这些信息保存了它在网络传播时原貌,为分析网络信息提供了重要资料。(2)适应范畴。普通状况下,大多数抓包工具至少可以分析下面合同:原则以太网、TCP、UDP、ICMP、ARP、IGMP等。