2013-07-09 5 views
10

iptablesを使用して作成したアクセスリストから、どのルールにアクセスしたか、何回アクセスしたかを知ることができます。iptablesの各ルールのヒット数を確認するにはどうすればよいですか?

私のファイアウォールは、iptbalesに1000以上の入力と出力のルールを持っています。私はそれらのどれくらいがアクセスされたのかを知りたい。

例えば、私は次の規則

iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 

iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT 

iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 

iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT 

iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT 

iptables -A OUTPUT -o eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT 

私はルール1、2、3、4、5と6のそれぞれがヒットした回数を知りたいがあるとします。あなたは冗長、例えばのためのオプション-vを指定した場合

答えて

14

iptablesは、パケットとバイトカウンタが一覧表示されますiptables -vL。同様に、iptables-saveは、各チェーンの上記のカウンタを含むすべてのエントリをリストします(一部のシステムでは、iptables-saveにはカウンタを含めるにはオプション-cが必要です)。

+0

私も..奇妙なことは、そのすべてのルールに0パケットと0バイトを示すことであるそのオプションに気づき、それを実行し、そのはanythignが表示されないようにその間違ったルールを期待すると思いました。このサーバはLinuxのファイアウォールとして使用され、その背後には20台のサーバがあり、何事もうまくいきますが、INPUTまたはOUTPUTチェーンに対応するパケットやバイトはありません。何か間違っているのですか? – apps

+0

オハイオ州に何かがあり、目を開いて見たときに '' INPUT DROP [0:0]:FORWARD ACCEPT [74684295:91842276117]:OUTPUT DROP [0:0]:ロギング - [0:0] ' – apps

+0

フォワードチェーンは合計74684295パケットと合計91842276117バイトを持ちます。 – scai

4

iptables -nvL [INPUT|FORWARD|OUTPUT|myCHAINNAME] --line-numbers | less 

プロセスアップ-nスピードホスト名参照を行わないことによって

行番号は、ルールの削除に役立ちます。

iptables -D [INPUT|FORWARD|OUTPUT|myCHAINNAME] [Rule#] 

HTH

関連する問題