題 iptables將流量複製到另一個ip


這個 博客帖子有一個模板iptables規則來轉發流量,來往路由器到另一個ip地址。

    iptables -t mangle -A POSTROUTING \
    -d [IP to spy on] \
    -j ROUTE –tee –gw [IP of wireshark]

   iptables -t mangle -A PREROUTING \
    -s [IP to spy on] \
    -j ROUTE –tee –gw [IP of wireshark]

我沒有測試過這個命令,因為我沒有一個我想監視的特定ip。

我嘗試了以下似乎有一個語法問題:

    iptables -t mangle -A POSTROUTING \
    -j ROUTE –tee –gw [IP of wireshark]

   iptables -t mangle -A PREROUTING \
    -j ROUTE –tee –gw [IP of wireshark]

有錯誤:

Try `iptables -h' or 'iptables --help' for more information.
Bad argument `–tee'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `–tee'

然後我發現以下帖子沒有效果: 鏡像端口通過iptables

最終目標,將所有流量,傳入和傳出,從所有源和所有目標複製到特定IP。


4
2017-12-16 03:00


起源




答案:


ROUTE補丁是一個內核補丁,需要應用於Linux內核源代碼 iptables的 工作:你可以找到 這裡 所有相關信息。但是,此網頁中詳細介紹的補丁程序相當陳舊(2005年),我不確定它們是否可以在新內核版本上正常運行。

相反,新的iptables擴展是詳細的 這裡 還有這些  工作。特別是,聲明:

iptables可以使用擴展目標模塊:以下內容包含在標準發行版中。

因此,任何擁有標準Linux版本的人都可以使用它們。其中一個目標擴展是TEE,他們聲明:

TEE

TEE目標將克隆數據包並將此克隆重定向到另一台機器上 本地 網段。換句話說,必須將nexthop作為目標,或者如果需要,你必須配置nexthop以進一步轉發它。

--gateway ipaddr

將克隆的數據包發送到在給定IP地址可到達的主機。使用0.0.0.0(對於IPv4數據包)或::(IPv6)無效。

要將eth0上的所有傳入流量轉發到網絡層日誌記錄框:

-t mangle -A PREROUTING -i eth0 -j TEE --gateway 2001:db8 :: 1

名稱TEE顯然旨在提醒標準tee命令之一,該命令從標準輸入讀取並將輸出(僅轉換為標準輸出)克隆到用戶指定的文件。與數據包相同的是:規則適用的數據包是重複的,一個被發送到其預期目的地,而新創建的克隆被發送到間諜目標。

因此,要在路由器上克隆pc 192.168.1.15的所有傳入和傳出流量(例如,192.168.1.1)。並重定向到間諜pc 192.168.1.100,使用:

 iptables -t mangle -A PREROUTING -d 192.168.1.15 -j TEE --gateway 192.168.1.100
 iptables -t mangle -A PREROUTING -s 192.168.1.15 -j TEE --gateway 192.168.1.100

14
2017-12-16 04:16



假設網關不僅會監聽而是響應克隆的流量 - “間諜”的響應會發生什麼?他們會被丟棄還是被送出去? - jotrocken
@jotrocken不需要一個 答复 來自 間諜:例如,如果它沒有應用程序偵聽目標端口。 如果 有一個回复,它將(最有可能)被原始源pc丟棄,因為它與間諜之間沒有建立的TCP連接(=無握手),或者因為UDP回復來自與會話所具有的不同的pc已經開始通常被丟棄以防止 MITM 攻擊。通常情況下,間諜上的數據包會被記錄下來,以備後續,可能是離線學習。 - MariusMatutiae


任何人都可以幫我這些命令嗎?我在我的路由器上嘗試過以下兩行,並且一直收到錯誤“iptables:沒有鏈/目標/匹配該名稱。”我已經仔細檢查了,我正在復制的IP地址是正確的。

iptables -t mangle -A PREROUTING -d 192.168.128.40 -j TEE --gateway 192.168.128.143

iptables -t mangle -A PREROUTING -s 192.168.128.40 -j TEE --gateway 192.168.128.143


0
2017-07-30 22:03



我不知道為什麼,但下面的命令對我有用。我希望我能弄明白如何使其格式化得更好。 - AdamH
iptables -t mangle -I PREROUTING -s 192.168.128.40 -j ROUTE --gw 192.168.128.143 --tee iptables -t mangle -I POSTROUTING -d 192.168.128.40 -j ROUTE --gw 192.168.128.143 --tee - AdamH