Iptables
在 ip rule / ip route 中測試 fwmark 的命令行實用程序?
我正在嘗試找到一種工具,該工具可以讓我找到進入設備的數據包將採用的路由,並且具有特定的目標地址。
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 來構造所需的數據包。