WOL을 탐지하기 위한 심층 패킷 검사

WOL을 탐지하기 위한 심층 패킷 검사

WOL(Wake on LAN) 패킷을 수신하고 싶습니다.
WOL 패킷은 UDP/TCP/모든 프로토콜(예, TCP라도 가능하지만 아마도 쓸모가 없을 것임)일 수 있으므로 WOL 특정 패턴에 대해 들어오는 모든 패킷을 확인해야 합니다.

패턴이 6xFF + 16xtarget-MAC 주소(따라서 96개의 가변 바이트가 있음)이기 때문에 netfilter를 사용하여 직접 수행할 수 없습니다.

내가 찾은 도구는 많은 프로토콜을 감지할 수 있지만 그 중 어느 것도 WOL을 감지할 수 없습니다.

모든 패킷을 검사하고 특정 패턴이 감지되면 스크립트를 실행하는 간단한 방법을 알고 계십니까?

답변1

를 사용하면 ngrep다음을 수행할 수 있습니다.

ngrep '\xff{6}(.{6})\1{15}'

0xff를 6번 일치하고 그 뒤에 6바이트가 온 다음 동일한 6바이트가 15번 반복됩니다. 생성된 패킷과 일치하는 것을 확인했습니다 wakeonlan.

ngrep스크립팅에 유용한 옵션이 있습니다(예: -W single일치하는 패킷당 한 줄, -l비트 버퍼링, -t타임스탬프, -q기타 출력 음소거).

관련 정보