인터넷통신에서 패킷과 동영상 간의 관계에 대한 질문입니다.

조회수 868회

인터넷 통신에 대해서 잘 몰라 질문드려요. 인터넷 통신은 packet을 통하여 이루어 지는 것으로 알고 있는데, 유투브와 같은 비디오 스트리밍은 packet을 어떤 과정을 통해 변환하는 것인지 궁금해요. 그리고 wireshark를 통해서 packet capture를 한것을 또는 양식에 맞게 만든 packet을 인터넷 연결없이 실행할 수 있을까요?

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    말씀주신 유튜브를 기준으로 간략하게 설명드리겠습니다.

    일단 직접 유튜브에서 영상을 아무거나 틀어놓고 패킷을 캡쳐해보시면 아시겠지만
    일정 주기마다 영상의 일부분을 가져옵니다.
    (다음 주기의 영상 데이터를 아직 다 다운로드 못했는데 다운받은 부분까지 재생이 끝나버려서 다음 주기의 데이터가 다 받아질때까지 기다리는것을 우리는 버퍼링이라고 하죠.)

    이 패킷들을 모두 캡쳐하신 후에 적절히 합쳐 알맞은 코덱으로 디코딩하시면 온전한 영상을 감상하실 수 있습니다.

    예를 들어, 제가 좋아하는 노래의 뮤직비디오 영상 같은 경우에는 동영상에 오른쪽 마우스를 클릭하시고 전문 통계라는 항목을 클릭하신 후 나오는 정보에 Codecs를 보시게 되면 VP9코덱으로 인코딩된 영상임을 알 수 있습니다.

    덧붙여 유튜브를 비롯한 대부분의 유명 사이트들은 데이터를 요청하거나 받을때 HTTPS프로토콜을 이용하고 있습니다.
    HTTPS프로토콜은 패킷을 받을 사람(서버)만 복호화가 가능한 RSA라는 알고리즘으로 암호화가 되어있기 때문에 WireShark같은 패킷 스니핑 프로그램을 이용해서 패킷을 탈취해보면 온전한 데이터를 얻어보기가 힘듭니다.

    따라서 Fiddler같은 프록시 기반의 패킷 분석툴에 HTTPS 복호화 가능을 활성화 시켜놓고 테스트해보시는것을 권장드립니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)