openDIP深度包检测技术

前几日,群里有人提到 L7的问题。L7是一个用于检测第七层协议的软件,早已经停止了开发。后来,这个团队组织开发了openDPI。DPI的意思是深度包检测。从理论上看openDPI的性能要好于L7。你是不是急于上他们的网站呢?openDPI的网站是:http://www.opendpi.org。这是一个开源软件,但是当你访问他们的网站后,你会发现并不提供任何下载!给出的链接是指向一个商业公司的产品。
       这个项目已经在很久前关闭了源代码的下载!
       是不是很失望?
       不要紧,既然你看到了这篇文章,当然不会白看。我研究这个项目有写时间了。在他们关闭下载前已经下载了源代码。请到360网盘里获取: http://l13.yunpan.cn/lk/Qv78U4TsAjjNi    。
    
       这个深度包检测分为3大部分:
        一、包获取部分。
        与所有的开源系统一样,这个软件本质上也是个演示版(你不要沮丧,大部分的LINUX软件都是这样的)。OPENDPI的报文获取使用了PCAP库。这个库的性能如何,大家可以到网上去搜搜。但是,这个库的功能确实非常强大的,可以大幅度的简化编程工作量,对于测试网络分析程序而言非常方便。我个人是非常喜欢这个框架的。
        由这个PCAP负责获取报文,然后递交给DPI模块进行进一步的分析。

        二、包分析部分。
        这是OPENDPI的核心,他比L7要复杂的多。这部从PCAP获得原始的包后,进行分析。目前可以识别包括迅雷、QQ等很多常见的应用。我实际测试过,可以限制迅雷,可以限制QQ。但是,这类软件发展很快,就在我试验的时候,最新的QQ已经不能识别了,通过修改识别代码,才可以设别最新的QQ。

        三、动作部分。
        识别后的流量被进行标记。接下来,你知道怎么做了吧。就是对标记进行限速或者阻断。这是IPTABLES干的事情,OPENDPI提供了一个与IPTABLES的接口,也在上面的网盘里。

    nDPI是一套由ntop维护的、超越了流行的OpenDPI的库。  在GPL许可下发布。它有针对性的对只有在OpenDPI收费版本才支持的协议进行了扩展。除了UNIX平台外,它还支持Windows,为你提供了交叉平台的DPI经验。此外,还可以修改nDPI,禁止某些非必要的使DPI引擎变慢特性,以更好的适应流量监控应用。

    ntop和nProbe都是用了nDPI来增加应用成协议识别,而不用管所使用的端口。这个意思就是说它既可以侦测非标准端口的已知协议(例如,非80端口上的http),相反也可以侦测80端口上的Skype流量。这就意味着当前的所谓端口=应用的概念不再成立了。

    我们一直持续的扩展nDPI,迄今(截止到2012年4月)为止已经支持了如下协议:

  • FTP
  • POP
  • SMTP
  • IMAP
  • DNS
  • IPP
  • HTTP
  • MDNS
  • NTP
  • NETBIOS
  • NFS
  • SSDP
  • BGP
  • SNMP
  • XDMCP
  • SMB
  • SYSLOG
  • DHCP
  • PostgreSQL
  • MySQL
  • TDS
  • DirectDownloadLink
  • I23V5
  • AppleJuice
  • DirectConnect
  • Socrates
  • WinMX
  • MANOLITO
  • PANDO
  • Filetopia
  • iMESH
  • Kontiki
  • OpenFT
  • Kazaa/Fasttrack
  • Gnutella
  • eDonkey
  • Bittorrent (Extended)
  • OFF
  • AVI
  • Flash
  • OGG
  • MPEG
  • QuickTime
  • RealMedia
  • Windowsmedia
  • MMS
  • XBOX
  • QQ
  • MOVE
  • RTSP
  • Feidian
  • Icecast
  • PPLive
  • PPStream
  • Zattoo
  • SHOUTCast
  • SopCast
  • TVAnts
  • TVUplayer
  • VeohTV
  • QQLive
  • Thunder/Webthunder
  • Soulseek
  • GaduGadu
  • IRC
  • Popo
  • Jabber
  • MSN
  • Oscar
  • Yahoo
  • Battlefield
  • Quake
  • Second Life
  • Steam
  • Halflife2
  • World of Warcraft
  • Telnet
  • STUN
  • IPSEC
  • GRE
  • ICMP
  • IGMP
  • EGP
  • SCTP
  • OSPF
  • IP in IP
  • RTP
  • RDP
  • VNC
  • PCAnywhere
  • SSL
  • SSH
  • USENET
  • MGCP
  • IAX
  • TFTP
  • AFP
  • StealthNet
  • Aimini
  • SIP
  • Truphone
  • ICMPv6
  • DHCPv6
  • Armagetron
  • CrossFire
  • Dofus
  • Fiesta
  • Florensia
  • Guildwars
  • HTTP Application Activesync
  • Kerberos
  • LDAP
  • MapleStory
  • msSQL
  • PPTP
  • WARCRAFT3
  • World of Kung Fu
  • MEEBO
  •  FaceBook
  •  Twitter
  •  DropBox
  •  Gmail
  •  Google Maps
  •  YouTube
  •  Skype
  •  Google
  •  DCE RPC
  •  NetFlow_IPFIX
  •  sFlow
  •  HTTP Connect (SSL over HTTP)
  •  HTTP Proxy
  •  Netflix
  •  Citrix
  •  CitrixOnline/GotoMeeting
  •  Apple (iMessage, FaceTime…)
  •  Webex
  •  WhatsApp
  •  Apple iCloud
  •  Viber
  •  Apple iTunes
  •  Radius

 

    处理加密内容

-------------------------------------------------------------------------

    互联网正在朝着使用SSL来加密内容的方向发展。为了让nDPI支持加密连接,我们添加了针对SSL(包括客户端和服务端)证书解密模块。这样,我们就可以找出协议使用的加密证书。这允许我们可以鉴别诸如Citrix在线和苹果iCloud这样的不能被发现的协议。

 

下载源代码

---------------------------



你可能感兴趣的:(网络通讯,操作系统)