windowswiresharkcapturepacket-sniffershdmi

Is there any tool to capture (sniff) packages sending over HDMI socket on Windows?


Problem

I need a tool like Wireshark to capture outgoing and incoming packets. I searched the Wireshark documentation, but I didn't find any resources related to my question. There is probably some way to do it, but I don't know how to search for this efficiently.

For now, I am using Windows 10 for Education to sniff the packet formats that the monitor supports and expects from desktop applications.

Objective

My objective is to configure my monitor over HDMI (monitor supports it on Windows) when using Linux. Then, I will write a tool to do this and, barring legal obstacles, I will share it.


Solution

  • The Network vs HDMI

    The reason that your computer can communicate with a remote server 1000km away is that your computer's network interface encapsulates data with control information. This enables the data to be transmitted over your broadcast domain (layer 2), the internet (layer 3), and a connection between the two devices (layer 4). Depending on the traffic you are sending, more layers/encapsulation may be involved here. Server fault has an answer that goes into more detail on OSI layers.

    HDMI is more similar to a point-to-point connection here. There is no expectation that data needs to be sent to remote hosts such that routing/congestion information needs to be included. Wireshark is used to analyze network protocols, but won't be of much use to look at this raw data stream.

    HDMI control libraries

    You probably want to focus on sending a signal on CEC, HDMI's control wire. There are libraries such as libCEC, which has Linux support and can control this. If you wanted to programmatically control the link, you can, but you will likely need to buy a CEC adapter.