2
我基於原始套接字implemneting代碼。爲了接收即將到來的以太網幀,我必須將創建的套接字綁定到以太網接口。只有這樣,才能做到這一點,就我本人而言,是通過調用setsockopt()的選項SO_BINDTODEVICE功能。SO_BINDTODEVICE選項支持FreeBSD的
問題是我使用的FreeBSD不支持這種選項。是否有任何補丁可用於啓用此功能或任何其他可信任的替代方案?
我基於原始套接字implemneting代碼。爲了接收即將到來的以太網幀,我必須將創建的套接字綁定到以太網接口。只有這樣,才能做到這一點,就我本人而言,是通過調用setsockopt()的選項SO_BINDTODEVICE功能。SO_BINDTODEVICE選項支持FreeBSD的
問題是我使用的FreeBSD不支持這種選項。是否有任何補丁可用於啓用此功能或任何其他可信任的替代方案?
如果您使用的是IPv6,則可以使用sendto
,請參閱this example。 不幸的是,這不適用於IPv4。
正如antiduh所說,只要您有權訪問/dev/bpf
(通常限制爲root
),就可以使用libpcap捕獲數據包。
爲什麼不使用libpcap的? – antiduh