获取上网记录小程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:上网历史记录
摘要:随着国家信息化建设的不断发展,个人PC成为我们日常生活中不可或缺的工具。其中的重要信息越来越多,信息化条件下的信息安全保障问题己引起全社会的高度重视。本文研究的对象——上网历史记录查询是针对计算机安全信息管理而设计的。主要阐述了浏览器缓存获取、对缓存信息筛选以及排序、上网信息的打印程序设计。
关键词:安全信息上网历史记录
姓名:
学号:
考试日期:
备注:
1.项目概述
当人们用浏览器访问各种因特网网址时,基于安全因素的考虑以及对无网脱机环境下浏览网页的支持,计算机会自动把这些访问信息缓存在在注册表当中(还有一部分信息以及网页资源存在C盘的缓存目录中)。本文主要的研究内容是通过访问注册表信息,实现提取上网记录,然后将这些记录进行筛选整理,并且以一定的格式输出在TXT文档中,以供人们快速的了解上网浏览网页的次数、时间、地址等有价值的信息。
开发环境:操作系统 Windows 7;开发工具 VS 2010。
2.功能需求
计算机信息系统的管理与纸介质的文件有很大不同,其管理上难度要大的多。计算
机信息系统容易与其他的信息设备或载体相连接,使重要信息通过其他传输渠道扩散出去;计算机信息系统暴露的部位多,接触人员广,很容易受到攻击,且一旦泄漏,传播
速度快,范围大。
而在当今网络化的世界中,重要信息泄漏很重要的一方面原因是来自于网络,网络给企业网带来成熟的应用技术的同时,也把固有的安全问题带给了企业网;企业内部的网络,主要针对企业内部的人员和企业内部的信息资源,企业网面临着自身所特有的安全问题。但是随着信息技术的高速发展,网络安全技术也越来越受到重视,由此推动了防火墙、人侵检测、虚拟专用网、访问控制等各种网络安全技术的蓬勃发展。常见的企业网安全技术有很多,例如虚拟局域网技术、网络分段、硬件防火墙技术等。
所以,我们需要在Windows上编写一个程序,能获取本机上网记录。把访问过的网址和时间以及访问的次数以一定的顺序保存到一个文本文件中。这样,我们不但能更加高效的管理我们的上网信息,还能为删除这些信息,以防止有价值的信息泄露奠定基础。
3. 设计思路
3.1 整体结构
我们要开发的是一个获取本机上网记录的小程序,我们首先要建立与注册表的联系,并从中读取所要的信息,最后对信息进行处理,打印到.TXT文件之中。
3.2类设计
类图:
图3.1
说明:
类方法功能
BrowsHistory BrowsHistory::FileTimeToTime_t filetime数据向time_t数据的转化
BrowsHistory::GetBrowsHistory获取上网记录并返回
BrowsHistory::InitHistroy查询上网缓存,获取上网信息
BrowsHistory::urlFiltrateIE对获取的上网信息进行筛选,并存储筛选后的信息
BrowsHistory::Sort对上网记录按访问次数从多到少排序
成员变量
BrowsHistory::dectect_history保存获得的网址和访问次数的一个容器CBrowser_historyView CBrowser_historyView::OnDetect查询按钮
CBrowser_historyView::OnPrint打印按钮
成员变量
CBrowser_historyView::hsec保存访问时间秒
CBrowser_historyView::hmin保存访问时间分
CBrowser_historyView::hhour保存访问时间时
CBrowser_historyView::hday保存访问时间天
CBrowser_historyView::hmon保存访问时间月
CBrowser_historyView::hyear保存访问时间年
CBrowser_historyView::num列表序号
CBrowser_historyView::sum访问次数
CBrowser_historyView::URL访问网址
图3.2
3.4 时序图
图3.3 4.开发环境下载、安装和配置
VS2010的下载地址为:ed2k://|file|cn_visual_studio_2010_ultimate_x86_d
vd_532347.iso|2685982720|4AE6228933DDE49D9BFA4C3467C831C2|
下载完成后,用winrar或者360压缩工具打开VS2010.ISO文件并解压到指定目录。解压完成后如图4.1所示。
图4.1
然后,点击setup.exe开始安装VS2010。
图4.2
点击安装Microsoft Visual Studio 2010。
图4.3
点击下一步。
图4.4
点击下一步。
图4.5
选择需要安装的功能以及安装路径(一般会全部选择所有功能,安装路径就是默认路径)。最后等待安装完成后,打开后缀名为sln的文件即可看见整个工程(注意:格式化输出的文档在"C:\\Browser_history”文件夹下)。
5. 程序的难点或核心技术分析
本程序大致有三个难点(重点)。这三点分别为如何找到合适的函数,从注册表中获取上网缓存信息;如何从获取的信息中提取有用的信息(例如:网址,最后访问时间等);如何对提取的有用信息进行转换以及格式化输出,使其更加人性化。下面,将就这三点做一个详细的分析。
5.1 如何找到合适的函数,从上网缓存中获取信息
首先在BrowsHistory类中创建一个InitHistroy (void)方法,在这个方法中用Cache_Entry 变量获取入口函数Cache_Entry=(LPINTERNET_CACHE_ENTRY_INFO) new char[dwSize];然后再定义缓存系统大小。之后,用Cache = FindFirstUrlCacheEntry(_T("visited:"),
Cache_Entry, &dwSize);获取到第一个URL缓存信息,然后对这些信息做筛选工作(这个会在第二点中详细说明)。之后,做一个循环,使用系统自带函数FindNextUrlCacheEntry(Cache, Cache_Entry, &dwSize)查找下一个缓存信息,然后再进行信息筛选工作。这个循环一直做到缓存中没有信息为止。然后使用函数FindCloseUrlCache(Cache)关闭对缓存信息读取的入口。最后对这些信息按照访问次数从多到少排序。
主要代码如下所示:
Cache = FindFirstUrlCacheEntry(_T("visited:"), Cache_Entry, &dwSize);
if(Cache != NULL)
{
urlFiltrateIE(Cache_Entry->lpszSourceUrlName,Cache_Entry->LastAccessTime);
}do
{
if (FindNextUrlCacheEntry(Cache, Cache_Entry, &dwSize))
{
urlFiltrateIE(Cache_Entry->lpszSourceUrlName,Cache_Entry->LastSyncTime);
}else
{
FindCloseUrlCache(Cache);
Browser_sign = false;
break;
}
break;
FindCloseUrlCache(Cache);
Browser_sign = false;
break;
default:
FindCloseUrlCache(Cache);
Browser_sign = false;
break;}
}
} while (Browser_sign);
Sort();
5.2 如何从获取的信息中提取有用的信息
首先在BrowsHistory类中创建一个urlFiltrateIE (LPWSTR lpszSourceUrlName,FILETIME