2013-06-24 36 views
2

我基於原始套接字implemneting代碼。爲了接收即將到來的以太網幀,我必須將創建的套接字綁定到以太網接口。只有這樣,才能做到這一點,就我本人而言,是通過調用setsockopt()的選項SO_BINDTODEVICE功能。SO_BINDTODEVICE選項支持FreeBSD的

問題是我使用的FreeBSD不支持這種選項。是否有任何補丁可用於啓用此功能或任何其他可信任的替代方案?

+1

爲什麼不使用libpcap的? – antiduh

回答

0

如果您使用的是IPv6,則可以使用sendto,請參閱this example。 不幸的是,這不適用於IPv4。

正如antiduh所說,只要您有權訪問/dev/bpf(通常限制爲root),就可以使用libpcap捕獲數據包。