我在linux下使用 iptables 来访问NAT SNMP流量。某些SNMP数据包具有VARBIND,其中包含生成它们的设备的(实际)IP地址。这会混淆标准管理工具,这些工具需要查看VARBIND中的NATted地址。所以我需要翻译有效负载中的地址以及标题中的地址。

标准工具是 nf_nat_snmp_basic.ko 内核模块,但原始版本仅转换地址的第一个八位字节,而最新版本只会破坏数据包。这显然是“常识”。在网上(www.netfilter.org),我已经在我自己的设备上验证了它。

在深入研究内核之前,有没有其他人在解决这个问题并提出合适的解决方案?目前,仅将那些OID指定其类型的VARBIND转换为IP地址就足够了。换句话说,我不需要翻译嵌入在字符串数据中的地址,这将更加困难。

感谢您的建议!

有帮助吗?

解决方案

Robert Gamble可能提供的DIY解决方案:除iptables之外的数据包整理实用程序?

经过一些单元测试后更新和更多的赞扬 - 谢谢,罗伯特!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top