システム メッセージがどこから発生しているかを調べるにはどうすればよいですか (dmesg / journalctl / メッセージの「バッファーのテスト」)?

システム メッセージがどこから発生しているかを調べるにはどうすればよいですか (dmesg / journalctl / メッセージの「バッファーのテスト」)?

ここ数日、システム ログ/ジャーナルに 1 秒以内に 1,000 回以上メッセージが記録されています。その発生元を調べるにはどうすればよいですか?

# journalctl --system | grep "testing the buffer" | uniq --count
1522 Apr 06 13:49:31 laptop unknown: testing the buffer

つまり、「不明」による同じメッセージが 1522 回送信されたことになります。これは悪意のあるものでしょうか?

# find / -xdev -type f -print0 | xargs -0 grep "testing the buffer" | grep -v /var/log/journal
Exit 1

システム ファイルにはその文字列は含まれていません。

システムはsystemd-journaldシステムログに使用します。

答え1

最新のカーネル (5.6.x) に関連しているようです。

ジャーナルを詳細レベルで追跡すると

sudo journalctl -f -o verbose

_TRANSPORT=kernel が確認できます

Sun 2020-04-12 09:32:38.852081 CEST [s=ca0e47a50a2047e483013075418f4a72;i=1d58f89;b=343f4563d34649baad6f57aacc0320a1;m=e9cad4480;t=5a312f895b1f1;x=16d4d0c3d713857c]
    _MACHINE_ID=*******
    _HOSTNAME=*******
    _TRANSPORT=kernel
    PRIORITY=4
    SYSLOG_FACILITY=1
    MESSAGE=testing the buffer
    _BOOT_ID=343f4563d34649baad6f57aacc0320a1
    _SOURCE_MONOTONIC_TIMESTAMP=62758810437

OpenSUSEには確かにバグがリストされているhttps://bugzilla.opensuse.org/show_bug.cgi?id=1168664(カーネル関連ですが、私はUbuntuを使用しています)minotの残りとして修正されましたhttps://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=41c55ea6c2a7ca4c663eeec05bdf54f4e2419699

幸いなことに、心配する必要はありません。修正がパッケージ化されたカーネルにマージされると、この問題は解消されます...

答え2

  1. 文字列「バッファをテストしています」はカーネル5.6.5ファイル内にあります./net/bpfilter/main.c
  2. この無害な DEBUG メッセージは、将来のカーネル リリースでは表示されなくなると予想されます。
  3. このメッセージのソースは次のようになりました:
    1. bashシェルでカーネル5.6.5ソースツリーのルートに入る
    2. 実行中:
      私はfind . -name "*.c"
      する
      $iをエコーする
      grep "バッファのテスト" $i
      完了 > pq.log
    3. ファイルpq.log内で、開くごとに文字列を検索し、ファイルを調べる
      vi pq.log

関連情報