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
があります:UID
GID
UID=113 GID=118
次の方法を使用してユーザーを見つけることができます:
root@host_b:~# cat /etc/passwd | grep 113
しかし、2nd
および行については、ログにまたはは3rd
存在しません。UID
GID
質問:
次のネットワーク パケットを送信しているプログラムを見つけるにはどうすればよいでしょうか?
PROTO=ICMPv6 TYPE=136 CODE=0
注記:iptables ログによると、この「不明」なプログラムは着信 ICMPv6 パケットを受け入れ、発信 ICMPv6 パケットを送信しますが、パケットがルールによってドロップされると、iptables はその「不明」なプログラムの UID と GID をログに記録できません。
答え1
見る近隣探索プロトコルブロックされた ICMP メッセージは、ipv6 スタックに属します。それらをブロックすることは良い考えではありません。スタックはカーネルの一部であり、ユーザー プロセスはありません。ユーザー プロセスの UID/GID はありません。