netconsole은 각 메시지에 접두사를 추가합니다.

netconsole은 각 메시지에 접두사를 추가합니다.

netconsole방금 Ubiquiti 무선 LAN 액세스 포인트를 활성화했습니다 . Linux 커널 3.3.8을 기반으로 하는 OpenWRT 또는 LEDE의 사용자 정의 버전을 실행합니다. 작동하지만 보내는 메시지에는 항상 추가된 접두사가 포함됩니다. dmesg읽는 동안

[   73.690000] netconsole: remote port 6666

그것은 다음과 같이 전송됩니다

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

나는 이것을 수신기로 wireshark사용하여 확인했습니다 netcat. 항상 소문자 16진수 {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때문에 테스트가 매우 불편합니다.

이 접두사는 무엇을 의미합니까?

답변1

불행하게도 이는 드라이버/net/netconsole.c의 패치 버전 때문입니다. 처음 4개의 16진수 문자는 세션이며 netconsole 커널 모듈을 로드하는 동안 무작위로 지정됩니다. 마지막 4개의 16진수 문자는 AP의 내부 모델 번호입니다. cat /proc/ubnthal/board | grep boardidAP에서 실행하여 얻을 수도 있습니다 .

GPL 타르볼을 얻으려면 지원팀에 문의하고 오랜 시간을 기다려야 합니다. 그리고 나는 그들의 AP를 다루는 GPL 사본을 본 적이 없습니다.

관련 정보