1

すべてのトラフィックをサーバーのイーサネット インターフェイスにミラーリングするように構成されたスイッチがあります。実際に tshark や tcpdump などで受信したパケットを確認できますが、iptables ではこのトラフィックを確認できないようです。私の最終的な目標は、接続アカウンティングのために syn パケットを ulog することです。

PREROUTING チェーンにルールを配置しようとしましたが、失敗しました。

iptable は、ローカル マシンに送信されていないパケットをキャプチャできますか? いいえの場合、これを行う方法はありますか?

4

2 に答える 2

0

iptablesどういうわけかあなたのマシンに向けられたIPパケットでのみ動作します。したがって、達成しようとしていることは、では実行できませiptables。それが機能するためには、すべてのIPトラフィックのルーターとして会計機を設定する必要があります。

このタスクのtcpdumpの何が問題になっていますか?

tcpdump -G 3600 -w tcpsyn-%FT%T.pcap tcp and 'tcp[tcpflags] & (tcp-ack|tcp-syn) = tcp-syn'

すべてのTCP開始試行が必要な場合。

tcpdump -G 3600 -w tcpsynack-%FT%T.pcap tcp and 'tcp[tcpflags] & (tcp-ack|tcp-syn) = (tcp-ack|tcp-syn)'

すべてのTCPセッションを実際に確立したい場合。

于 2013-01-02T11:33:48.977 に答える
0

監視にはどのテーブルを使用しますか?

やりたいことは、フィルタ テーブル (デフォルトのもの) とFORWARDINGチェーンを使用することです。これは、マシンを「通過」するパケットをキャプチャするように特別に設計されています。例えば:

iptables -A FORWARDING -p tcp --dport 80 -j LOG

INPUTチェーンは外部からローカル マシン宛てのパケットをキャプチャし、チェーンOUTPUTはマシンから発信されて外部に向かうパケットをキャプチャします。

補足: ループバックを通過するパケットは、INPUTOUTPUTチェーンの両方を通過します。

に関しては、ルーティング決定の前にPREROUTING、必要に応じてパケットを変更することを意図したチェーンです。たとえば、ポート リダイレクションがそこで行われるのはこのためです。これが、フィルタ テーブルにフックがない理由です。意味がありません。

于 2013-01-02T11:19:04.297 に答える