Linux

netconsole 為每條消息添加前綴

  • October 10, 2018

我剛剛netconsole在我的 Ubiquiti 無線 LAN 接入點上啟用。他們執行基於 Linux Kernel 3.3.8 的自定義 OpenWRT 或 LEDE 版本。它可以工作,但它發送的消息總是包含一個額外的前綴。一邊dmesg讀一邊

[   73.690000] netconsole: remote port 6666

它被發送為

{d865 e557} [   73.690000] netconsole: remote port 6666

我用 , 確認了這一點wireshark,並netcat用作接收器。它始終包含一個前綴,{hhhh hhhh}其中包含h小寫十六進制數字。第二塊似乎總是e557,無論是什麼設備發送消息,而第一塊似乎不時變化,但似乎與設施、時間或嚴重性無關。

一些樣本:

{32f8 e557} [ 2107.350000] br0: port 2(ath0) entered disabled state
{32f8 e557} [ 2109.200000] Restarting system.
{d865 e557} [   73.690000] netconsole: local port 514
{d865 e557} [   73.690000] netconsole: local IP 10.1.0.10
{6d77 e557} [ 1215.920000] STOPPED EVENT for vap 1 (80f50000)

不幸的是,這個版本沒有,/dev/kmsg所以測試很不舒服。

這個前綴是什麼意思?

不幸的是,這是由於 driver/net/netconsole.c 的更新檔版本造成的。前四個十六進製字元是一個會話,在載入 netconsole 核心模組期間隨機化。後四個十六進製字元是 AP 的內部型號。您也可以通過cat /proc/ubnthal/board | grep boardid在AP上執行來獲得它。

要獲得 GPL 壓縮包,您必須聯繫支持並等待很長時間。而且我也沒有看到任何包含他們的 AP 的 GPL 副本。

引用自:https://unix.stackexchange.com/questions/466988