【发布时间】:2016-01-07 16:30:59
【问题描述】:
我有一个 C Linux 程序,它使用原始套接字来读取传入的 tcp/udp 数据包。
我想应用一个过滤器,以便只有从某个 IP 地址发送的数据包才能到达我的套接字。
是可能的还是我应该接收每个数据包然后检查源地址字段?我有点担心后一种情况下的 cpu 使用率。
谢谢。
【问题讨论】:
标签: c linux sockets ip-address
我有一个 C Linux 程序,它使用原始套接字来读取传入的 tcp/udp 数据包。
我想应用一个过滤器,以便只有从某个 IP 地址发送的数据包才能到达我的套接字。
是可能的还是我应该接收每个数据包然后检查源地址字段?我有点担心后一种情况下的 cpu 使用率。
谢谢。
【问题讨论】:
标签: c linux sockets ip-address
这还取决于您使用的处理器。一些处理器具有内置硬件等功能,可根据输入端口、源 IP 地址和协议类型(TCP / UDP / 等)的规则过滤数据包。这反过来可以减少负载,因为硬件过滤比软件过滤具有更好的性能。
【讨论】: