Iptables

在 ip rule / ip route 中測試 fwmark 的命令行實用程序?

  • March 1, 2021

我正在嘗試找到一種工具,該工具可以讓我找到進入設備的數據包將採用的路由,並且具有特定的目標地址。

ip route get將完成我正在尋找的大部分內容。

問題是我想測試數據包是否在相當複雜的路由環境中具有 fwmark 時找到正確的路由。

理想的工具將允許使用 fwmark(或其他屬性)欺騙通用數據包,並且可以通過整個 IpTables 鍊和 ip route / ip 規則集發送它,或者只是找到將返回的路由。

我希望能夠執行一個命令來驗證一組特定的路由是否按預期工作。

最低要求類似於ip route get但有 fwmark 支持。

儘管在這一點上,任何有關測試路由實用程序的建議將不勝感激!隨著路線的堆積,它變得相當複雜。

您可以在“ip route get”命令中使用標記選項。您還可以在此命令中指定源地址和輸入和輸出介面。

例子:

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- 檢查從 192.168.0.200 主機通過 eth1 介面接收到的轉發數據包的路由。在這種情況下,如果“發件人”地址不在此主機上(不是本地),則應指定 iif。

ip route get 8.8.8.8 from 192.168.0.100 iif eth1 mark 0x30- 與前面的範例類似,但帶有指定的標記。

要通過 netfilter 規則集測試數據包的路徑,您可以使用 TRACE 目標和 scapy 來構造所需的數據包。

引用自:https://serverfault.com/questions/745878