Iptablesを使用したICMPパケットの記録

Iptablesを使用したICMPパケットの記録

私はiptablesを学んでいますが、ここで壁にぶつかりました。

私の使命は、192.168.1.2から192.168.1.1までのICMP要求と応答を記録することです。

だからこのルールを追加しました。

iptables -A INPUT -p icmp --icmp-type 8 --source 192.168.1.2 -j LOG

そして

iptables -A OUTPUT -p icmp --icmp-type 0 -d 192.168.1.2 -j LOG

192.168.1.2から192.168.1.1にpingすると、要求が記録されるようです。

ただし、応答を録音することはできません。どんなアイデアがありますか?

//編集する


bash-5.1# iptables-save -c
# Generated by iptables-save v1.8.7 on Fri Apr  1 09:20:45 2022
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
[43:3612] -A INPUT -s 192.168.1.2/32 -p icmp -m icmp --icmp-type 8 -j LOG
[37:3108] -A OUTPUT -d 192.168.1.2/32 -p icmp -m icmp --icmp-type 0 -j LOG
COMMIT

両方のルールがOUTPUT ACCEPTにある理由はわかりませんが、次のようになります。iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
LOG        icmp --  192.168.1.2          anywhere             icmp echo-request LOG level warning

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
LOG        icmp --  anywhere             192.168.1.2          icmp echo-reply LOG level warning

ベストアンサー1

192.168.1.2から192.168.1.1へのpingを試みると、OUTPUTチェーンは要求転送を検索するために使用され、INPUTチェーンは応答受信を検索するために使用されるため、正しいiptablesは次のように生成されます.

iptables -A OUTPUT -p icmp --icmp-type 8 -s 192.168.1.2 -j LOG
iptables -A INPUT -p icmp --icmp-type 0 -d 192.168.1.2 -j LOG

おすすめ記事