Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 09 Jul 2003 12:18:01 +0300
From:      Alin-Adrian Anton <aanton@reversedhell.net>
To:        freebsd-hackers@freebsd.org
Subject:   tcp raw socket programming recvfrom()
Message-ID:  <3F0BDDC9.9080102@reversedhell.net>

next in thread | raw e-mail | index | archive | help
Hey folks,

I wrote my piece of code to play with, and it uses raw sockets to send 
TCP packets. It sends packets okay, everything tested with a sniffer, 
everything is really really fine, but it seems I cannot recvfrom 
anything. I mean, it just keeps waiting and doesn't see the reply the 
server is actually sending (can be seen with a sniffer). I read that the 
freebsd kernel does not duplicate any incoming TCP/UDP packets to any of 
the opened raw sockets. Is that true? So the only solution is to use the 
interface in promiscuous mode and sniff like a sniffer for the expected 
packet? Is there any other way?

PS: ICMP gets received well with recvfrom (tested).

On Linux, it does work for tcp/udp too with recvfrom.


I was also wondering if anyone could help me understand why this 
behaviour in freebsd? (or *BSD)

Thanks!

Best Regards,
Alin.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F0BDDC9.9080102>