Iptables
記錄在 iptables 中丟棄的數據包的內容
我正在嘗試找到一種方法來記錄根據 iptables 中的規則丟棄的數據包的全部內容(可能使用 tcpdump)。
目前,我有一個規則來記錄這些數據包(帶有日誌前綴),然後按照這個規則刪除它們。
有沒有辦法記錄這些數據包的內容以供以後查看?
所以,我正在尋找這個:
- 記錄匹配數據包的規則
- 將數據包傳遞到記錄其內容的新目標的規則(可能是 QUEUE 目標?)
- 丟棄數據包的規則
2 & 3 甚至可以合併。
我的理解是 tcpdump 可能無法做到這一點,因為它會在 iptables之前檢查數據包,因此不會只記錄丟棄的數據包。
謝謝。
NFLOG 目標可用於此目的。這是一個非常基本的例子:
# Drop traffic by default iptables -P INPUT DROP # add your whitelists here # iptables -A INPUT ... # Pass the packets to NFLOG (just like LOG, but instead of syslog, # it uses netlink). You can add extra filters such as '-p tcp' as usual iptables -A INPUT -j NFLOG # packets that get here will now be dropped per INPUT policy # Finally you can use tcpdump to capture from this interface (there # can only be one active user of nflog AFAIK) tcpdump -i nflog ...
有關目標的說明,請參閱
iptables-extensions
手冊頁。NFLOG