Linux
netconsole 為每條消息添加前綴
我剛剛
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 副本。