【问题标题】:Raw socket: filter only packets coming from a certain IP address? (Linux C)原始套接字:仅过滤来自某个 IP 地址的数据包? (Linux C)
【发布时间】:2016-01-07 16:30:59
【问题描述】:

我有一个 C Linux 程序,它使用原始套接字来读取传入的 tcp/udp 数据包。

我想应用一个过滤器,以便只有从某个 IP 地址发送的数据包才能到达我的套接字。

是可能的还是我应该接收每个数据包然后检查源地址字段?我有点担心后一种情况下的 cpu 使用率。

谢谢。

【问题讨论】:

标签: c linux sockets ip-address


【解决方案1】:

这还取决于您使用的处理器。一些处理器具有内置硬件等功能,可根据输入端口、源 IP 地址和协议类型(TCP / UDP / 等)的规则过滤数据包。这反过来可以减少负载,因为硬件过滤比软件过滤具有更好的性能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-02
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 2022-01-01
    • 1970-01-01
    相关资源
    最近更新 更多