...
...
sock_fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP);
sll.sll_family = AF_PACKET;
sll.sll_ifindex = 0;
sll.sll_protocol = htons(ETH_P_IP);
bind(sock_fd, (struct sockaddr *)&sll, sizeof(sll));
while(1)
{
packet_len = recvfrom(
sock_fd, packet, sizeof(packet), MSG_TRUNC,