Is it possible to discover which protocols are present in the different port of a switch?

Hello everybody,
I started using libreNMS for my master degree thesis about Industrial Ethernet.I needed a tool that can give me :

  1. Partecipants in a LAN
  2. A L2 topology of the network
  3. Bandwith usage on every link
  4. Which protocols are present in every link
    I know that is it possible to achieve point 1 and 3. I understand that something can be done with point 2, but I do not understand if it possible achieve point 4.
    Thanks in advance,

What do you mean by Protocols for each link?

Suppose that I have a managed switch and more devices attacched to it. I would like to know which protocols are present for every link,such as 180 TCP packet and 80 UDP packet for that device.

Yeah thats not possible to pass that data back you would need something with netflow like nfsen or ntpong.