当前位置:文档之家› 网络犯罪侦查的IP定位跟踪技术研究

网络犯罪侦查的IP定位跟踪技术研究

2011年第O6期 I doi:10 3969/j issn 1671-1122 2011 06 025 

P 警 窖 (中国人民公安大学,北京100038) 摘要:该文将计算机网络技术和数据库理论应用于实际的网络犯罪侦查,提出了用于网络犯罪侦查取 证的IP定位跟踪技术,并在此基础上利用c++Builder和WinSock等编程方法开发了一套针对计算机网络犯 罪的IP定位跟踪软件系统。该系统可直接应用于网络犯罪的侦查办案,为公安部门破获网络犯罪案件提供有 利工具,大大提高了公安人员打击网络犯罪行为的效率 关键词:互联网;计算机犯罪侦查;IP地址定位 中图分类号:TP393.08 文献标识码:A 文章编号:1671—1122(2011)06—0072—03 

The Research of IP Address Locating and Tracing Technology in Internet Crimes Investigation 

ZHANG Yue—xian (ChinesePeople PublicSecurityUniversity,Beo'ing100038,China) Abstract:This paper applies the computer network technology and the database theory into the practical internet crime investigation,proposes an IP address locating and tracing technology which is used in the intemet crime investigation.and then uses the programming method such as C++Builder and WinSock to develop a software system which is used for the IP address locating and tracing in the intemet crimes.This system can be used into the internet crime investigation directly,provide some assistance for the public seeurity organs to solve the interact crime cases,and improve the efficiency of the policemen crack down on internet crime behavior greatly. Key words:intemet;computer crimes investigation;IP address locating 

0引言 随着计算机和网络技术在各个领域中的迅速普及与广泛应用,计算机犯罪和网络犯罪案件大幅度增长,这些都给社会造成 了巨大的经济损失,甚至危害到社会的安定。计算机犯罪的问题越来越引起人们的关注,而计算机犯罪的侦查取证则成为了一个 亟待解决的课题。计算机犯罪案件的侦破工作一方面要坚持和遵循传统侦破方法,另一方面由于此类犯罪属于智能犯罪,它有 自身独特的特点和内在的规律。冈此,应着手对网络犯罪侦查技术进行专门的研究,以适应高速度发展的信息社会的需要…。针 对网络犯罪的电子监控和电子识别技术在对网络犯罪活动的侦查取证过程中,对特定IP地址进行获取、定位和跟踪以及对目标 IP主机信息的刺探就尤为重要。 

1网络犯罪侦查的IP定位跟踪技术基本原理 1.1计算机网络犯罪侦查取证中lP地址的获取 在计算机网络犯罪侦查取证过程中,获得IP地址的方法很多,比如通过对Internet国际出El数据的过滤、通过对网络中传 输的电子数据的监听、查询互联网管理机构数据库、通过网络扫描或网络监听、email监控,或使用一些显示IP的外挂捅件应 用软件等,都可以获取网络主机的IP地址,这些IP地址有些是目标主机的真实IP,有些是伪装过的 l。 在某种程度上,可以说网上的任何访问者都能被查出来,互联网是基于IP地址的,一台主机在互联网上的一切行为都要打 上IP地址的烙印,因为网络通讯都有数据发送者与数据接收者,所以只要有人和你的主机进行通讯,你都能知道对方的IP地址, 即使对方在防火墙后也至少能够知道对方防火墙的地址。 ● 

_l 72 收稿时间:2011—05—06 

作者简介:张跃仙(1987)男,山东,硕士研究生,主要研究方向:公安信息系统与指挥决策。 201 1年第O6期 IP封装技术的本质就是:纯文本的包被加密,封装在外 层的IP报头用来对加密的包进行网络上的路由选择。到达另 一端时,外层的IP报头被拆开,报文被解密,然后送到收报 地点。各种应用程序获取IP地址的实质就是分析IP数据报 头并从中取出源或目的IP地址删。 1.2计算机网络犯罪侦查取证中lP地址的定位 通过网络通讯记录下对方的IP地址,依据IP地址或域名 找出其所在地理位置。首先根据IP地址的分配,建立一个含 有对应真实地理位置的IP地址数据库,在这个数据库中,每 一个IP地址或IP地址段都对应该IP地址或地址段的真实地 理位置。通过在互联网上收集公布的国内外IP分配数据,以及 个人搜集或验证的IP数据。然后,再使用编程方法开发一个软 件系统,就可以实现对输入的IP地址在数据库中查询后输出其 对应的真实地理位置。 在计算机网络犯罪的侦查取证过程中,获取了特定目标主 机的IP地址后,利用该软件系统,在脱机的情况下从数据库 中查询出具有该IP地址的主机的真实地理位置,就可以缩小 侦查范围、缩短办案时间,提高工作效率。 1.3计算机网络犯罪侦查取证中lP地址的跟踪 根据侦查的需要,可以设计在连线的情况下程序利用网 络技术对远程主机进行跟踪和查询,获得具有该IP地址主机 的一些有用信息,以帮助侦查取证l4】。 在计算机网络犯罪侦查取证过程中,对目标主机的主机 状态进行监视和跟踪、记录,主要是监控目标主机是否提供 某项服务。由于这些常用的服务总是使用特定的默认端口,所 以要想跟踪远程主机是否提供某项服务,关键是以此服务的 协议向远程主机的特定端口发送一个数据包,如果有应答, 就表示主机可以提供此服务,如果在特定的时间内没有应答, 就表明远程主机不提供此服务嘲。 根据上面的理论,可以开发一个软件系统,通过查询该 主机是否开放某个端El来实现目标IP地址主机是否提供某项 服务,以确定目标IP主机的状态,为网络犯罪的侦查取证提 供线索和帮助。 2网络犯罪侦查的JP定位跟踪系统软件设计和实现 利用网络编程技术,以独立软件的形式对IP定位跟踪系 统加以实现。该系统的设计目标是:生成一个单机版应用程序, 对输入的某一IP地址,在点击“定位”按钮后,能在脱机状 态下进行数据库查询,迅速确定并输出该IP地址所对应的真 实地理位置;对输入的某一IP地址,在点击“跟踪”按钮后, 能在连接到互联网的情况下对该IP主机状态进行跟踪监控, 获取并输出该IP主机的相关信息,如主机名、该主机提供的 服务等,为计算机网络犯罪侦查办案提供线索。 2.1程序界面的设计 IP定位跟踪系统软件界面 设计:运行C++Builder6.0,创 建一个新的项目文件,会出现一 个窗体Forml,在Forml上放置 =:个TGroupBox控件分别用于三 个模块:“本地主机IP地址和计 算机名检测”、“远程主机定位” 和“远程主机跟踪检测”。对 Forml及其各个控件的屙『生进行 正确设置后,生成的IP定位跟 

瓣鼯黼 磷 瓣 瑚 剃甜 黼辫 …t一…峨 一f一 |蓐喜 , 爨 《 嚣_ | 镬舶凄冀 ?嚣, |磐 | -- ||I …萼‘÷疹 

f ■ 一 。 ————一 拜蟪 

瓣 =¨ l ,罐群孝墒 霸 | … i龉难赫'昂镰啭'峨钱 嚣 |。豫i等一t y罅 霸捌瞎 尊龋蓐鬈|。¨¨ ≮ ||, 、 0霹菇 0 , 

如 目_羲: 鬈≯ 嚣 |。 曩 。0 一| 

?_璧!譬等 蠡蝤 j 图1 IP定位跟踪系统软件界面 踪系统软件界面如图1所示。下面将创建三个TButton控件的 OnClick事件处理函数,实现上面所述的各个功能。 2.2本地主机lP地址和计算机名检测功能的设计与实现 要在应用程序中获取本计算机的IP地址,可以使 用WinSock API来实现。本程序中利用Winsock API的 gethostname函数取得本地计算机的标准主机名,gethostname 函数的声明方式如下: jn gethoslname(OUT char FAR IIDBIe.IN inI namelen) 其中参数name返回char型的本地主机名,namelen是int 型的name参数长度。 可以写出获取主机名的ResolveHostName函数代码如下: AnsiString Res0lveH0stName『v0id1 { char H0stName[256]; //返回主机名(host name1 geth0stname(Hos£Name,sizeof(HostName)); return(StrPas(HostName)); } 

利用Winsock API的gethostbyname函数可以取得对应于 给定主机名的主机信息,gethostbyname函数返回hostent结构 指针,hostent的结构变量h—addr~list代表的就是以网络位顺 序返回的IP地址,对其进行转换就可以获取本机IP^ 获取主机名的ResolveIP函数代码如下: AnsiString ResolveIP(void) f char H0stName【256]; inti; AnsiString IPV4; gethostname(HostName,size0f(H0stNam e1): hostent RemoteHost=gethostby”ame(H0stName): if(RemoteHost==0) { return(”error”); ) for(i-0;Rem0teH0s卜>h—addr list[i]!=0;++i) ( in~addr addr; 

memcpy(&addr,RemoteHost->h—addr_list[i],sizeof(in—add r1); IPⅥ=IPV4+strPas(ineI—ntoa(addr)); ) return(IPV4); } 

相关主题