bluetooth의 전송을 캡처한 패킷 데이터가 문제로 주어졌습니다. 데이터는 connection information, send, recv 등 있고 패킷내용을 보면 SCO라는 것이 적혀있습니다. SCO란 Connection의 종류 중 하나인데 주로 음성데이터 전송할때 SCO방식을 사용합니다. 그럼 해당 패킷은 음성데이터들이 있을 것이고, 블루투스로 음성을 전송하려면 일반 format(*.wav, *.mp3 등)이 아닌 *.raw형식으로 데이터가 전송됩니다.
*.raw파일의 내용을 패킷으로 보면 아래의 이미지처럼 표시되어 있어요! 4byte+48byte. 여기서 필요한 값은 헤더를 제외한 48byte인데 모든 패킷에서 무작정 parsing을 하게되면 잡음이 심하고 제대로 들리지 않습니다.
패킷에는 Sent와 Recv가 있는데, Sent파일만 Filter해서 *.pcap으로 save를 합니다. 그 후 parsing을 하는데 parsing하는 code는 간단합니다!