I am trying to run this code for Libnids library using these commands:
gcc -o myprog reassemble.c -lnids -lglib-2.0 -lpcap -lnet -lgthread-2.0 -g
sudo ./myprog
But it does not give any output. It acts like there are no captured packets on the provided network device, Although when I tried to capture packets separately, it works fine and packets are captured.
When I debug the code, it seems like the callback function is not called at all. By the way, I have tried the same code by registering UDP callback function instead, and it worked.
Does anyone suggest a solution for the problem? and Is there any other library to reassembly TCP packets in c language?
With the help of this question, I have found the solution. I have used the following command:
to disable TSO for a network device <device_name>, and it worked!