iptables ログからプログラムを見つける方法

iptables ログからプログラムを見つける方法

Ubuntu 22.04 で ping をテストする:

Host A IPv6: 1111:1111:1111:1111:1111:1111:1111:1111
Host B IPv6: 2222:2222:2222:2222:2222:2222:2222:2222

ホストA:

次に、次の bash コマンドを使用してホスト A から ping を実行します。

root@host_a:~# ping -6 2222:2222:2222:2222:2222:2222:2222:2222

ホストB:

iptables はいくつかのパケットをドロップし、それをファイルに記録します:

12月7日 18:21:52 host_b カーネル: [ 988.996335] 出力がドロップされました: IN= OUT=ens33 SRC=192.168.1.1 DST=192.168.2.1 LEN=83 TOS=0x00 PREC=0x00 TTL=64 ID=52289 PROTO=UDP SPT=41151 DPT=53 LEN=63 UID=113 GID=118

12 月 7 日 18:21:52 host_b カーネル: [ 988.998359] 出力がドロップされました: IN= OUT=ens33 SRC=2222:2222:2222:2222:2222:2222:2222:2222 DST=1111:1111:1111:1111:1111:1111:1111:1111 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0

12 月 7 日 18:21:53 host_b カーネル: [ 990.001075] 出力がドロップされました: IN= OUT=ens33 SRC=2222:2222:2222:2222:2222:2222:2222:2222 DST=1111:1111:1111:1111:1111:1111:1111:1111 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0

から、および情報first log lineがあります:UIDGID

UID=113 GID=118

次の方法を使用してユーザーを見つけることができます:

root@host_b:~# cat /etc/passwd | grep 113

しかし、2ndおよび行については、ログにまたはは3rd存在しません。UIDGID

質問:

次のネットワーク パケットを送信しているプログラムを見つけるにはどうすればよいでしょうか?

PROTO=ICMPv6 TYPE=136 CODE=0

注記:iptables ログによると、この「不明」なプログラムは着信 ICMPv6 パケットを受け入れ、発信 ICMPv6 パケットを送信しますが、パケットがルールによってドロップされると、iptables はその「不明」なプログラムの UID と GID をログに記録できません。

答え1

見る近隣探索プロトコルブロックされた ICMP メッセージは、ipv6 スタックに属します。それらをブロックすることは良い考えではありません。スタックはカーネルの一部であり、ユーザー プロセスはありません。ユーザー プロセスの UID/GID はありません。

関連情報