命令行实用程序在ip规则/ ip路由中testingfwmark?

我试图find一个工具,使我能够find一个数据包将要进入的设备上的路由,并有一个特定的目标地址。

ip route get将做大部分我正在寻找。

问题是,我想testing数据包是否在路由环境相当复杂的情况下find正确的路由。

理想的工具将允许欺骗具有fwmark(或其他属性)的通用数据包,并且可以通过整个IpTables链和ip route / ip规则集来发送它,或者只是find将被返回的路由。

我希望能够运行一个命令来validation一组特定的路由按预期工作。

最低要求是像ip route get但与fwmark支持。

虽然,在这一点上,任何build议testing工具的路由将不胜感激! 随着路线的堆积,它变得非常复杂。

您可以在'ip route get'命令中使用标记选项。 你也可以在这个命令中指定源地址和input输出接口。

例子:

ip route get 8.8.8.8 mark 0x20 – 检查标记包的路由到8.8.8.8地址。

ip route get 8.8.8.8 from 192.168.0.200 iif eth1 – 检查通过eth1接口接收的来自192.168.0.200主机的转发数据包的路由。 在这种情况下,如果'from'地址不在这个主机上(不是本地的),你应该指定iif。

ip route get 8.8.8.8 from 192.168.0.100 iif eth1 mark 0x30 – 像前面的例子,但用标记指定。

要通过netfilter规则集testing数据包的path,可以使用TRACE目标和scapy来构造所需的数据包。

你正在寻找的工具的技术名称是一个“包cracker”

具体的产品推荐对于ServerFault而言是偏离主题的,但是nmap项目维护了一个这样的具有替代工具的列表,它们可以在http://SecTools.org/tag/packet-crafters/上find,另一个列表在Wikipedia上 。