CN100493065C - 使用即时消息软件的数据检测网络地址转换设备的方法 - Google Patents

使用即时消息软件的数据检测网络地址转换设备的方法 Download PDF

Info

Publication number
CN100493065C
CN100493065C CNB2006100114224A CN200610011422A CN100493065C CN 100493065 C CN100493065 C CN 100493065C CN B2006100114224 A CNB2006100114224 A CN B2006100114224A CN 200610011422 A CN200610011422 A CN 200610011422A CN 100493065 C CN100493065 C CN 100493065C
Authority
CN
China
Prior art keywords
immediate information
information software
address
packet
nat
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2006100114224A
Other languages
English (en)
Other versions
CN1812394A (zh
Inventor
毕军
章淼
吴建平
赵雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CNB2006100114224A priority Critical patent/CN100493065C/zh
Publication of CN1812394A publication Critical patent/CN1812394A/zh
Application granted granted Critical
Publication of CN100493065C publication Critical patent/CN100493065C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于互联网技术领域。其特征在于本发明通过获取网络中即时消息软件的数据,找出监控的IP地址上并发的即时消息软件的例程数目,以此来判断该IP地址上是否运行了网络地址转换设备NAT。方法的优点在于使用了现有检测方法没有使用到的应用层信息,用户和NAT厂商无法通过修改主机网络协议栈和NAT网关的方法来逃避检测。本方法能够与现有检测方式相结合,提高NAT检测的准确性和抗逃避能力。

Description

使用即时消息软件的数据检测网络地址转换设备的方法
技术领域
使用即时消息软件的数据检测网络地址转换设备的方法属于互联网技术领域,尤其涉及对互联网接入网络的管理技术。
背景技术
网络地址转换设备(以下用NAT表示)是为了解决IPv4地址短缺问题在1994年提出的一种方案。NAT典型的工作场景如图1所示,使用私有地址的子网通过NAT来接入互联网。NAT至少配置了一个全球有效地址G,子网内部的主机使用私有地址。NAT对传入数据报和外发数据报中的IP地址进行转换,用G替换每个外发数据报中的源地址,用正确主机的私有地址替换每个传入数据报的目的地址。从外部来看,NAT类似于一台普通主机,所有数据包来自NAT,所有响应也返回到NAT。从内部来看,NAT是个可达互联网的路由器。通过将IP地址由一个地址域转换到另外一个地址域,NAT为使用私有地址的主机提供到互联网的IP层访问。
NAT可以缓解互联网IP地址短缺的压力,但它也引发很多问题。从网络管理的角度来看,NAT让多台主机同时访问网络,对外却表现为一台主机,管理员无从得知网络的准确使用情况,多个用户公用NAT访问互联网对因特网接入提供商ISP而言意味着潜在用户的流失。从网络安全的角度来看,NAT可能让未授权的主机来访问网络,这种接入方式甚至可能是无线的,这给网络安全造成隐患。因此人们需要掌握网络中NAT的使用情况。
获取网络中设备信息大体可分为主动和被动两种方式。在主动方式中,探测者主动地向探测对象发送数据以获取其响应;在被动方式中,探测者被动地监听探测对象发出的数据包。主动方式可以在网络中任何地方进行探测,但在网络中引入了数据,并且容易干扰探测对象;被动方式不会在网络中引入数据,但需要一个特定的检测点。目前人们一般使用被动方式来检测NAT,这是因为多数NAT一般不接受由NAT外部向内部发起的通讯,不对数据包进行响应,所以主动方式一般很难获取NAT的信息;与之相比,被动方式可以很容易地取得NAT后主机发出的数据包。NAT检测场景如图2所示,检测点设置在网络接口处,通过被动获取并分析网络数据,检测出网络中可能存在的NAT。
目前已存在的NAT检测方式有使用IP首部的报文存活时间(TTL)字段值法、被动操作系统指纹探测法和使用IP首部的ID字段(IPid)构造序列的方法。TTL值法利用操作系统一般使用特定TTL值和NAT一般会在转发数据包时将TTL减1这两个特性,根据数据包到达检测点的TTL值计算数据包经过的跳数,检查其是否小于正常的跳数来判断该数据包是否经过了NAT。被动操作系统指纹探测法利用数据包首部通常会携带能够反应操作系统信息的TCP/IP协议栈实现情况这一特性,通过检查是否能从一个IP地址发出的数据包检查出多种操作系统指纹来判断该IP地址上是否存在NAT。IPid序列法利用主机一般采取依次加1方式来使用IP首部的ID字段的特性,使用检测对象发出的IP数据包构造IPid序列,检查是否能构造出多个序列,以此来判断是否存在NAT。对于网络层数据,一般可以通过修改NAT的实现来逃避检测;对于传输层数据,可以修改主机网络协议栈的方法来逃避检测。
通过以上分析可见,由于NAT的网络行为与普通主机类似,想准确检测NAT是一件比较困难的事情。此外,NAT用户和NAT厂商出于隐私和利益上的考虑,可能会根据NAT检测方法设计出相应的逃避检测方法。目前还不存在一个在所有场景下都保证有效的NAT检测手段,人们往往需要结合多种检测手段来尽可能提高检测的准确性。因此,从新的检测角度发明新的检测方法,以提高NAT检测的准确性和抗逃避能力,是本发明需要解决的问题。
发明内容
本发明的目的在于提供一种新的NAT检测方法,通过被动监听网络中的即时消息软件(以下用IM表示)发出的数据来进行NAT检测。方法的优点在于无法通过修改NAT网关和主机网络协议栈的方法来逃避检测。虽然通过修改应用程序的方法依然可以逃避检测,但是一些广泛使用的应用程序一般不容易获得源码,而应用程序的开发者并没有直接的动力去试图逃避对NAT的检测。与现有的使用网络层和传输层信息的NAT检测方法相比,此方法的优点在于应用层信息不容易被NAT网关所修改,NAT厂商和用户不容易通过修改NAT网关和主机TCP/IP协议栈来逃避检测。
本发明所提供的方法思路在于:IM应用是用户相关的,用户在一台主机上一般只会运行一个IM的一个或少数几个例程。在多个用户通过NAT连接网络的情况下,如果他们同时使用某个应用,则在NAT外部可以观察到在一个IP地址上有IM的多个例程在运行。所以我们可以通过获取指定IP地址上同时运行的某种IM的例程数目来推断该IP地址上是否使用了NAT。
IM一般会使用一种在线状态通告的机制,用来向用户提供有关其它IM用户的在线信息。主流的IM一般采用一个稳定的数据通道(比如一个稳定的TCP连接)来提供在线状态通告,IM客户端在运行时会与外界保持一个稳定的数据通道。如果我们能获取这种通道的数据,推断出通道的个数,就得到了IM客户端的例程数目。在每个主机只运行一个IM客户端例程的假设下,如果发现某个IP地址上出现的IM例程数过多,则说明该IP地址上可能存在NAT网关。如图3所示,处于NAT后的主机B和C同时使用某种IM,它们的数据在经过检测点时,检测点发现有两个维持会话状态的数据通道,得知该IP地址上同时运行了两个IM客户端例程,从而推断该IP地址上可能配置了NAT网关。
本发明使用了Google的Google Talk和微软的MSN Messenger这两种IM来进行具体的检测工作。
本发明的特征在于:依次含有以下步骤:
步骤1.在网络接口处设立数据包过滤器,被动抓取由内网发往外网的数据,过滤出各种即时消息软件发出的用于维持即时消息软件客户会话状态的数据,依次包含步骤1.1-1.3:
步骤1.1.得到某种即时消息软件的维持会话状态的数据包;
步骤1.2.根据数据包的源IP地址和所属的即时消息软件类型找到为被检测的本地IP地址设立的即时消息软件通道信息列表;
步骤1.3.根据数据包的目的IP地址和TCP源端口号,在该被检测的本地IP地址的即时消息软件通道信息列表中查找即时消息软件通道,即该即时消息软件维持会话状态的通道;
步骤2.从步骤1得到的即时消息软件通道数据中分析得到当前并行的即时消息软件通道数目;
步骤3.在步骤2中统计得到的并行的通道数目即为当前被检测的本地IP地址上并发运行的即时消息软件例程数目;若所述即时消息软件例程数目大于预先设定在检测器中的阀值,则判定被检测的本地IP地址上运行了网络地址转换设备。
所述的即时消息软件属于Google的Google Talk类型,以Google Talk服务器地址和服务端口号作为判断条件进行过滤。
所述的即时消息软件属于微软的MSN Messenger类型,先检查数据包的目的端口号是否为1863,再检查数据包是否包含PNG命令,以此来判断一个数据包是否为MSN Messenger的维持会话状态的数据。
所述的数据包过滤器需运行在网络接口处的设备上。
本发明所提出的使用IM数据进行NAT检测的方法能够用于一般网络管理范围,尤其在ISP对接入网络的控制方面有很大的意义。此方法与现有的NAT检测方法结合能提高NAT检测的准确性和抗逃避的能力。本发明可以运行在网络接口处的主机上,对于大规模的网络,可以通过配置专门的网络设备来提高处理能力。本方法已通过实验检验。
附图说明
图1.网络地址转换的示意图;
图2.NAT检测场景的示意图;
图3.基于IM信息进行NAT检测场景的示意图;
图4.基于IM信息进行NAT检测流程的示意图;
图5.Google Talk与MSN Messenger维持会话状态数据过滤流程的示意图;
图6.IM通道操作及NAT判断流程的示意图。
具体实施方式
使用IM数据进行NAT检测大体上可分为两步:
1)从通过检测点的数据过滤出属于IM维持会话状态通道(以下简称IM通道)的数据;
2)从IM通道的数据中分析得到当前并行的IM通道数据,即此时检测对象上运行的IM例程数目,然后根据数目大小判断该检测对象是否为NAT。
IM通道数据的过滤
由于现有不同IM的工作方式不同,过滤细节也不一样,但大体上可分为两种方式:利用IM一般会使用固定地址的服务器和端口号这个特点来过滤;利用某些维持会话状态的数据具有特定数据格式和内容这个特点来过滤。我们选取Google Talk和MSN Messenger这两种典型的IM来做说明,流程图如图5所示。
对于Google Talk,我们以服务器地址和端口作为判断条件来过滤数据。Google Talk采用XMPP协议,Google Talk的客户端与服务器端之间通过一个TCP连接来交换数据,其中包括维持会话状态数据和即时消息。这个TCP连接在客户端登录时建立,一直持续整个会话过程,这样我们只需获取上述TCP的数据即可得到Google Talk的维持会话状态通道的数据。我们通过判断一个数据包的目的是否为域名talk.google.com对应的IP地址、目的端口号是否为5222来判断它是否为上述TCP的数据。
对于MSN Messenger,我们采用了根据端口号和数据包内容来进行过滤的方法。在一个典型的会话过程中,MSN Messenger客户端会与多个服务器交换数据,它们是分配服务器(DS),会话通知服务器(NS)和交换服务器(SS),过程如下:
1)客户端连接DS,DS给客户端分配一个NS,并通知客户端连接该NS;
2)客户端连接NS,这个连接将持续整个会话过程,用于提供会话状态服务;
3)客户端之间需要发送IM消息时,NS会分配一个SS给客户端,客户端与这个SS建立一个TCP连接。
我们需要获取的是客户端连接NS的数据。由于NS的数目很多,达到上百个,我们很难收集到全部的NS地址,过滤时进行过多的地址比较也会影响过滤性能,我们没有使用NS的地址作为过滤条件来进行过滤,而采用了根据端口号和数据包内容来进行过滤。在MSN Messenger客户端与NS服务器的会话通道中,MSN Messenger客户端会不定期的向NS服务器发送PNG命令,这种命令不会出现在与其他服务器的数据交换中。PNG命令格式如下:
PNG\r\n
我们先检查数据包的目的端口号是否为1863,再检查数据包是否包含PNG命令,以此来判断一个数据包是否为MSN Messenger的维持会话状态的数据。
IM通道信息的维护及NAT判断
我们对每一个被检测的本地IP地址维护一个维持会话状态的通道列表。如图6所示,在获取到网络内部发往外部的IM维持会话状态的数据时,做如下处理:
1)根据数据包的<源端口号,目的地址>这个二元组来判断该数据包是否属于某一个已记录的通道。如果属于,则更新该通道的最后更新时间;如果不属于,则新加入一个记录。
2)清除一段时间(用Tmax表示)内没有更新的通道记录。Tmax值的大小与数据包的过滤机制有关。对于我们采用的MSN的过滤方式,由于两个PNG命令间隔时间不会超过50s,因此我们针对MSN把Tmax设置为50s。
3)统计此时并行的通道数目。该数目即为当前该IP地址上并发运行的IM例程数目。
在获取检测对象上某个IM的例程数目后,我们判断这个数值是否大于某个阀值来推断检测对象是否为NAT。
在连接到外部网络的接口处配置使用IM数据的检测程序,在网络中存在NAT且NAT后多个用户同时使用一种IM的情况下,检测程序将检测出某个IP地址上运行了一个IM的多个例程,从而得知该IP地址上可能配置了NAT。本发明使用了现有方法没有使用到的应用层信息,用户和NAT厂商无法通过修改NAT网关和主机网络协议栈的方法来逃避检测,如果与现有方法结合,能够很好的提高检测的准确性和抗逃避能力。由此可见,本发明达到了预期目的。

Claims (4)

1.使用即时消息软件的数据检测网络地址转换设备的方法,其特征在于,该方法依次含有以下步骤:
步骤1.在网络接口处设立数据包过滤器,被动抓取由内网发往外网的数据,过滤出各种即时消息软件发出的用于维持即时消息软件客户会话状态的数据,依次包含步骤1.1-1.3:
步骤1.1.得到某种即时消息软件的维持会话状态的数据包;
步骤1.2.根据数据包的源IP地址和所属的即时消息软件类型找到为被检测的本地IP地址设立的即时消息软件通道信息列表;
步骤1.3.根据数据包的目的IP地址和TCP源端口号,在该被检测的本地IP地址的即时消息软件通道信息列表中查找即时消息软件通道,即该即时消息软件维持会话状态的通道;
步骤2.从步骤1得到的即时消息软件通道数据中分析得到当前并行的即时消息软件通道数目;
步骤3.在步骤2中统计得到的并行的通道数目即为当前被检测的本地IP地址上并发运行的即时消息软件例程数目;若所述即时消息软件例程数目大于预先设定在检测器中的阀值,则判定被检测的本地IP地址上运行了网络地址转换设备。
2.如权利要求1所述的使用即时消息软件的数据检测网络地址转换设备的方法,其特征在于:所述即时消息软件属于Google的Google Talk类型,以Google Talk服务器地址和服务端口号作为判断条件进行过滤。
3.如权利要求1所述的使用即时消息软件的数据检测网络地址转换设备的方法,其特征在于:所述即时消息软件属于微软的MSN Messenger类型,先检查数据包的目的端口号是否为1863,再检查数据包是否包含PNG命令,以此来判断一个数据包是否为MSNMessenger的维持会话状态的数据。
4.如权利要求1所述的使用即时消息软件的数据检测网络地址转换设备的方法,其特征在于:所述数据包过滤器需运行在网络接口处的设备上。
CNB2006100114224A 2006-03-03 2006-03-03 使用即时消息软件的数据检测网络地址转换设备的方法 Expired - Fee Related CN100493065C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100114224A CN100493065C (zh) 2006-03-03 2006-03-03 使用即时消息软件的数据检测网络地址转换设备的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100114224A CN100493065C (zh) 2006-03-03 2006-03-03 使用即时消息软件的数据检测网络地址转换设备的方法

Publications (2)

Publication Number Publication Date
CN1812394A CN1812394A (zh) 2006-08-02
CN100493065C true CN100493065C (zh) 2009-05-27

Family

ID=36845083

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100114224A Expired - Fee Related CN100493065C (zh) 2006-03-03 2006-03-03 使用即时消息软件的数据检测网络地址转换设备的方法

Country Status (1)

Country Link
CN (1) CN100493065C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103401736A (zh) * 2013-08-22 2013-11-20 东南大学 一种基于即时通讯软件检测网络代理的方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155147B (zh) * 2006-09-26 2011-11-16 阿里巴巴集团控股有限公司 一种即时通讯服务器监控数据的分发方法和装置
CN101159713B (zh) * 2007-11-14 2011-01-05 杭州华三通信技术有限公司 一种限制即时通信应用的方法、系统和装置
CN101291327B (zh) * 2008-06-06 2011-11-30 成都市华为赛门铁克科技有限公司 一种检测共享接入主机数的方法及装置
CN105681487A (zh) * 2009-10-28 2016-06-15 惠普发展公司,有限责任合伙企业 用于nat设备的检测的方法和装置
CN101895552B (zh) * 2010-07-22 2014-01-01 北京天融信科技有限公司 一种安全网关及其检测代理上网的方法
CN112822204A (zh) * 2021-01-28 2021-05-18 深信服科技股份有限公司 一种nat的检测方法、装置、设备及介质
CN112995358B (zh) * 2021-04-21 2021-07-23 中国人民解放军国防科技大学 大规模网络地址转换流量识别方法、装置及计算机设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103401736A (zh) * 2013-08-22 2013-11-20 东南大学 一种基于即时通讯软件检测网络代理的方法
CN103401736B (zh) * 2013-08-22 2016-12-28 东南大学 一种基于即时通讯软件检测网络代理的方法

Also Published As

Publication number Publication date
CN1812394A (zh) 2006-08-02

Similar Documents

Publication Publication Date Title
CN100493065C (zh) 使用即时消息软件的数据检测网络地址转换设备的方法
CN101924757B (zh) 追溯僵尸网络的方法和系统
CN102082690B (zh) 一种网络拓扑的被动发现设备及其发现方法
US8627477B2 (en) Method, apparatus, and system for detecting a zombie host
EP2056559B1 (en) Method and system for network simulation
CN108737417A (zh) 一种面向工业控制系统的脆弱性检测方法
US20070297349A1 (en) Method and System for Collecting Information Relating to a Communication Network
US20090182864A1 (en) Method and apparatus for fingerprinting systems and operating systems in a network
EP2372954B1 (en) Method and system for collecting information relating to a communication network
CN109587156A (zh) 异常网络访问连接识别与阻断方法、系统、介质和设备
CN107294797A (zh) 网络拓扑结构识别方法和系统
CN107040429A (zh) 一种端口转发性能的测试方法及系统
Pashamokhtari et al. Progressive monitoring of iot networks using sdn and cost-effective traffic signatures
CN104021348A (zh) 一种隐匿p2p程序实时检测方法及系统
CN112787848A (zh) 一种基于网络流量分析的主动扫描系统
CN102625332A (zh) 一种网络路由检测的方法
CN109309679A (zh) 一种基于tcp流状态的网络扫描检测方法及检测系统
KR102318686B1 (ko) 개선된 네트워크 보안 방법
CN101478406A (zh) 一种实时监视远程用户网络操作行为的方法
CN102957581A (zh) 网络接入检测系统和网络接入检测方法
CN105025028A (zh) 基于流量分析的ip黑洞发现方法
CN105516096A (zh) 一种僵尸网络发现技术及装置
ZHANG et al. A Multi-agent System-based Method of Detecting DDoS Attacks
TWI558141B (zh) A lightweight real - time active call method and module for passive communication protocols
Kang et al. Network forensic analysis using visualization effect

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090527

Termination date: 20210303

CF01 Termination of patent right due to non-payment of annual fee