局域网监听软件的设计和实现.docx

上传人:b****8 文档编号:10054114 上传时间:2023-02-08 格式:DOCX 页数:45 大小:891.39KB
下载 相关 举报
局域网监听软件的设计和实现.docx_第1页
第1页 / 共45页
局域网监听软件的设计和实现.docx_第2页
第2页 / 共45页
局域网监听软件的设计和实现.docx_第3页
第3页 / 共45页
局域网监听软件的设计和实现.docx_第4页
第4页 / 共45页
局域网监听软件的设计和实现.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

局域网监听软件的设计和实现.docx

《局域网监听软件的设计和实现.docx》由会员分享,可在线阅读,更多相关《局域网监听软件的设计和实现.docx(45页珍藏版)》请在冰豆网上搜索。

局域网监听软件的设计和实现.docx

局域网监听软件的设计和实现

毕业设计(论文)

 

 

设计(论文)题目:

局域网监听软件设计和实现

学院名称:

电子和信息工程学院

专业:

计算机科学和技术

班级:

10计科

(2)

姓名:

XXXX学号XXXXXXXX

指导教师:

XXXX职称教授

定稿日期:

4月30日

局域网监听软件设计和实现

摘要

互联网给我们社会和个人带来了太多便利和益处。

社会运作包含公共设施及其服务、政府运作和个人生活,已经越来越离不开电脑和互联网了。

这使得互联网安全这一潜在威胁快速、悄然但又爆炸式地产生了。

公民个人隐私、通讯和表示自由受到直接冲击。

从邮件、电话到电子文档和其它资料,乃至行踪、消费统计等,我们似乎能够变成透明。

最近沸沸扬扬棱镜门和Heartbleed漏洞更是为世人敲响了网络安全警钟。

对局域网内数据监听系统研究,对于维护网络稳定性和处理网络安全问题有着关键意义,它能够用来帮助诊疗网络中路由设备,其它网络连接设备,查看网络上数据报传送情况,利于网络管理员管理和维护。

本局域网监听软件关键采取WinPCap开发工具和C++语言在VisualStudio编译器下进行开发。

软件实现了对局域网内数据进行捕捉和过滤,并分析出每一协议层传输数据关键字段和内容。

以后再将其显示,同时进行动态更新。

经过长时间使用,证实该软件运行可靠稳定,捕捉数据正确,易于使用。

关键词:

互联网安全,局域网监听,WinPCap,多协议分析

DESIGNANDIMPLEMENTATIONOF

LANMONITORINGSOFTWARE

ABSTRACT

Internethasbroughtmuchconvenienceandbenefitstooureverydaylife.Socialfunctioning,includingpublicfacilitiesandservices,governmentoperationsandpersonallifehasbecomeincreasinglydependentoncomputersandtheInternet.ThismakesthepotentialthreattoInternetsecurityquickly,quietlybutexplosivelygenerated.Theprivacyofindividualcitizens,freedomofcommunicationandexpressiondirectimpact.Frome-mail,telephonetoelectronicdocumentsandotherinformation,aswellasthewhereaboutsofconsumerrecords,itseemsthatwecanbecometransparent.RecentuproartheUSsurveillanceprogramPRISMandHeartbleedloopholeisfortheworldsoundedthealarmfornetworksecurity.ResearchondatamonitoringsysteminLAN,playsanimportantroleinmaintainingthestabilityofthenetworkandsolvetheproblemofnetworksecurity,itcanbeusedtohelpdiagnoseroutingequipmentinthenetwork,theothernetworkconnectiondevice,checkthetransmissionofthedataonthenetwork,managementandmaintenancetothenetworkadministrator.

ThisLANmonitoringsoftwaredevelopedwithWinPcap,usingtheC++languagecompilerunderVisualStudio.Thissoftwareismainlyrealizesinmonitoringthenetwork,dataanalyzesandanalyzethemainfielddataforeachprotocollayer.Afterthat,itshowswithcarriesonthedynamicrenewal.Afteralongperiodofuse,thesoftwareisreliableandstable,alsoabletoaccuratelycapturedataandeasytouse.

KeyWords:

internetsecurity,lanmonitoring,winpcap,multi-protocolanalysis

绪论

研究目标和意义

伴随计算机技术发展,网络和我们生活紧密相连,甚至已经成为生活中一部分,然而越来越多网络攻击正在一步步侵犯着我们网络安全。

黑客们很轻易截获在局域网中传输数据包,经过对数据包进行分析,就能得到数据包内关键信息。

经过这种方法,我们使用密码,发送邮件等私密信息无疑就暴露在她人面前,给个人隐私等信息带来很大安全威胁!

当然,我们也能够利用网络监听技术,获取黑客入侵信息,甚至能够提前做好预防工作,这么对保护我们信息安全无疑是一个取得了巨大先机。

所以,了解网络监听实现原理就显得尤为关键[]。

网络监听是信息安全领域内一项很关键和使用技术,她起源是网络管理员为了诊疗网络故障需要,而监听网络中传输数据信息。

在网络管理和维护中,网络管理和维护人员常常利用网络监听技术监控网络目前信息情况,网络流量,进行网络访问统计分析等等。

除此之外,网络监听还能够发觉网络中存在安全隐患,立即采取对应方法,不让黑客有机可乘。

但在现实生活中,网络监听技术往往能在黑客手中发挥更大作用,它们利用网络监听技术窃取用户私密资料。

对于一般用户来说,被监听可能只是泄露个人隐私资料;而对于金融机构等资料敏感用户,恶意网络监听更会带来难以填补金钱和信用损失。

总而言之,对于局域网数据监听系统研究,有利于维护计算机网络安全。

对于网络管理者来说,局域网监听能够识别网络中路由设备,查看局域网中传输数据包,统计网络流量,并能够侦测到非法入侵,找出网络中潜在问题等。

同时,管理员还能够利用网络监听软件处理部分网络故障,比如网络延时,丢包等问题。

假如不凭借监听软件,就无法正确知道问题出在何处。

在大型网络中,它存在对系统管理员是很关键,凭借从局域网监听软件获取信息,系统管理员能够了解网络中出现问题,给出对应处理方法,这给网络环境管理和维护提供了很宝贵信息。

1.1局域网监听技术发展

1.1.1局域网监听技术原理

局域网监听基础原理是数据在局域网环境下进行传输时,包含物理地址帧数据能送达成线路上每一台主机。

当数据抵达一台主机网卡时,在正常情况下,网卡读取数据帧,并进行检验,假如数据帧中所包含物理地址和本机物理地址或广播地址相同,则将该数据帧交由IP层进行处理,不然就将该数据帧丢弃。

当主机将该网卡置于混杂模式时,全部数据帧全部将交由IP层进行处理,并不会发生因物理地址不符而将该数据帧丢弃情况。

也就是说,在局域网环境下同一根线缆上传输全部数据全部会被该主机接收到,进而能够将全部接收到数据进行分析,从而得出用户所需要数据[][]。

局域网监听实现方法

要在局域网中监听,就需要主机工作在监听模式下,需要向网络接口发出I/O控制命令,将其设置成监听模式。

在Unix系统中,需要超级用户权限来发送命令。

但在Windows系统中,就没这个限制。

这种工作并不复杂,现在有太多工具软件能够做到这一点,在很多黑客网站或从事网络安全管理网站全部能找到。

在Unix环境下,监听工具很多,如Sniffit、Snoop、Dsniff等全部是常见,她们全部无偿公布源代码,能够进行研究。

而在Windows环境下,常见网络监听工具当然是著名Snifferpro了,实际上大家全部是用它在Windows环境下抓包来分析[]。

(1)Sniffit:

Sniffit能够运行在Solaris、SGI和Linux等平台上,是由LawrenceBerkeleyLaboratory开发一个无偿网络监听软件。

举例说明:

#Sniffit-a-p21-txxx.xxx.xxx.xxx

监听流向机器xxx.xxx.xxx.xxx21端口(FTP)信息,并以ASCII显示[]。

(2)Snifferpro:

经过对用监听工具捕捉数据帧进行分析,能够很轻易发觉敏感信息和关键信息。

比如,在使用Snifferpro对局域网进行一段时间监听后,分析所得数据,就能直接看到部分在监听期间该网用户名和口令,全部以明码显示,由此也能够看到局域网监听技术假如用于不正当目标会有多大危害[]。

网络传输技术概述

网络传输模型

计算机网络采取两种传输模型进行传输:

协议模型和参数模型。

协议模型提供了和特定协议族结构正确匹配模型。

TCP/IP模型描述了TCP/IP协议族中每个协议层实现功效,所以属于协议模型。

参考模型为各类网络协议和分服务之间保持一致性提供了通用参考,参考模型关键用途是帮组大家更清楚地了解包含功效和过程。

开放式系统互联(OSI)模型是一个参考模型。

TCP/IP模型

TCP/IP是TransmissionControlProtocol/InternetProtocol简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基础协议、Internet国际互联网络基础,由网络层IP协议和传输层TCP协议组成。

TCP/IP定义了电子设备怎样连入因特网,和数据怎样在它们之间传输标准。

协议采取了4层层级结构,每一层全部呼叫它下一层所提a供协议来完成自己需求。

通俗而言:

TCP负责发觉传输问题,一有问题就发出信号,要求重新传输,直到全部数据安全正确地传输到目标地。

而IP是给因特网每一台电脑要求一个地址[]。

(1)网络接口层

物理层是定义物理介质多种特征:

1、机械特征;

2、电子特征;

3、功效特征;

4、规程特征。

数据链路层是负责接收IP数据包并经过网络发送,或从网络上接收物理帧,抽出IP数据包,交给IP层。

ARP是正向地址解析协议,经过已知IP,寻求对应主机MAC地址。

RARP是反向地址解析协议,经过MAC地址确定IP地址。

比如无盘工作站还有DHCP服务。

常见接口层协议有:

Ethernet802.3、TokenRing802.5、X.25、Framerelay、HDLC、PPPATM等。

(2)网络层

负责相邻计算机之间通信。

其功效包含三方面。

处理来自传输层分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机路径,然后将数据报发往合适网络接口。

处理输入数据报:

首先检验其正当性,然后进行寻径--假如该数据报已抵达信宿机,则去掉报头,将剩下部分交给合适传输协议;假如该数据报还未抵达信宿,则转发该数据报。

处理路径、流控、拥塞等问题。

网络层包含:

IP(InternetProtocol)协议、ICMP(InternetControlMessageProtocol)

控制报文协议、ARP(AddressResolutionProtocol)地址转换协议、RARP(ReverseARP)反向地址转换协议。

IP是网络层关键,经过路由选择将下一条IP封装后交给接口层。

IP数据报是无连接服务。

ICMP是网络层补充,能够回送报文。

用来检测网络是否通畅。

Ping命令就是发送ICMPecho包,经过回送echorelay进行网络测试。

(3)传输层

提供给用程序间通信。

其功效包含:

一、格式化信息流;二、提供可靠传输。

为实现后者,传输层协议要求接收端必需发回确定,而且假如分组丢失,必需重新发送,即耳熟能详“三次握手”过程,从而提供可靠数据传输。

传输层协议关键是:

传输控制协议TCP(TransmissionControlProtocol)和用户数据报协议UDP(UserDatagramprotocol)。

(4)应用层

向用户提供一组常见应用程序,比如电子邮件、文件传输访问、远程登录等。

远程登录TELNET使用TELNET协议提供在网络其它主机上注册接口。

TELNET会话提供了基于字符虚拟终端。

文件传输访问FTP使用FTP协议来提供网络内机器间文件拷贝功效。

应用层协议关键包含以下多个:

FTP、TELNET、DNS、SMTP、NFS、HTTP。

FTP(FileTransferProtocol)是文件传输协议,通常上传下载用FTP服务,数据端口是20H,控制端口是21H。

Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。

DNS(DomainNameService)是域名解析服务,提供域名到IP地址之间转换,使用端口53。

SMTP(SimpleMailTransferProtocol)是简单邮件传输协议,用来控制信件发送、中转,使用端口25。

NFS(NetworkFileSystem)是网络文件系统,用于网络中不一样主机间文件共享。

HTTP(HypertextTransferProtocol)是超文本传输协议,用于实现互联网中WWW服务,使用端口80[]。

OSI模型

OSI是OpenSystemInterconnect缩写,意为开放式系统互联。

通常全部叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究网络互联模型。

该体系结构标准定义了网络互连七层框架。

关键以下:

(1)应用层(ApplicationLayer)

应用层是OSI参考模型顶层,该层经过应用程序来完成用户需求,是用户和网络接口。

关键完成文件传输、收发电子邮件等功效。

(2)表示层(PresentationLayer)

早期表示层用来转化字符数据编码等显示相关功效。

现在因为应用层能完成一部分表示层功效,所以功效有所淡化。

(3)会话层(SessionLayer)

会话指是用户和用户连接。

会话层负责在两台计算机之间建立,管理和终止通信,就如同两台计算机之间对话。

会话层所以而得名。

(4)传输层(TransportLayer)

传输层是整个OSI模型中最关键一层,是模型中中心层,充当心脏作用。

在它之下层级实现通信,而它之上层级则对通信进行管理。

它负责数据传输和控制,提供端到端数据控制。

传输层独立于物理网络运行。

另外它还负责数据重传任务。

(5)网络层(NetworkLayer)

网络层定义了通信协议,它把逻辑地址转换成物理地址。

同时,网络层还提供选择路由功效,路由器功效就在这一层实现。

它为传输层提供支持。

(6)数据链路层(DataLinkLayer)

数据链路层在物理层和网络层之间。

在数据链路层上传输数据为帧。

该层目标是确保在节点之间传输数据帧正确性。

(7)物理层(PhysicalLayer)

物理层是OSI参考模型最底层。

顾名思义,它为数据传输建立物理连接。

完成经过物理线路在两个节点间传输比特流[]。

TCP/IP模型和OSI模型关系

TCP/IP协议并不能够和OSI模型完全匹配,TCP/IP不是使用7层,而是使用4层,它通常也叫做Internet协议套件,它分为下面4层:

1.网络接口层

2.互连网层

3.传输层

4.应用层

这4层每一层对应于OSI模型一层或多个层。

表2-1TCP/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-1TCP/IP协议簇对应OSI对应层级

关键数据包结构

以太网帧格式

以太网帧是OSI参考模型数据链路层封装。

它是对网络层传输数据包加上帧头帧尾进行封装,从而组成了可被数据链路层识别数据帧。

在以太网帧当中,帧头和帧尾数据大小是固定不变,不过因为被封装数据包大小是可变,所以以太网帧大小是可变不固定。

大小范围在64-1518字节之间。

以太网V2MAC帧格式。

该标准由5个字段组成:

目标地址、源地址、类型、数据报、效验。

前导码:

包含同时码(用来使局域网中全部节点同时,7字节长)和帧标志(帧起始标志,1字节)两部分;

目标地址:

接收端MAC地址,6字节长;

源地址:

发送端MAC地址,6字节长;

类型:

数据包类型(即上层协议类型),2字节长;

数据:

被封装数据包,46-1500字节长:

校验码:

错误检验,4字节长。

分析每一帧能够得到此数据包源MAC地址和目标MAC地址,而且能够得到IP数据报完整内容(假如是ARP协议则没有IP数据包)。

IP数据报第4至7位是IP首部长度,该字段能够用来正确定位上层协议起始位置。

第10字节是协议字段,指出该IP数据报携带数据使用何种协议。

以太网头数据结构描述以下:

typedefstructethernet_header

{

u_chardstmac[6];//目标mac地址

u_charsrcmac[6];//源mac地址

u_shorteth_type;//以太网类型

}ethernet_header;[]

IP数据包格式

图2-2IP数据报首部组成

表2-2IP数据包总体结构

数据包

IP首部

信息首部(如TCP、UDP首部)

数据

以太网V2标准关键特点是经过类型域标识了封装在帧里数据包所采取协议,类型域是一个有效指针,经过它,数据链路层就能够承载多个上层(网络层)协议。

不过,它缺点是没有标识帧长度字段。

依据前面定义,数据包通常全部从数据链路层获取,所以,本软件根据获取数据格式前后,先处理链路层之上数据帧,以后分别是网络层,传输层和应用层上数据。

在对数据链路层上太网帧进行分析以后,我们就能够得到IP数据包。

IP数据包数据结构描述以下:

typedefstructip_header

{

u_charihl:

4;/*首部长度(4bits)*/

u_charver:

4;/*版本(4bits)*/

u_chartos;/*服务类型*/

u_shorttlen;/*总长度*/

u_shortidentification;/*标识*/

u_shortfo:

13;/*片偏移(13bits)*/

u_shortflags:

3;/*标志(3bits)*/

u_charttl;/*生存时间*/

u_charproto;/*协议*/

u_shortcrc;/*首部检验和*/

ip_addresssaddr;/*源地址*/

ip_addressdaddr;/*目标地址*/

u_intop_pad;/*可选+填充*/

}ip_header;

TCP数据报

图2-3TCP数据报组成

源端口和目标端口字段——各占2字节。

端口是传输层和应用层服务接口。

传输层复用和分用功效全部要经过端口才能实现。

序号字段——占4字节。

TCP连接中传送数据流中每一个字节全部编上一个序号。

序号字段值则指是本报文段所发送数据第一个字节序号。

确定号字段——占4字节,是期望收到对方下一个报文段数据第一个字节序号。

数据偏移——占4bit,它指出TCP报文段数据起始处距离CP报文段起始处有多远。

“数据偏移”单位不是字节而是32bit字(4字节为计算单位)。

保留字段——占6bit,保留为以后使用,但现在应置为0。

紧急比特URG——当URG=1时,表明紧急指针字段有效。

它告诉系统此报文段中有紧急数据,应立即传送(相当于高优先级数据)。

确定比特ACK——只有当ACK=1时确定号字段才有效。

当ACK=0时,确定号无效。

复位比特RST(Reset)——当RST=1时,表明TCP连接中出现严重差错(如因为主机瓦解或其它原因),必需释放连接,然后再重新建立运输连接。

同时比特SYN——同时比特SYN置为1,就表示这是一个连接请求或连接接收报文。

终止比特FIN——用来释放一个连接。

当FIN=1时,表明此报文段发送端数据已发送完成,并要求释放运输连接。

窗口字段——占2字节。

窗口字段用来控制对方发送数据量,单位为字节。

TCP连接一端依据设置缓存空间大小确定自己接收窗口大小,然后通知对方以确定对方发送窗口上限。

检验和——占2字节。

检验和字段检验范围包含首部和数据这两部分。

在计算检验和时,要在TCP报文段前面加上12字节伪首部。

紧急指针字段——占16bit。

紧急指针指出在本报文段中紧急数据最终一个字节序号。

选项字段——长度可变。

TCP首部能够有多达40字节可选信息,用于把附加信息传输给终点,或用来对齐其它选项。

填充字段——这是为了使整个首部长度是4字节整数倍。

TCP数据报数据结构描述以下:

typedefstructtcp_header//20bytes:

default

{

u_shortsport;//源端口

u_shortdport;//目标端口

u_longseqno;//Sequenceno

u_longackno;//Ackno

u_charreserved_1:

4;//保留6位中4位首部长度

u_charoffset:

4;//tcp头部长度

u_charflag:

6;//6位标志

u_charreserved_2:

2;//保留6位中2位

u_shortwin;

u_shortchecksum;

u_shortuptr;

}tcp_header;

WinPCap介绍

WinPCap是在Windows环境下链路层网络访问行业标准工具。

它许可应用程序绕过协议栈进行数据捕捉和发送,而且还有其它功效,其中包含内核等级包过滤,网络流量统计和远程数据包捕捉等功效。

WinPCap扩展了操作系统所提供低等级网络访问功效,它也提供了一个库用于更方便访问网络层级中底层。

该库也包含了UNIX下众所周知libpcapAPIWindows版本[][]。

WinPCap关键提供以下功效:

(1)捕捉原始数据包,不管它是发往某台机器,还是在其它设备(共享媒介)上进行交换,在数据包发送给某

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1