Purpose:
to receive UDP unicast packets sent to a single port in two different processes.

System: Linux, Language: C

I am able to bind two sockets in two different processes to the same port using SO\_REUSEADDR. But, as expected, the packets are received in only one(the one bound later).

Is it possible to receive packets in both the processes? If not, how is tcpdump able to read but not consume packets.