nDPI is a library for Deep Packet Inspection
nDPI is used by ntopng, and can be used by wireshark. It is quite
advanced, and includes a lot of protocol dissectors. You can also write
your own ones.