SYSLOGD가 OSX의 라우터에서 UDP 로그를 수신하도록하는 방법
문제
때때로 라우터가 나빠져 라우터 로그를 얻고 싶습니다.
일부 라우터에는 로그 뷰어가 내장되어 있지만 일부는 그렇지 않습니다. 대부분의 라우터에는 syslog를 사용하여 다른 호스트에게 로그를 보내는 시설이있는 것 같습니다.
OSX (클라이언트) 가이 로그를 받도록하려면 어떻게해야합니까? OSX에는 syslogd가 있지만 지침은 불투명합니다.
아마도 다른 클라이언트 응용 프로그램이 더 나을 것입니다. 그러나 방금 분해 된 인터넷에서 도구를 다운로드하지 않고 해킹 할 수있는 방법을 선호합니다 ...
OSX에는 Netcat이없고 기본적으로 사용하지 않았습니다. 그렇지 않으면 시도했을 것입니다.
해결책
OS X에서 사용할 수있는 Syslog-NG를 사용하지만 확실하지는 않지만 Wi-Fi 라우터에서 다음 3 줄로 로그 서버로 홈 네트워크를 통해 Syslog 메시지를 캡처합니다.
source net { udp(); };
destination wifirouter { file("/opt/var/log/wifirouter.log"); };
log { source(net); destination(wifirouter); };
그런 다음 WiFi 라우터를 사용하도록 구성되었습니다. Log Server의 IP 주소와 Wifirouter Identifier를 사용하도록 구성되었습니다. 특정 소스 IP 주소에서만 수락하도록 소스 라인을 수정할 수 있습니다.
다른 팁
주식 Mac OS Syslogd와 함께 필요한 "마법"은 다음과 같습니다.
syslogd의 시작 구성 편집 /system/library/launchdaemons/com.apple.syslogd.plist (루트이거나 'sudo vi'또는 좋아하는 다른 방법을 사용하여 이것을 편집해야합니다.)
(일부 버전에는 이미 필요한 섹션이 언급 된 것 같습니다. 그러나 내 중 하나는 그렇지 않았습니다.)
다음 후 :
<key>Sockets</key>
<dict>
...
<key>BSDSystemLogger</key>
<dict>
...
</dict>
이 섹션에서 추가 또는 무결점 (주요 "" "라인을 제거하십시오.
<key>NetworkListener</key>
<dict>
<key>SockServiceName</key>
<string>syslog</string>
<key>SockType</key>
<string>dgram</string>
</dict>
그런 다음 syslogd를 완전히 다시 시작합니다 (즉, 런치를 사용하여 다시 루트로 사용)
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
(이 질문/ 답변은 아마도 superuser.com에 속해 있다고 생각합니까? 누군가가 그것을 넘길 수있을 것입니다.)
참고로 바이너리 플리스 파일은 Xcode Suite에 포함 된 속성 목록 편집기 중 하나를 사용하여 편집 할 수 있습니다. 그렇지 않으면 타사 편집기 텍스트 Wrangler를 사용할 수 있습니다. 나는 그것을 시도하지 않았지만 bbedit은 TextWrangler와의 계보를 고려할 때 편집 할 수있을 것이라고 생각합니다.
OS X 10.7 이상 에서이 stackoverflow를 참조해야합니다. 대답 이 질문을 위해.