基于GUI网络渗透侦察工具设计与实践(定稿)-黄源媛-160205106528.docx
《基于GUI网络渗透侦察工具设计与实践(定稿)-黄源媛-160205106528.docx》由会员分享,可在线阅读,更多相关《基于GUI网络渗透侦察工具设计与实践(定稿)-黄源媛-160205106528.docx(40页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、基于GUI网络渗透侦察工具设计与实践摘 要最近几年来,计算机网络的发展从未停下脚步,并且速度日益增快。为了应付日益增长的网络需求及网络流量,特别是多媒体流量的快速增长,网络信息技术不断产生,人们的生活开始变的更加离不开网络。然而网络给人们带来的帮助的同时也带来了问题。长久以来,网络攻击的数量在不断增长,网络安全事件在不断上演,网络攻防形势日益严峻。网络侦察也成为一种新型的情报信息获取方式。其作为网络攻击的第一个阶段,对于帮助黑客识别攻击系统信息,选择适合的攻击方式起到了重要的作用。因此有一个便于使用的网络渗透信息侦察工具至关重要的。此应用是结合当下网络发展的实际情况,以满足实际应用为开发目的,
2、参考国外主流的网络渗透侦察工具进行实际需求分析,基于python使用pyqt5开发出来的网络渗透侦察工具。本文详细介绍了网络侦察工具的系统概况,开发背景,网络侦察的研究现状、以及此系统各个模块的分析与实现。关键词:web安全、网络攻防、网络侦察、图形用户界面Design and Practice of GUI-based Network Penetration Reconnaissance ToolAbstractIn recent years, the development of networks is constantly evolving. In order to cope with
3、the increasing network demand and network traffic, especially the rapid growth of multimedia traffic, network information technology is constantly being produced. The Internet has developed into a very important part of peoples lives.But the benefits brought by the development of the network have al
4、so brought a lot of problems.For a long time, the number of cyber attacks has been increasing, cyber security incidents are being staged, and the situation of cyber attacks and defenses is becoming increasingly grim.Network reconnaissance has also become a new way of acquiring intelligence informati
5、on. As the first stage of network attack, it plays a vital role in helping hackers to identify information and choose a suitable attack method. Therefore, it is essential to have an easy-to-use network penetration information reconnaissance tool.This application is combined with the actual situation
6、 of the current network development to meet the actual application for development purposes. Refer to the mainstream foreign network penetration reconnaissance tools for actual needs analysis, based on python network penetration reconnaissance tools developed using pyqt5.This article introduces in d
7、etail the system overview of the network reconnaissance tool, the development background, the network reconnaissance research status, and the analysis and implementation of each module of this system.Keywords: Web security,Network attack and defense, network reconnaissance, GUI北京理工大学珠海学院2020届本科生毕业设计
8、目 录1 前言11.1设计背景11.1.1计算机网络发展历程11.1.2网络侦察的前景11.1.3 Gui的优势11.2 网络渗透侦察的现状及发展11.3 系统的创新点21.3.1 集成各工具的便捷性21.3.2交互式的应用形式21.4 系统应用的意义21.4.1 对用户21.4.2对网络渗透21.5本章小结32 相关技术概述42.1 网络侦察技术42.2 Python技术42.3 Pyqt5技术42.4 Qt Designer设计工具53 系统需求分析及总体设计63.1 系统需求63.2 系统总体设计73.2.1 用户界面设计73.2.2程序运行流程设计93.3 本章小结94 主要功能模块分
9、析104.1 Ping模块104.2 DNS模块104.3 Whois模块114.4 端口扫描模块124.5 Tracter模块134.6 本章小结135 系统设计与实现145.1 开发环境搭建145.1.1 开发语言阐述145.1.2 Python IDE介绍-PyCharm145.1.3 开发使用框架介绍-Pyqt5145.1.4 开发环境搭建155.2 文件结构及用途155.3 用户界面实现175.4 程序功能实现195.5 本章小结236 系统测试246.1 测试设计246.2 测试结果266.3测试运行效果266.4 本章小结337 总结34参考文献35谢 辞361 前言1.1设计背
10、景1.1.1计算机网络发展历程在1980年之后,网络开始走进一个全新的阶段,各种各类技术开始和网络结合,网络可以提供的服务也越来越多,并且应用范围越来越广。计算机网络已经覆盖至全球各地,并且其触手已经伸向了越来越多的领域。网络将成为国家的经济、政治和军事等的重要支柱。各个国家都在加紧对于地域、国家乃至全球的网络建设1。以此最终将会建成全球各地人人互通的大型互联网络。截至2018年,全球上网用户高达44亿人。1.1.2网络侦察的前景网络的普及应用使得网络侦查的作用日益突出。网络侦察给黑客攻击提供支持,甚至给军事情报侦察开辟了新的领域。但是,随之而来的是新的挑战和新的要求。当今世界是一个全球化信息
11、化时代,网络攻击行为日益增加、信息化战争出现端倪1。因此,网络渗透侦察逐渐开始显露出其重要的地位和作用。1.1.3 Gui的优势人机的交互告别了以前复杂麻烦的字符命令语言时期,目前正处于基于图像用户界面的新时期。图像用户界面(GUI)是当下的一种主流的用户界面,其被运用于各种系统中。其中,众所周知的Windows系统就是基于图形用户界面。因其具有人机交互性、美观性、实用性、技术性等的优势,因此广受喜爱。目前流行的图形化用户界面的特点是以窗口界面为关键,通过键盘鼠标等进行输入,并且用户通过点击鼠标即可完成大多数操作。这一种界面在人机交互的过程中主要是靠眼睛观看和手动控制。因此具有极其强的便利性,
12、对于用户,特别是不懂计算机指令的用户非常友好。1.2 网络渗透侦察的现状及发展由于计算机的广泛使用,计算机网络上存在着大量的数据,其具有极高的价值。并且网络侦察频繁应用于军事斗争、政治斗争等重要场合中,因此网络侦察的作用在当今时代下越发明显。当下,社会已经进入信息化时代。我国当前互联网安全的显示日益严峻,在网络上存在着大量的个人信息及重要的数据,一旦泄露后患无穷,同时我国部分主要的网络遭受到大量的DDos攻击。网络的信息情报战已经成为当前国际战争的一个主战场。网络侦察给当下的情报收集工作提供了新鲜思路,注入新鲜力量。着眼未来,我们可以预见,网络对于人们来说会越来越重要,同时网络渗透侦察也会日渐
13、重要。1.3 系统的创新点1.3.1 集成各工具的便捷性当下要进行网络的一些基本侦察,需要使用多个工具。如,要想对于某一主机进行注册信息的查询,则需要通过使用站长之家、中国万网、阿里查询等网址进行查询,若这时还需要查询网站的开放端口需要通过其他脚本工具进行查询。这种工具间的切换会给用户的网络侦察工作带来不必要的麻烦,浪费用户的时间。因此本次设计的作品,集成了whois、端口扫描等多种功能模块,使得用户在一个工具中即可查询到目标主机的多种信息,大大缩短用户的使用时间,给用户的侦察工作提供便利。1.3.2交互式的应用形式用户在使用时无需掌握计算机的相关指令,无需考虑网络渗透侦察的具体细节及方式。通
14、过键盘输入和鼠标点击的方式即可轻松的获取到自己需要查询的信息。同时该设计也对于每一项功能都进行了适当的说明,通过这种方式提高了用户与程序之间的交互性,降低了用户的使用门槛,使得程序更加便于使用。1.4 系统应用的意义1.4.1 对用户此项集成了多个网络侦察常用的方法,对于用户在进行一些网络信息收集及网络攻击的过程中起到了一个侦察兵及情报员的作用。能够帮助用户了解到目标网络的网络状态、网络地址、网络关键结点、网络联系方式如电话、姓名、邮件、地理位置等等。通过这种方式可以给用户在进行后续的操作时提供一些决策依据,使得用户的后续工作可以更加顺利的进行。1.4.2对网络渗透如同普通战争需要使用无人侦察
15、机、侦察卫星、侦察兵等手段进行信息侦察,以便于后续的军事打击行动顺利展开一样,信息化战争中,网络渗透侦察是战争的第一步2,其起着至关重要作用,使用者通过一定的网络渗透侦察方式来进行主机的侦察及信息的收集,以便后续工作更好的展开。1.5本章小结对系统的设计背景及现状进行了简单的概述。并对系统中创新的点进行了初步介绍。系统本身的意义在于帮助用户去简化网络侦察的操作,给用户一个方便、快捷、功能较为齐全的网络侦察工具,以此助力我国的网络侦察事业的发展。2 相关技术概述2.1 网络侦察技术网络侦察是使用相关技术手段,获取对象计算机的相关信息。网络侦察是一次完整的网络攻击的第一阶段,为后续网络攻击的相关工
16、作提供决策信息。其所获情报越丰富则对后续工作帮助越大。通过对于前人经验的总结,认为一般需要侦察的信息有如下几点2:对象网络的IP地址、名字及域对象网络的注册信息,比如电话、姓名、邮件和位置等信息DNS服务器、邮件地址网络的拓扑结构满足指定条件的设备一切与目标主机有关系的其他信息网络侦察的方式一般包括如下几点:使用搜索引擎收集,通过搜索引擎全网快速检索和定位信息。Whois查询,查到目标的注册相关信息。DNS信息查询,了解IP地址网址名称的对应情况。网络拓扑发现,通过对于数据包所经过的路径了解目标网络的关键结点。利用社交网络获取信息,社交网络存在着复杂并且庞大的信息,这些信息也是帮助了解目标网络
17、的重要方式之一。2.2 Python技术Python是一种程序设计语言,并且它在当今时代逐渐变的非常流行。具有强的编译性、解释性、互动性3、其易读、易维护,深受用户的欢迎与喜爱。一开始,它仅仅是被拿来编写一些自动化相关的脚本。但是,后来他的版本开始更新,功能也变得越来越多,所以它开始被用于开发一些规模比较大的项目。并且在当今社会,其应用领域越来越高。其具有非常多的优势。重要优势之一就是完全免费,使用者可以不花钱就在随意一台计算机上安装使用Python和他提供的一些扩展库。且其的拓展库越来越丰富,根据这些库可以完成许多的任务。2.3 Pyqt5技术Python是现在很流行好用的一种程序设计语言,
18、Qt则是一个很流行好用的开发库,而pyqt则是二者的结合出来的一种产物4。其中pyqt5是一个python的模块之一,是一种非常方便的插件。它一共拥有六百二十多个类,六千多个函数。是当下比较流行的开发工具,其功能也非常强大,用其可以开发出美观的界面。 由于python是可以跨越不同的平台之间的限制,pyqt5也支持跨越平台,它可以运行在任何一个多人使用的系统中,比如有UNIX系统,Windows系统,Mac OS系统。2.4 Qt Designer设计工具在PyQt的UI界面有两种方法实现5。一个是代码,但是比较的麻烦,也不够美观。另一个则是Qt Designer,用户可以直接使用它来设计界面
19、。并且其界面的图像视图与业务逻辑相互之间互不干扰,使得开发更加便捷。Qt Designer中的使用方式非常的方便灵活,可以直接使用鼠标来设置各类控件,并且设置完成后可以直接查看界面的整体效果。最终生成的UI文件也直接通过pyuic5工具转换成PY文件。方便了程序开发,帮助开发人员更好的进行开发。2.5 本章小结此章节对与此次设计中用到的基本技术做了大致的介绍,帮助阅读者可以更好的了解此次系统的设计。3 系统需求分析及总体设计3.1 系统需求需求分析是为了对目标系统提出的完整的、明确的、清晰的、可行的需求以便开发。3.1.2 确定软件需求在经过多方位的了解及咨询,参考主流软件(Sam Spade
20、)及网络攻击者的实际侦察经验。确定了此工具提供的服务有如下几个:主机的状态、IP地址、名字及域注册信息,如电话、姓名、邮件和地理位置等信息DNS服务器地址网络的路由查询网络开放端口3.1.3 系统需求实现为了满足以上需求,此系统提供了以下的几个功能模块:Ping模块、DNS模块、Whois模块、Nslookup模块、端口扫描模块、Tracter模块。具体流程如图3.1所示。图3.1 程序运行具体流程图3.2 系统总体设计3.2.1 用户界面设计用户界面设计基本规则:其一是界面具有一致性,要求界面中的控件的整体风格相差不大,界面整体较为和谐。并且在多个界面设置有相似的界面外观、布局以及相似的信息
21、显示(比如背景颜色,控件颜色等)6。这样的界面会有比较高的一致性,用户使用起来会更加舒适。因此,控件的颜色、字体字号,边框设置,窗口背景颜色、布局方式和风格、提示信息等都有一个比较统一的标准规则,做到真正具有一致性。其二是界面要简洁易用,不要过于复杂花俏。太花哨的界面会影响用户对与程序的使用,同时也可能会使得工具的运行变慢。因此界面设计的简洁明了非常重要。特别是对于攻防侦察软件来说,其界面不能太过于吸引眼球,也不能太富贵华丽。因为太过华丽复杂会比较容易使人产生视觉上的疲劳及审美疲劳,让人心浮气躁。同时使用者的注意力有可能会被复杂的界面分散,从而影响工具的使用使其失去其原本的味道。因此,界面设计
22、需合理的布局和设计,颜色相似6,简洁明了,将软件的性能作为重点进行突出,切勿喧宾夺主。用户界面始终是次要的,起锦上添花的作用。最重要的应该是让软件界面友好实用,这样这样用户才会更加喜爱和接受。其三是要使得用户界面整体协调。比如控件位置要更加的合理协调,便于用户的浏览和使用。不能出现“前重后轻、右宽左窄”的不协调的现象。当然最重要的是关键的控件放在明显位置,突出重要的控件让用户一目了然,比如此侦察工具中的输入框和侦察得到的信息。根据需求将此次的系统用户界面分为了四个界面,一个主要的用户界面及三个次要的界面。在主界面中,需要用户输入需要查询的主机名,及选择需要查询的内容,并且用较大的板块输出查询到
23、的内容。在“关于”界面中,需要有应用的相关信息及应用作者的相关信息。在“帮助”界面中需要有一些帮助用户具体了解如何开始使用系统的信息。在“使用说明”界面中则需要有各个模块功能可以为用户提供的具体帮助的内容及对于查询到的结果进行分析的信息,以帮助用户更好的根据查询到的信息展开后续工作。根据对上述的分析内容,绘制出了用户界面草图,如图3.2所示。(a)(b) (c)(d)图3.2 使用说明界面草图3.2.2程序运行流程设计从需求中可以看出,我们需要进行界面的绘制,数据内容查询,将查询的内容返回至主界面进行显示,各个操作流程如图3.3所示图3.3 操作流程图3.3 本章小结在此章节中分析了工具的基本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 GUI 网络 渗透 侦察 工具 设计 实践 定稿 黄源媛 160205106528
限制150内