nDPI
开放且可扩展的LGPLv3深度包检测库。
nDPI是流行的OpenDPI库的ntop维护超集。它是根据LGPL许可发布,其目标是通过添加新协议来扩展原始库,这些协议否则仅在OpenDPI的付费版本上可用。除了Unix平台,我们还支持Windows,以便为您提供跨平台的DPI体验。此外,我们还对nDPI进行了修改,使其更适合流量监控应用程序,方法是禁用降低DPI引擎速度的特定功能,而这些功能对于网络流量监控不是必需的。
无论使用哪个端口,ntop和nProbe都使用nDPI来添加协议的应用层检测。这意味着既可以检测非标准端口上的已知协议(例如,检测80以外的端口上的HTTP),也可以检测相反的协议(例如,检测端口80上的Skype业务)。这是因为现在port=application的概念不再成立。
我们正在不断扩展nDPI,到目前为止支持的协议有很多,包括:
元数据提取
NDPI不仅检测应用程序协议,还报告与流相关的元数据,如URL、TLS证书、操作系统等。下面是可以从流中提取的元数据的示例。
{ "first_seen":1456184267.696, "last_seen":1456184289.106, "duration":21.410, "flow_id":2152, "vlan_id":0, "src_ip":"192.168.1.90", "dest_ip":"206.58.211.195", "src_port":55074, "dst_port":443, "ip":4, "proto":"TCP", "ndpi":{ "confidence":{ "6":"DPI" }, "proto":"TLS.Google", "proto_id":"91.126", "proto_by_ip":"Google", "proto_by_ip_id":126, "encrypted":1, "breed":"Acceptable", "category_id":5, "category":"Web", "hostname":"www.google.es", "tls":{ "version":"TLSv1.2", "server_names":"*.google.com,google-analytics.com,google.com,googlecommerce.com,youtu.be,youtube.com", "ja3":"d4693422c5ce1565377aca25940ad80c", "ja3s":"8d9971006a2ddb0de34017d703f825d9", "unsafe_cipher":0, "cipher":"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "issuerDN":"C=US, O=Google Inc, CN=Google Internet Authority G2", "subjectDN":"C=US, ST=California, L=Mountain View, O=Google Inc, CN=*.google.com", "advertised_alpns":"h2,h2-16,h2-15,h2-14,spdy\/3.1,spdy\/3,http\/1.1", "negotiated_alpn":"h2", "fingerprint":"D8:9E:22:F9:E3:AB:23:60:CB:B4:6D:C0:1C:67:06:F1:76:E9:1C:D9" } }, ...
流量分析
nDPI不仅提供DPI功能,还包括流量分类和分析的各种功能,使你能够创建你的应用程序,而不必实现复杂的分析功能,因为这些功能已经由nDPI提供(阅读更多)。
支持的协议
nDPI引擎不断扩展新的协议分解器:每天都有协议被添加或更新。到今天为止,该引擎能够检测的应用程序清单包括:
Id Protocol Layer_4 Nw_Proto Breed Category 0 Unknown TCP X Unrated Unspecified 1 FTP_CONTROL TCP X Unsafe Download 2 POP3 TCP X Unsafe Email 3 SMTP TCP X Acceptable Email 4 IMAP TCP X Unsafe Email 5 DNS TCP/UDP X Acceptable Network 6 IPP TCP/UDP X Acceptable System 7 HTTP TCP X Acceptable Web 8 MDNS TCP X Acceptable Network 9 NTP UDP X Acceptable System 10 NetBIOS TCP/UDP X Acceptable System 11 NFS TCP/UDP X Acceptable DataTransfer 12 SSDP UDP X Acceptable System 13 BGP TCP X Acceptable Network 14 SNMP UDP X Acceptable Network 15 XDMCP TCP/UDP X Acceptable RemoteAccess 16 SMBv1 TCP X Dangerous System 17 Syslog TCP/UDP X Acceptable System 18 DHCP UDP X Acceptable Network 19 PostgreSQL TCP X Acceptable Database 20 MySQL TCP X Acceptable Database 21 Outlook TCP Acceptable Email 22 Free22 TCP X Potentially Dangerous Download 23 POPS TCP Safe Email 24 Tailscale UDP Acceptable VPN 25 Free25 TCP X Potentially Dangerous Download 26 ntop TCP Safe Network 27 COAP UDP X Safe RPC 28 VMware UDP X Acceptable RemoteAccess 29 SMTPS TCP Safe Email 30 DTLS UDP X Safe Web 31 UBNTAC2 UDP X Safe Network 32 Kontiki UDP X Potentially Dangerous Media 33 Free33 TCP X Potentially Dangerous Download 34 Free34 TCP X Potentially Dangerous Download 35 Gnutella TCP/UDP X Potentially Dangerous Download 36 eDonkey TCP/UDP X Unsafe Download 37 BitTorrent TCP/UDP X Acceptable Download 38 Skype_TeamsCall TCP Acceptable VoIP 39 Signal TCP Fun Chat 40 Memcached TCP/UDP X Acceptable Network 41 SMBv23 TCP X Acceptable System 42 Mining TCP/UDP Unsafe Mining 43 NestLogSink TCP Acceptable Cloud 44 Modbus TCP X Acceptable IoT-Scada 45 WhatsAppCall TCP Acceptable VoIP 46 DataSaver TCP Fun Web 47 Xbox UDP Fun Game 48 QQ UDP Fun Chat 49 TikTok TCP Fun SocialNetwork 50 RTSP TCP/UDP X Fun Media 51 IMAPS TCP Safe Email 52 IceCast TCP X Fun Media 53 CPHA UDP Fun Network 54 PPStream UDP Fun Streaming 55 Zattoo TCP/UDP Fun Video 56 Free56 TCP X Fun Music 57 Free57 TCP X Fun Video 58 Discord UDP Fun Collaborative 59 TVUplayer TCP/UDP Fun Video 60 MongoDB TCP X Acceptable Database 61 Pluralsight TCP Fun Video 62 Free62 TCP Fun Download 63 OCSP TCP Safe Network 64 VXLAN UDP X Acceptable Network 65 IRC TCP X Unsafe Chat 66 MerakiCloud UDP X Acceptable Network 67 Jabber TCP/UDP X Acceptable Web 68 Nats TCP X Acceptable RPC 69 AmongUs UDP Fun Game 70 Yahoo TCP Safe Web 71 DisneyPlus TCP Fun Streaming 72 GooglePlus TCP Fun SocialNetwork 73 VRRP TCP X Acceptable Network 74 Steam TCP/UDP Fun Game 75 HalfLife2 UDP X Fun Game 76 WorldOfWarcraft TCP Fun Game 77 Telnet TCP X Unsafe RemoteAccess 78 STUN TCP/UDP X Acceptable Network 79 IPSec UDP X Safe VPN 80 GRE X Acceptable Network 81 ICMP X Acceptable Network 82 IGMP X Acceptable Network 83 EGP X Acceptable Network 84 SCTP X Acceptable Network 85 OSPF X Acceptable Network 86 IP_in_IP X Acceptable Network 87 RTP UDP X Acceptable Media 88 RDP TCP/UDP X Acceptable RemoteAccess 89 VNC TCP X Acceptable RemoteAccess 90 Tumblr TCP Fun SocialNetwork 91 TLS TCP X Safe Web 92 SSH TCP X Acceptable RemoteAccess 93 Usenet TCP X Acceptable Web 94 MGCP UDP X Acceptable VoIP 95 IAX UDP X Acceptable VoIP 96 TFTP UDP X Acceptable DataTransfer 97 AFP TCP X Acceptable DataTransfer 98 Free98 TCP X Potentially Dangerous Download 99 Free99 TCP Fun Download 100 SIP TCP/UDP X Acceptable VoIP 101 TruPhone TCP Acceptable VoIP 102 ICMPV6 X Acceptable Network 103 DHCPV6 UDP X Acceptable Network 104 Armagetron UDP X Fun Game 105 Crossfire TCP/UDP Fun RPC 106 Dofus TCP X Fun Game 107 Free107 TCP X Fun Game 108 Free108 TCP X Fun Game 109 Guildwars TCP X Fun Game 110 AmazonAlexa TCP Acceptable VirtAssistant 111 Kerberos TCP/UDP X Acceptable Network 112 LDAP TCP/UDP X Acceptable System 113 MapleStory TCP Fun Game 114 MsSQL-TDS TCP X Acceptable Database 115 PPTP TCP X Acceptable VPN 116 Warcraft3 TCP/UDP X Fun Game 117 WorldOfKungFu TCP X Fun Game 118 Slack TCP Acceptable Collaborative 119 Facebook TCP Fun SocialNetwork 120 Twitter TCP Fun SocialNetwork 121 Dropbox UDP Acceptable Cloud 122 GMail TCP Acceptable Email 123 GoogleMaps TCP Safe Web 124 YouTube TCP Fun Media 125 Skype_Teams UDP Acceptable VoIP 126 Google TCP Acceptable Web 127 RPC TCP/UDP X Acceptable RPC 128 NetFlow UDP X Acceptable Network 129 sFlow UDP X Acceptable Network 130 HTTP_Connect TCP X Acceptable Web 131 HTTP_Proxy TCP X Acceptable Web 132 Citrix TCP Acceptable Network 133 NetFlix TCP Fun Video 134 LastFM TCP Fun Music 135 Waze TCP Acceptable Web 136 YouTubeUpload TCP Fun Media 137 Hulu TCP Fun Streaming 138 CHECKMK TCP X Acceptable DataTransfer 139 AJP TCP X Acceptable Web 140 Apple TCP Safe Web 141 Webex TCP Acceptable VoIP 142 WhatsApp TCP Acceptable Chat 143 AppleiCloud TCP Acceptable Web 144 Viber TCP/UDP Fun VoIP 145 AppleiTunes TCP Fun Streaming 146 Radius UDP X Acceptable Network 147 WindowsUpdate TCP Safe SoftwareUpdate 148 TeamViewer TCP/UDP Acceptable RemoteAccess 149 Tuenti TCP Acceptable VoIP 150 LotusNotes TCP X Acceptable Collaborative 151 SAP TCP X Acceptable Network 152 GTP UDP X Acceptable Network 153 WSD UDP X Acceptable Network 154 LLMNR TCP X Acceptable Network 155 TocaBoca UDP X Fun Game 156 Spotify TCP/UDP Fun Music 157 Messenger TCP Acceptable Chat 158 H323 TCP/UDP X Acceptable VoIP 159 OpenVPN TCP/UDP Acceptable VPN 160 NOE UDP X Acceptable VoIP 161 CiscoVPN TCP/UDP X Acceptable VPN 162 TeamSpeak TCP/UDP X Fun VoIP 163 Tor TCP Potentially Dangerous VPN 164 CiscoSkinny TCP X Acceptable VoIP 165 RTCP TCP/UDP X Acceptable VoIP 166 RSYNC TCP X Acceptable DataTransfer 167 Oracle TCP X Acceptable Database 168 Corba TCP X Acceptable RPC 169 UbuntuONE TCP Acceptable Cloud 170 Whois-DAS TCP X Acceptable Network 171 SD-RTN UDP X Acceptable Media 172 SOCKS TCP X Acceptable Web 173 Nintendo UDP Fun Game 174 RTMP TCP X Acceptable Media 175 FTP_DATA TCP X Acceptable Download 176 Wikipedia TCP Safe Web 177 ZeroMQ TCP X Acceptable RPC 178 Amazon TCP Acceptable Web 179 eBay TCP Safe Shopping 180 CNN TCP Safe Web 181 Megaco UDP X Acceptable VoIP 182 Redis TCP X Acceptable Database 183 Pinterest TCP Fun SocialNetwork 184 VHUA UDP X Fun VoIP 185 Telegram TCP/UDP Acceptable Chat 186 Vevo TCP Fun Music 187 Pandora TCP Fun Streaming 188 QUIC UDP X Acceptable Web 189 Zoom TCP Acceptable Video 190 EAQ UDP X Acceptable Network 191 Ookla TCP/UDP Safe Network 192 AMQP TCP X Acceptable RPC 193 KakaoTalk TCP Acceptable Chat 194 KakaoTalk_Voice UDP X Acceptable VoIP 195 Twitch TCP Fun Video 196 DoH_DoT TCP Acceptable Network 197 WeChat TCP Fun Chat 198 MPEG_TS UDP X Fun Media 199 Snapchat TCP Fun SocialNetwork 200 Sina(Weibo) TCP Fun SocialNetwork 201 GoogleHangoutDuo TCP/UDP Acceptable VoIP 202 IFLIX TCP Fun Video 203 Github TCP Acceptable Collaborative 204 BJNP UDP X Acceptable System 205 Reddit TCP Fun SocialNetwork 206 WireGuard UDP Acceptable VPN 207 SMPP TCP X Acceptable Download 208 DNScrypt TCP/UDP Acceptable Network 209 TINC TCP/UDP X Acceptable VPN 210 Deezer TCP Fun Music 211 Instagram TCP Fun SocialNetwork 212 Microsoft TCP Safe Cloud 213 Starcraft TCP/UDP X Fun Game 214 Teredo UDP X Acceptable Network 215 HotspotShield TCP Potentially Dangerous VPN 216 IMO UDP X Acceptable VoIP 217 GoogleDrive TCP Acceptable Cloud 218 OCS TCP Fun Media 219 Microsoft365 TCP Acceptable Collaborative 220 Cloudflare TCP Acceptable Web 221 MS_OneDrive TCP Acceptable Cloud 222 MQTT TCP X Acceptable RPC 223 RX UDP X Acceptable RPC 224 AppleStore TCP Safe SoftwareUpdate 225 OpenDNS TCP Acceptable Web 226 Git TCP X Safe Collaborative 227 DRDA TCP X Acceptable Database 228 PlayStore TCP Safe SoftwareUpdate 229 SOMEIP TCP/UDP X Acceptable RPC 230 FIX TCP X Safe RPC 231 Playstation TCP Fun Game 232 Pastebin TCP Potentially Dangerous Download 233 LinkedIn TCP Fun SocialNetwork 234 SoundCloud TCP Fun Music 235 CSGO UDP X Fun Game 236 LISP TCP/UDP X Acceptable Cloud 237 Diameter TCP X Acceptable Network 238 ApplePush TCP Acceptable Cloud 239 GoogleServices TCP Acceptable Web 240 AmazonVideo TCP/UDP Fun Cloud 241 GoogleDocs TCP Acceptable Collaborative 242 WhatsAppFiles TCP Acceptable Download 243 TargusDataspeed TCP X Acceptable Network 244 DNP3 TCP X Acceptable IoT-Scada 245 IEC60870 TCP X Acceptable IoT-Scada 246 Bloomberg TCP Acceptable Network 247 CAPWAP UDP X Acceptable Network 248 Zabbix TCP X Acceptable Network 249 s7comm TCP X Acceptable Network 250 Teams TCP Safe Collaborative 251 WebSocket TCP X Acceptable Web 252 AnyDesk TCP Acceptable RemoteAccess 253 SOAP TCP X Acceptable RPC 254 AppleSiri TCP Acceptable VirtAssistant 255 SnapchatCall TCP Acceptable VoIP 256 HP_VIRTGRP TCP X Acceptable Network 257 GenshinImpact TCP/UDP X Fun Game 258 Activision UDP Fun Game 259 FortiClient TCP Safe VPN 260 Z3950 TCP X Acceptable Network 261 Likee TCP Fun SocialNetwork 262 GitLab TCP Fun Collaborative 263 AVASTSecureDNS UDP Safe Network 264 Cassandra TCP X Acceptable Database 265 AmazonAWS TCP Acceptable Cloud 266 Salesforce TCP Safe Cloud 267 Vimeo TCP Fun Streaming 268 FacebookVoip TCP Acceptable VoIP 269 SignalVoip TCP Acceptable VoIP 270 Fuze TCP Acceptable VoIP 271 GTP_U TCP X Acceptable Network 272 GTP_C TCP X Acceptable Network 273 GTP_PRIME TCP X Acceptable Network 274 Alibaba TCP Acceptable Web 275 Crashlytics TCP Acceptable DataTransfer 276 Azure TCP Acceptable Cloud 277 iCloudPrivateRelay TCP Acceptable VPN 278 EthernetIP TCP X Acceptable Network 279 Badoo TCP Fun SocialNetwork 280 AccuWeather TCP Fun Web 281 GoogleClassroom TCP Safe Collaborative 282 HSRP UDP X Acceptable Network 283 Cybersec TCP Safe Cybersecurity 284 GoogleCloud TCP Acceptable Cloud 285 Tencent TCP Fun SocialNetwork 286 RakNet UDP X Fun Game 287 Xiaomi TCP Acceptable Web 288 Edgecast TCP Acceptable Cloud 289 Cachefly TCP Acceptable Cloud 290 Softether UDP Acceptable VPN 291 MpegDash TCP Fun Media 292 Dazn TCP Fun Streaming 293 GoTo TCP Acceptable VoIP 294 RSH TCP X Unsafe RemoteAccess 295 1kxun TCP Fun Streaming 296 PGM X Acceptable Network 297 IP_PIM X Acceptable Network 298 collectd UDP X Acceptable System 299 TunnelBear TCP Acceptable VPN 300 CloudflareWarp TCP Acceptable VPN 301 i3D UDP X Fun Game 302 RiotGames UDP X Fun Game 303 Psiphon TCP Acceptable VPN 304 UltraSurf TCP X Acceptable VPN 305 Threema TCP X Fun Chat 306 AliCloud TCP X Acceptable Cloud 307 AVAST TCP X Safe Network 308 TiVoConnect TCP/UDP X Fun Network 309 Kismet TCP X Acceptable Network 310 FastCGI TCP X Safe Network 311 FTPS TCP X Unsafe Download 312 NAT-PMP UDP X Acceptable Network 313 Syncthing UDP X Fun Download 314 CryNetwork UDP X Fun Game 315 Line TCP X Acceptable Chat 316 LineCall UDP X Acceptable VoIP 317 AppleTVPlus TCP Fun Streaming 318 DirecTV TCP Fun Streaming 319 HBO TCP Fun Streaming 320 Vudu TCP Fun Streaming 321 Showtime TCP Fun Streaming 322 Dailymotion TCP Fun Streaming 323 Livestream TCP Fun Streaming 324 Tencentvideo TCP Fun Streaming 325 IHeartRadio TCP Fun Music 326 Tidal TCP Fun Music 327 TuneIn TCP Fun Music 328 SiriusXMRadio TCP Fun Music 329 Munin TCP X Acceptable System 330 Elasticsearch TCP X Acceptable System 331 TuyaLP UDP X Acceptable IoT-Scada 332 TPLINK_SHP TCP/UDP X Acceptable IoT-Scada
ETA(加密流量分析)
nDPI允许你从加密的通信中提取元数据,并对加密的通信进行分类。
文档
请您贡献!
由于协议(尤其是P2P)经常更改,因此DPI是一项耗时的活动。这意味着有必要不时更新代码并添加扩展名。我们会鼓励任何人帮助我们添加或增强新协议:我们会将您的贡献放在我们的SVN上,并免费提供给所有人。实际上,我们决定选择nDPI而不使用原始库的主要原因是,OpenDPI背后的公司从未回复过我们提供的将我们编码的扩展合并到原始源代码中的提议。
许可证license
当您构建ntop和nProbe时,将自动下载nDPI。但是,没有什么可以阻止您将其用作独立的DPI库。可以从下载部分下载源代码。
nDPI是注册商标。