我想用它iptraf-ng
来查看我的机器从互联网发送/接收的数据量,但我想排除 LAN 上的流量,因为我只对异地数据感兴趣。
我创建了一个过滤器,如下所示,但是当我激活它时,iptraf-ng
根本不显示任何流量!
- 源IP地址:
192.168.0.0
- 源通配符掩码:
255.255.255.255
- 目的IP地址:
192.168.0.0
- 目标通配符掩码:
255.255.255.255
- 协议:
All IP
、TCP
、UDP
、ICMP
(实际值设置或未设置没有区别) - 包含/排除:(
E
如果我将其更改为I
没有区别) - 匹配相反:(
N
如果我改成Y
没有区别)
这让我认为要么过滤器完全坏了,要么我真的误解了它们的工作原理。
我应该如何创建一个iptraf-ng
过滤器来排除源 IP 和目标 IP 都在 192.168.0.0/24 中的所有流量?
答案1
需要注意两点:
- “匹配相反”并不意味着“反转过滤器的意义”。它的意思是“匹配过滤器中主机/端口的传入和传出流量”。
- 一旦过滤器就位,任何与过滤器不匹配的数据包都会被丢弃。因此,如果您使用排除过滤器,请务必使用“全部接受”规则来完成它,否则将不会匹配任何内容!
考虑到这一点,定义过滤器以排除 LAN 的方法是:
创建一个过滤器,为其命名。当您进入添加过滤器的屏幕时,添加以下内容:
- IP地址:192.168.0.0
- 通配符掩码:255.255.0.0
- 跳过端口范围和目标 IP/通配符/端口
- 将 Y 放入“所有 IP”中
- 将 E 放入“包含/排除”中
- 将 Y 放入“匹配相反”
按enter将此规则添加到过滤器,然后a添加另一个规则:
- 跳过所有地址字段
- 将 Y 放入“所有 IP”中
- 将 I 置于“包含/排除”中
- 在“匹配相反”中输入 N
这就是“允许所有”规则。按enter接受它。
返回过滤网,按x退出。从菜单中选择“应用过滤器...”并应用您创建的新过滤器。
您现在拥有一个可以接受所有内容的过滤器 - 除了来自 LAN 的流量之外。
(就我而言,我用它来过滤端口 22,因为我正在连接到我想通过 ssh 检查的机器,并且输出iptraf
本身导致了大部分流量,因为它是通过 ssh 进行的)。