试谈简单的网络嗅探器.docx

上传人:小飞机 文档编号:1865256 上传时间:2022-12-22 格式:DOCX 页数:11 大小:257.56KB
返回 下载 相关 举报
试谈简单的网络嗅探器.docx_第1页
第1页 / 共11页
试谈简单的网络嗅探器.docx_第2页
第2页 / 共11页
试谈简单的网络嗅探器.docx_第3页
第3页 / 共11页
试谈简单的网络嗅探器.docx_第4页
第4页 / 共11页
试谈简单的网络嗅探器.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《试谈简单的网络嗅探器.docx》由会员分享,可在线阅读,更多相关《试谈简单的网络嗅探器.docx(11页珍藏版)》请在三一办公上搜索。

1、成都信息工程学院课程设计报告简单的网络嗅探器姓名:纪 红专业:信息安全班级:信安084班提交日期:2011-12-13简单的网络嗅探器摘 要计算机网络嗅探器是可以窃听计算机程序在网络上发送和接收到的数据,程序实现了对抓取到的本机在网络中的通信数据的协议类型、源地址、目的地址、端口和数据包的大小加以简单的分析,改程序应用C#语言编写,实现了一个简单的网络嗅探功能。其中一个窗体显示主页面,另一个窗体显示详细信息关键词:网络嗅探器;发送和接受到的数据;协议类型;源地址;目地地址;端口和数据包;分析;C#言语目 录论文总页数:9页1 引言1.1 课题背景随着社会信息化的不断深入,计算机啊网络已经渗入到

2、社会的每一个角落,人们已无时无刻离不开网络。很多人经常上网购物,学习,玩游戏,然而网络上的一些不良信息很可能影响到互联网用户尤其是青少年的身心健康。基于以上的现实问题,我开发了这款网络嗅探器。可以用来实现对计算机程序在网络上发送和接收到的数据的分析。1.2 研究现状 网络嗅探器无论是在网络安全还是在黑客攻击方面扮演了很重要的角色。通过使用网络嗅探器可以把网卡设置于混杂模式,并可以对网络上传输的数据包的捕获和分析。此分析结果可供网络安全分析之用,但如为黑客所利用也可以为其发动进一步的攻击提供有价值的信息。可见,嗅探器实际上是一把双刃剑。虽然网络嗅探器技术被黑客所利用后会对网络构成一定的威胁,但嗅

3、探器本身的危害并不是很大,主要是用来为其他黑客软件提供网络情报,真正的攻击主要是由其它黑客软件来完成的。而在网络安全方面,网络嗅探手段可以有效地探测在网络上传输的数据包信息,通过对这些信息的分析利用有助于网络安全的维护。1.3 本课题研究的意义 当我们处理自身网络问题的时候,一个信息包嗅探器向我们展示出正在网络上进行的一切活动。于是,借助一定的知识,我们就可以确定问题的根源所在。但必须记住的是,网络嗅探器并不会告诉你问题究竟是什么,而只会告诉你究竟发生了什么。对网络嗅探器的研究我加深了对通信协议的理解,网络数据结构的理解。对网络嗅探器的深入研究更重要的是可以让我们的互联网世界更安全、信息更健康

4、。1.4 本课题的研究方法嗅探侦听主要有两种途径,一种是将侦听工具软件放到网络连接的设备或者放到可以控制网络连接设备的电脑上,(比如网关服务器,路由器)当然要实现这样的效果可能也需要通过其他黑客技术来实现:比如通过木马方式将嗅探器发给某个网络管理员,使其不自觉的为攻击者进行了安装。另外一种是针对不安全的局域网(采用交换hub实现),放到个人电脑上就可以实现对整个局域网的侦听,这里的原理是这样的:共享hub获得一个子网内需要接收的数据时,并不是直接发送到指定主机,而是通过广播方式发送到每个电脑,对于处于接受者地位的电脑就会处理该数据,而其他非接受者的电脑就会过滤这些数据,这些操作与电脑操作者无关

5、,是系统自动完成的,但是电脑操作者如果有意的话,他是可以将那些原本不属于他的数据打开!2系统设计2.1 程序实现的功能 该程序实现了抓取本机在网络通信数据并加以简单的分析的功能,实现了一个简单的网络嗅探器。其中有一个主页面,另一个详细显示包信息的页面。2.2 主要软件需求 本程序使用Visual Studio 2010开发平台,使用C#语言编写,编译成功后的可执行文件需要在装有Visual Studio 2010的平台上才能运行。测试平台:装有Visual Studio 2010的Windows XP系统使用软件:Visual Studio 2010 2.3功能模块与系统结构(1)获得计算机的

6、IP地址(2)开始监听,获得数据包的协议类型、源端口、目地端口和大小(3)停止监听,程序将暂停运行(4)清空列表,显示列表被清空(5)帮助,弹出帮助对话框,显示作者信息(6)详细信息,双击列表中的任意行,显示数据包的详细信息3 系统功能程序设计3.1功能函数部分 1、获取计算机的IP地址,并以列表的形式显示出来 IPAddress hosts = Dns.Resolve(Dns.GetHostName().AddressList; if (hosts.Length = 0) throw new NotSupportedException(This computer does not have

7、non-loopback interfaces installed!); for (int i = 0; i hosts.Length; i+) MonitorMenuItem.MenuItems.Add(hostsi.ToString(), new EventHandler(this.OnHostsClick); HostsMenu.MenuItems.Add(hostsi.ToString(), new EventHandler(this.OnHostsClick); m_PacketMonitors = new PacketMonitorHostsMenu.MenuItems.Count

8、; for (int i = 0; i m_PacketMonitors.Length; i+) m_PacketMonitorsi = new PacketMonitor(hostsi); m_PacketMonitorsi.NewPacket += new NewPacketEventHandler(this.OnNewPacket); m_Packets = new ArrayList();2、开始监测,停止监听,清楚列表public void OnToolBarClick(object sender, ToolBarButtonClickEventArgs e) if (e.Butto

9、n = StopButton) for(int i = 0; i m_PacketMonitors.Length; i+) m_PacketMonitorsi.Stop();HostsMenu.MenuItemsi.Checked = false;MonitorMenuItem.MenuItemsi.Checked = false;StatusBar.Text = 停止1监测a; else if (e.Button = StartButton) for(int i = 0; i m_PacketMonitors.Length; i+) try m_PacketMonitorsi.Start()

10、; catch (Exception ex) MessageBox.Show(this, 界?面?出?现?一?个?错误 + m_PacketMonitorsi.IP.ToString() + rnrn + ex.Message + , Mentalis.org Packet Monitor, MessageBoxButtons.OK, MessageBoxIcon.Error);HostsMenu.MenuItemsi.Checked = true;MonitorMenuItem.MenuItemsi.Checked = true;StatusBar.Text = 检测a所有D端?口; els

11、e if (e.Button = ClearButton) PacketList.Items.Clear();m_Packets.Clear();StatusBar.Text = 清?空?列D表; else if (e.Button = AboutButton) AboutForm af = new AboutForm();af.ShowDialog(this);3、把获取到的字节流转换成字符public string ToString(bool raw) StringBuilder sb = new StringBuilder(Raw.Length);if (raw) for(int i =

12、 0; i 31)sb.Append(char)Rawi);elsesb.Append(.); else string rawString = this.ToString(true);for(int i = 0; i Raw.Length; i += 16) for(int j = i; j Raw.Length & j i + 16; j+) sb.Append(Rawj.ToString(X2) + );if (rawString.Length i + 16) sb.Append( , (16 - (rawString.Length % 16) % 16) * 3);sb.Append(

13、+ rawString.Substring(i) + rn); else sb.Append( + rawString.Substring(i, 16) + rn);return sb.ToString();3.2界面实现部分1、VS2010中新建项目Windows应用程序PackerMonitor。 2、添加三个窗体文件和两个类文件,分别命名AboutForm.cs、PacketForm.cs、PacketMonitorForm.cs,其中AboutForm.cs实现帮助界面、PacketForm.cs实现详细显示界面、PacketMonitorForm.cs实现主页面4测试报告及界面预览1

14、、 主页面预览2、帮助界面预览2、 详细界面预览3、 开始监测界面4、 清空列表5、 暂停监测5心得结论 该系统设计最关键的是在怎么获得IP地址,怎么获取数据包经过一段时间的思考和查阅,这些问题都一一解决了。这样方面完整的实现了设计的要求,很好的解决了这些问题。通过此次课程设计,对网络终端监控程序的编写的方法及实现有了更深入的了解,基本具备了简单的网络终端监控程序开发的能力。为今后更好的学习及今后工作打下了坚实的基础。6参考文献1 谭浩强. C+程序设计. 清华大学出版社.20042张凯主编.VC+程序设计. 大连理工大学出版社.20023宋坤,刘锐宁,李伟明. MFC程序开发参考大全.人民邮电出版社.20064 杨晓光,李兰友.Visual C#.NET程序设计.北京交通大学出版社5易向东, 陈蓓,万英.C#程序员开发指南.中国吉林出版社6刘瑞新.C#网络编程及应用.机械工业出版社

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号