一种跨网段设备搜索方法

文档序号:7859634阅读:2252来源:国知局
专利名称:一种跨网段设备搜索方法
技术领域
本发明主要阐述了在网络应用环境中,基于不同平台的设备在以太网层进行信息交换的方法。
背景技术
近年来,伴随网络技术的飞速发展以及视频监控领域高清化的推进,高清网络监控设备已经得到了长足的应用,网络监控设备已经在监控市场上占据了较大的份额。与模拟设备以地址标识相同,网络设备以设备的IP地址作为接入网络系统的唯一标识。多数情况下,设备的IP地址对使用者来说是不可知的,接入监控平台之前,必须获取设备的IP地址信息,并对IP做相应的修改,为设备接入平台做好准备。 现今网络监控设备大多数基于开源操作系统linux,视频流及控制信息的传输依赖于操作系统的TCP/IP协议栈,而TCP/IP协议栈需要使用IP地址信息作为传输的标识。若不在同一 IP地址段的设备之间进行数据交换时,数据信息将被IP层丢弃而无法到达应用层进行数据的交互,因此无法直接通过TCP/IP协议栈来获取设备的IP地址信息。也就是在没有路由器的情况下,只有在同一个IP子网内的设备才能通信,若这些设备不在同一个网段内,即使通过交换机或集线器连接了也无法实现相互通信。IP地址的庞大,使穷举法也变得不切实际,从而使得获取设备的IP地址信息变得比较困难。

发明内容
本发明的目的在于提供一种跨网段设备搜索方法,通过绕开操作系统TCP/IP协议栈,而不必考虑IP地址信息的差异,提出一种获取设备IP地址的新方法。本发明采用以下技术方案
一种跨网段设备搜索方法,应用在局域网内,在所述局域网的所有平台和接入该平台的设备植入网卡抓包工具;
上线的设备端开启接收线程等待接收查询或者设置信息;上线的平台端则开启发送线程和接收线程,并在平台端建立本地连接设备的网络连接支持信息列表;
用户搜索目标设备的命令播发到所述局域网,接收到所述命令的当前平台向本地设备发送包含所述命令的数据包;
当前的本地设备接收所述数据包,根据抓包工具获得的用于搜索的命令,填写其网络连接信息并生成返回数据包给发出用户命令的平台;
发出用户命令的平台通过抓包工具检查返回的数据包,提取其MAC地址信息并检索本地的所述网络连接支持信息列表是否存在该MAC地址信息,若不存在,则提取数据包中的网络连接信息添加到该网络连接支持信息列表。依据本发明的跨网段设备搜索方法,绕过操作系统TCP/IP协议栈,通过网卡抓包工具抓取以太网中的数据包,然后再通过对数据包的分析,从而得到设备的IP地址信息。从而使用者可以不必理会接入设备原有的IP地址与平台是否在同一个网段内,仅需要接入设备就可在平台上进行设备的搜索。在进一步改进的方案中,还可以对相关设备的IP地址进行修改,以满足跨网段的访问。上述跨网段设备搜索方法,用户发出的命令中包括设置所搜索到设备的命令,响应该命令,连接搜索到设备的当前平台发送包含该命令的数据包给该设备,而该设备抓取该数据包,提取用户端IP及命令,相应该命令修改对应设备端IP与用户端IP在一个网段内,并生成返回数据包返回至发出命令的用户端。上述跨网段设备搜索方法,对应设备端依据命令修改的IP为用户端平台所分配,并与设置所搜索到的设备的命令一同发送。上述跨网段设备搜索方法,平台端的发送进程定时或者手动发送设备查性命令,接收到的设备端信息,实时显示在用户端。上述跨网段设备搜索方法,平台端接收到搜索目标设备的命令后,以广播的形式发送出去。 上述跨网段设备搜索方法,平台端搜索其所有物理网卡,当前平台端为用户端时,获取当前物理网卡的网络连接支持信息填充到要发送的数据包中进行发送。上述跨网段设备搜索方法,所述网络连接支持信息包括IP地址、子网掩码、网关、DNS。


图I为设备搜索中以太网层传输数据的帧格式。图2为一种依据本发明的设备端回传IP地址信息及设置IP地址信息的基本流程。图3为依据本发明的一种平台端广播搜索设备IP地址信息的基本流程。
具体实施例方式关于抓包工具,是拦截查看网络数据包内容的软件,如Sniffer, wireshark,WinNetCap, WinSock Expert都是当前流行的抓包工具。如使用SpyNet设置抓包的类型,比如是要捕获IP包还是ARP包,还可以根据目的地址的不同,设置更详细的过滤参数。抓包,英文名称是Sniffer,中文也可以翻译为嗅探器,是一种威胁性极大的被动攻击工具。使用这种工具,可以监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击。将网络接口设置在监听模式,便可以将网上传输的源源不断的信息截获。黑客们常常用它来截获用户的口令。据说某个骨干网络的路由器曾经被黑客攻入,并嗅探到大量的用户口令。本文将详细介绍Sniffer的原理和应用。每一个在局域网(LAN)上的工作站都有其硬件地址,这些地址惟一地表示了网络上的机器(这一点与Internet地址系统比较相似)。当用户发送一个数据包时,如果为广播包,则可达到局域网中的所有机器,如果为单播包,则只能到达处于同一碰撞域中的机器。抓包可以解析数据包的格式、数据,包括密码等信息。IP数据包,也称IP数据报(IP Datagram),是一个与硬件无关的虚拟包,由首部(又称包头)和数据两部分组成,首部的钱一部分是固定长度,是所有IP数据包所必需具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首部中的源地址和目的地址都是IP协议地址。为了方便本文所述及方案的使用,参见说明书附图1,表示了以太网传输数据的帧格式,还包含一个字节的命令类型,按照预定义,定义相关的命令字,根据命令字解析出相关的命令。当然,IP数据包中还包含了其他信息,比如用来标识包头的标志(Flag),生存时间等,在此不再赘述。分别准备在windows平台下的抓包工具winpcap库,以及在Iinux平台下运行的抓包工具Iibpcap库,安装完成之后,确认这些库可以在各自的操作系统下正常运行。其中平台为如个人电脑,设备指如连在个人电脑上网络打印机等设备。那么,一种跨网段设备搜索方法,应用在局域网内,在所述局域网的所有平台和接入该平台的设备植入网卡抓包工具,如前所述,在大多数应用中,平台端如个人电脑通常采用Windows操作系统,使用对应的winpcap库,相应的抓包工具安装之后,确认这些库可以在各自的操作系统下正常运行。确定以太网层传输数据的帧格式,确定目的MAC地址和源MAC地址,以及IP地 址信息在MAC帧中存放的格式。本文中,为使数据传输更加直观,假设平台MAC地址为platform_mac [6] = {0x01, 0x01, 0x01, 0x01, 0x01, 0x01},设备端MAC地址为 device_mac[6] = {0x02 0x02, 0x02, 0x02, 0x02, 0x02}。然后,上线的或者说在线的设备端开启接收线程等待接收查询或者设置信息;上线的或者在线的平台端则开启发送线程和接收线程,并在平台端建立本地连接设备的网络连接支持信息列表。本地连接的设备的网络连接支持信息列表可以在设备安装时获得,也可以通过如下面的搜索目标设备的命令生成相关的信息列表。用户搜索目标设备的命令播发到所述局域网,据此可以发现接入局域网的所有设备,接收到所述命令的当前平台向本地设备发送包含所述命令的数据包,由于命令可以如图I所示,通过与定义的命令类型进行设定,接收端按照该预定义进行对应解析即可,在此不再赘述。这样,整个局域网被遍历,可能存在多个设备,用户可以根据需要选择自己所需要的设备。当前的本地设备接收所述数据包,根据抓包工具获得的用于搜索的命令,填写其网络连接信息并生成返回数据包给发出用户命令的平台。发出用户命令的平台通过抓包工具检查返回的数据包,提取其MAC地址信息并检索本地的所述网络连接支持信息列表是否存在该MAC地址信息,若不存在,则提取数据包中的网络连接信息添加到该网络连接支持信息列表。这样,网络连接支持信息列表中就有了用户所需要的目标设备,然后就可以进行进一步的操作。更具体地,如附图3所示,在平台端,由于可能存在多个网卡设备(物理网卡和虚拟网卡),首先必须选择正在使用的物理网卡,对网卡进行抓包操作。设置抓包规则为目的MAC地址为platformjnac。然后根据设置的情况,使用定时或者手动的方式搜索前端设备。平台端以广播的形式发送搜索命令,并可接收来自各个设备的返回信息,并以列表的形式给出当前接入平台的设备的IP地址信息。此时,我们可以选择某个设备,对该设备的信息,如IP地址、子网掩码、网关、DNS等信息进行相应的设置。
进而,用户发出的命令中包括设置所搜索到设备的命令,响应该命令,连接搜索到设备的当前平台发送包含该命令的数据包给该设备,而该设备抓取该数据包,提取用户端IP及命令,相应该命令修改对应设备端IP与用户端IP在一个网段内,并生成返回数据包返回至发出命令的用户端。设置针对的是设备的网络连接信息,如前述的P地址、子网掩码、网关、DNS等网络连接信息。参见附图2,设备端的操作如,指定ethO开始网络抓包,并设定抓包规则为目的MAC地址为device_mac,开启网络接收线程。待接收到发送的MAC数据帧后,解析其中的命令类型。若命令类型为IP搜索,则从Iinux系统中获取当前物理网卡ethO的IP地址、子网掩码、网关、DNS等IP信息填充到MAC数据帧中以广播的形式发送出去;若接收到的命令类型为IP设置,则从接收到的MAC数据帧中提取出需要设置的信息,并与当前系统中的信息进行比较,若相同则不进行修改,否则修改当前设备的信息为新的数据,即上树需要设置的信息,从而,使该设备能够为用户端所访问,以进行相关通信。为了避免IP冲突,对应设备端依据命令修改的IP为用户端平台所分配,并与设置所搜索到的设备的命令一同发送。 如前所述,平台端的发送进程定时或者手动发送设备查性命令,接收到的设备端信息,实时显示在用户端,用户可以根据需要直观的选择所需要设置、访问的设备。这样,通过确定以太网层传输数据的帧格式,然后通过抓包工具查看所抓取的数据包的网络连接支持信息,进而通过抓包工具修改所需要的设备的网络连接支持信息,从而使索要访问的设备与所处平台在同一个网段内。
权利要求
1.一种跨网段设备搜索方法,应用在局域网内,其特征在于,在所述局域网的所有平台和接入该平台的设备植入网卡抓包工具; 上线的设备端开启接收线程等待接收查询或者设置信息;上线的平台端则开启发送线程和接收线程,并在平台端建立存储当前在线设备信息的链表; 用户搜索目标设备的命令播发到所述局域网,接收到所述命令的当前平台向本地设备发送包含所述命令的数据包; 当前的本地设备接收所述数据包,根据抓包工具获得的用于搜索的命令,填写其网络连接信息并生成返回数据包给发出用户命令的平台; 发出用户命令的平台通过抓包工具检查返回的数据包,提取其MAC地址信息并检索本地存储当前在线设备信息的链表中是否存在该MAC地址信息,若不存在,则提取数据包中的网络连接信息添加到本地存储当前在线设备信息的链表中。
2.根据权利要求I所述的跨网段设备搜索方法,其特征在于,用户发出的命令中包括设置所搜索到设备的命令,响应该命令,连接搜索到设备的当前平台发送包含该命令的数据包给该设备,而该设备抓取该数据包,提取用户端IP及命令,相应该命令修改对应设备端IP与用户端IP在一个网段内,并生成返回数据包返回至发出命令的用户端。
3.根据权利要求2所述的跨网段设备搜索方法,其特征在于,对应设备端依据命令修改的IP为用户端平台所分配,并与设置所搜索到的设备的命令一同发送。
4.根据权利要求I至3任一所述的跨网段设备搜索方法,其特征在于,平台端的发送进程定时或者手动发送设备查性命令,接收到的设备端信息,实时显示在用户端。
5.根据权利要求4所述的跨网段设备搜索方法,其特征在于,平台端接收到搜索目标设备的命令后,以广播的形式发送出去。
6.根据权利要求I所述的跨网段设备搜索方法,其特征在于,平台端搜索其所有物理网卡,当前平台端为用户端时,获取当前物理网卡的网络连接支持信息填充到要发送的数据包中进行发送。
7.根据权利要求6所述的跨网段设备搜索方法,其特征在于,所述网络连接支持信息包括IP地址、子网掩码、网关、DNS。
全文摘要
本发明公开了一种跨网段设备搜索方法,应用在局域网内植入网卡抓包工具;在平台端建立本地连接设备的网络连接支持信息列表;用户搜索目标设备的命令播发到所述局域网;当前的本地设备接收所述数据包,根据抓包工具获得的用于搜索的命令;发出用户命令的平台通过抓包工具检查返回的数据包,提取其MAC地址信息并检索本地的所述网络连接支持信息列表是否存在该MAC地址信息,若不存在,则提取数据包中的网络连接信息添加到该网络连接支持信息列表。本发明提供了一种新的跨网段设备搜索方法,其不必考虑IP地址信息的差异。
文档编号H04L29/12GK102821054SQ201210325040
公开日2012年12月12日 申请日期2012年9月5日 优先权日2012年9月5日
发明者魏光旭, 李同磊, 徐勤蒲 申请人:山东神戎电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1