Introducing nDPI 2.4

Posted · Add Comment

This is to announce the release of nDPI 2.4 that is an incremental release mainly introducing the concept of categories in addition to new dissectors and bug fixes. In a nutshell in order to limit the number of custom protocols defined as “if traffic goes from/to Internet domain X then this is protocol X” all these protocols have been grouped into a category. This eases application developers life as they do not have to handle thousand of protocols and simplify configuration. For instance instead of having malware site X, site X1, site X2… you have the category malware that contains all malware sites. Your application (e.g. ntopng Edge) could simply block category malware (so on category) and nDPI will group all malware sites X as this category.

In this release we have further improved Intel hyperscan support as well introduced new dissectors. As usual you can find below the complete changelog. Enjoy!


New Supported Protocols and Services

  • RapidVideo
  • VidTO streaming service
  • Apache JServ Protocol
  • Facebook Messenger
  • FacebookZero protocol


  • Improved YouTube support
  • Improved Netflix support
  • Updated Google Hangout detection
  • Updated Twitter address range
  • Updated Viber ports, subnet and domain
  • Updated AmazonVideo detection
  • Updated list of FaceBook sites
  • Initial Skype in/out support
  • Improved Tor detection
  • Improved hyperscan support and category definition
  • Custom categories loading, extended ndpiReader (-c <file>) for loading name-based categories


  • Fixes for Instagram flows classified as Facebook
  • Fixed Spotify detection
  • Fixed minimum packet payload length for SSDP
  • Fixed length check in MSN, x-steam-sid, Tor certificate name
  • Increase client’s maximum payload length for SSH
  • Fixed end-of-line bounds handling
  • Fixed substring matching
  • Fix for handling IP address based custom categories
  • Repaired wrong timestamp calculation
  • Fixed memory leak
  • Optimized memory usage


  • New API calls:
    • ndpi_set_detection_preferences()
    • ndpi_load_hostname_category()
    • ndpi_enable_loaded_categories()
    • ndpi_fill_protocol_category()
    • ndpi_process_extra_packet()
  • Skype CallIn/CallOut are now set as Skype.SkypeCallOut Skype.SkypeCallIn
  • Added support for SMTPS on port 587
  • Changed RTP from VoIP to Media category
  • Added site unavailable category
  • Implemented hash-based categories
  • Converted some not popular protocols to NDPI_PROTOCOL_GENERIC with category detection